{"id":20162581,"url":"https://github.com/zdharma-continuum/zconvey","last_synced_at":"2025-09-21T12:32:56.833Z","repository":{"id":46194256,"uuid":"423383734","full_name":"zdharma-continuum/zconvey","owner":"zdharma-continuum","description":"Send notifications and commands to all or selected Zshell instances","archived":false,"fork":false,"pushed_at":"2024-05-12T19:41:57.000Z","size":157,"stargazers_count":2,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-11-14T00:29:02.907Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://zdharma.org","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zdharma-continuum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-11-01T08:03:38.000Z","updated_at":"2024-02-16T05:24:43.000Z","dependencies_parsed_at":"2024-04-16T14:36:25.184Z","dependency_job_id":"e52c6e98-8d7f-4ae3-bc23-d3ff79e702e6","html_url":"https://github.com/zdharma-continuum/zconvey","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdharma-continuum%2Fzconvey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdharma-continuum%2Fzconvey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdharma-continuum%2Fzconvey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdharma-continuum%2Fzconvey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zdharma-continuum","download_url":"https://codeload.github.com/zdharma-continuum/zconvey/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233753377,"owners_count":18724823,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T00:25:50.359Z","updated_at":"2025-09-21T12:32:51.500Z","avatar_url":"https://github.com/zdharma-continuum.png","language":"Shell","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=D6XDCHDSBDSDG"],"categories":["Plugins"],"sub_categories":["ZSH on Windows"],"readme":"[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=D6XDCHDSBDSDG)\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n**Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)*\n\n- [Introduction](#introduction)\n- [Zstyles](#zstyles)\n- [Installation](#installation)\n  - [Zinit](#zinit)\n  - [Antigen](#antigen)\n  - [Oh-My-Zsh](#oh-my-zsh)\n  - [Zgen](#zgen)\n- [Information](#information)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n# Introduction\n\nZconvey integrates multiple Zsh sessions. They are given an ID, optionally a NAME (both unique), and can send commands\nto each other. Use this to switch all your Zshells to given directory, via `zc-all cd $PWD`! Also, there's\n`zc-bg-notify` **script** (not a function), that will show notification under prompt of every active Zsh session. You\ncan call this script from any program, Bash or GUI.\n\nVideo – view on [asciinema](https://asciinema.org/a/156726). You can resize the video by pressing `Ctrl-+` or `Cmd-+`.\n\n[![asciicast](https://asciinema.org/a/156726.png)](https://asciinema.org/a/156726)\n\n# Zstyles\n\nThe values being set are the defaults. They must be set before loading the plugin.\n\n```zsh\n# How often to check if there are new commands (in seconds)\nzstyle \":plugin:zconvey\" check_interval \"2\"\n\n# If shell is busy for 22 seconds, the received command will expire and not run\nzstyle \":plugin:zconvey\" expire_seconds \"22\"\n\n# Display logo at Zsh start (\"text\" – display text, \"none\" – no greeting)\nzstyle \":plugin:zconvey\" greeting \"logo\"\n\n# zc won't ask for missing data (\"1\" has the same effect as always using -a\n# option)\nzstyle \":plugin:zconvey\" ask \"0\"\n\n# Don't execute zc-ls after doing rename (with zc-rename or zc-take)\nzstyle \":plugin:zconvey\" ls_after_rename \"0\"\n\n# Should use faster zsystem's flock when it's possible?\n# (default true on Zsh \u003e= 5.3, will revert to mixed zsystem/flock on older\n# Zshells)\nzstyle \":plugin:zconvey\" use_zsystem_flock \"1\"\n\n# To put commands on command line, Zconvey can use small program \"feeder\". Or\n# \"zsh\" method, which currently doesn't automatically run the command – to use\n# when e.g. feeder doesn't build (unlikely) or when occurring any problems\n# with it\nzstyle \":plugin:zconvey\" output_method \"feeder\"\n\n# Use zsh/datetime module for obtaining timestamp. \"date\" – use date command\n# (fork)\nzstyle \":plugin:zconvey\" timestamp_from \"datetime\"\n```\n\n# Installation\n\n**The plugin is \"standalone\"**, which means that only sourcing it is needed. So to install, unpack `zconvey` somewhere\nand add\n\n```zsh\nsource {where-zconvey-is}/zconvey.plugin.zsh\n```\n\nto `zshrc`.\n\nIf using a plugin manager, then `Zinit` is recommended, but you can use any other too, and also install with `Oh My Zsh`\n(by copying directory to `~/.oh-my-zsh/custom/plugins`).\n\nThe plugin integrates with my other plugin [Zsh-Select](https://github.com/zdharma-continuum/zsh-select). Install it\nwith e.g. Zinit to be able to use `-a` option for `zc` command. It also integrates with\n[marzocchi/zsh-notify](https://github.com/marzocchi/zsh-notify), via `cmds/plg-zsh-notify` script.\n\n## [Zinit](https://github.com/zdharma-continuum/zinit)\n\nAdd `zinit load zdharma-continuum/zconvey` to your `.zshrc` file. Zinit will clone the plugin the next time you start\nzsh. To update issue `zinit update zdharma-continuum/zconvey`.\n\nZinit can load in [turbo-mode](https://github.com/zdharma-continuum/zinit#turbo-mode-zsh--53), below is an example\nconfiguration, together with adding `zc-bg-notify` to `$PATH`:\n\n```zsh\nzinit ice wait\"0\"\nzinit light zdharma-continuum/zconvey\nzinit ice wait\"0\" as\"command\" pick\"cmds/zc-bg-notify\" silent\nzinit light zdharma-continuum/zconvey\n```\n\n## Antigen\n\nAdd `antigen bundle zdharma-continuum/zconvey` to your `.zshrc` file. Antigen will handle cloning the plugin for you\nautomatically the next time you start zsh.\n\n## Oh-My-Zsh\n\n1. `cd ~/.oh-my-zsh/custom/plugins`\n1. `git clone git@github.com:zdharma-continuum/zconvey.git`\n1. Add `zconvey` to your plugin list\n\n## Zgen\n\nAdd `zgen load zdharma-continuum/zconvey` to your .zshrc file in the same place you're doing your other `zgen load`\ncalls in.\n\n# Information\n\nThere are following commands:\n\n- `zc` – sends to other session; use \"-a\" option to be asked for target and a command to send\n- `zc-all` – the same as `zc`, but targets are all other active sessions (with `-f` also busy sessions)\n- `zc-rename` – assigns name to current or selected session; won't rename if there's a session with the same name\n- `zc-take` – takes a name for current or selected sessions, schematically renames any conflicting sessions\n- `zc-ls` – lists all active and named sessions\n- `zc-id` – shows ID and NAME of current session\n- `zc-logo` – the same as `zc-id`, but in a form of an on-screen logo; bound to Ctrl-O Ctrl-I\n- `zc-bg-notify` – in subdirectory `cmds`, link it to `/usr/local/bin`, etc. or load with e.g. Zinit\n\nThe main command is `zc` (yet it is rather rarely used, I'm always sending to all sessions with `zc-all`). It is used to\nexecute commands on other sessions. `zc-ls` is the main tool to obtain overall information on sessions. `zc-take` is a\nnice rename tool to quickly name a few sessions. Keyboard shortcut Ctrl-O Ctrl-I will show current session's ID and NAME\nin form of an on-screen logo.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzdharma-continuum%2Fzconvey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzdharma-continuum%2Fzconvey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzdharma-continuum%2Fzconvey/lists"}