A terminal workspace with batteries included | patched for cargo-deb packaging by pogmommy
Find a file
a-kenji 0b6001305b
feat: add capability to dispatch actions from cli (#1265)
* feat: add capability to dispatch actions from cli

Add capability to dispatch actions from the cli.

Can be invoked through `zellij action [actions]`

Automatically sends the action either to the current session,
or if there is only one session to the single session.

If there are multiple sessions, and no session is specified it will
error out.

Example:
1.
```
zellij action "[NewTab: , NewTab: ]"
```
2.
```
zellij -s fluffy-cat action '[NewPane: , WriteChars: "echo Purrr\n" ]'
```
3.
```
zellij -s fluffy-cat action '[ CloseTab, ]
```

* add: error message on malformed input

Add an error message on malformed input, for the `action`'s dispatch.
Rather than resulting in a panic.

* add: function to query the client id

* add: send specific actions to certain clients

Adds ability to send actions, that don't impact the server state
to all connected clients. For example `MoveFocus`

* add: client_id to non blocking actions

* chore(fmt): `cargo fmt`

* add: pick correct session, if there is exactly one

* add: use correct `client_id` for detach action

* add: make `[ ]` opaque to the user

* add: miette to toplevel to improve error message

* add: fake client reading configuration

Add the fake client reading configuration files,
this allows actions, that rely on configuration work
correctly. This is an intermediate solution, and should ideally not
be needed. It would be better if most of this state would be handled
by the server itself.

* chore(fmt): rustmt

* add: ability to detach multiple clients

Add ability to detach multiple clients at the same time.

* remove: obsolete functionality

* remove: unused functionality

* add: send correct action upon exiting

* chore(update): cargo update
2022-06-15 11:20:06 +02:00
.cargo feat: add capability to dispatch actions from cli (#1265) 2022-06-15 11:20:06 +02:00
.github ci: add checksum for release binary (#1482) 2022-06-11 11:18:29 +09:00
assets chore(release): v0.30.0 2022-06-07 15:31:52 +02:00
default-plugins fix: tab selection by left click in compact-bar (#1485) 2022-06-11 20:43:36 +02:00
docs fix: update architecture-docs (#1487) 2022-06-11 15:23:11 +02:00
example fix(themes): gruvbox-dark (#1499) 2022-06-14 22:34:05 +02:00
nix add(plugin): compact-bar & compact layout (#1450) 2022-06-03 11:14:38 +02:00
src feat: add capability to dispatch actions from cli (#1265) 2022-06-15 11:20:06 +02:00
zellij-client feat: add capability to dispatch actions from cli (#1265) 2022-06-15 11:20:06 +02:00
zellij-server feat: add capability to dispatch actions from cli (#1265) 2022-06-15 11:20:06 +02:00
zellij-tile chore(version): bump development version 2022-06-07 15:38:56 +02:00
zellij-tile-utils chore(version): bump development version 2022-06-07 15:38:56 +02:00
zellij-utils feat: add capability to dispatch actions from cli (#1265) 2022-06-15 11:20:06 +02:00
.editorconfig add: editorconfig (#1156) 2022-03-02 12:12:26 +01:00
.envrc fix: .envrc 2022-03-11 18:37:43 +01:00
.git-blame-ignore-revs add: trailing comma in match blocks 2022-06-10 20:05:02 +02:00
.gitignore add: result-* to gitignore (#1144) 2022-02-28 08:17:54 +01:00
.rustfmt.toml add(style): add trailing comma in match blocks (#1483) 2022-06-10 20:03:13 +02:00
Cargo.lock feat: add capability to dispatch actions from cli (#1265) 2022-06-15 11:20:06 +02:00
Cargo.toml feat: add capability to dispatch actions from cli (#1265) 2022-06-15 11:20:06 +02:00
CHANGELOG.md chore(changelog): update clap 2022-06-14 18:33:16 +02:00
CODE_OF_CONDUCT.md docs(coc): initial 2020-10-27 11:11:10 +01:00
CONTRIBUTING.md docs(contrib): fix markup 2022-03-04 17:43:31 +01:00
default.nix fix(nix): fix makeDesktopItem (#1215) 2022-03-13 13:43:29 +01:00
docker-compose.yml fix(docker-compose): Use the key-value style for environments to prevent human errors (#840) 2021-11-09 20:29:22 +01:00
flake.lock flake.lock: Update (#1489) 2022-06-12 11:01:40 +02:00
flake.nix fix: remove flake-utils follows attribute (#1341) 2022-04-24 20:25:58 +02:00
GOVERNANCE.md docs(governance): add myself to governance 2022-01-07 23:46:57 +09:00
LICENSE.md Update references of mosaic to Zellij in md files 2021-02-10 12:12:19 +05:30
Makefile.toml add(ci/makefile): run clippy on all features (#1479) 2022-06-10 12:21:01 +02:00
README.md add(README): quick links to documentation (#1473) 2022-06-09 23:23:34 +02:00
rust-toolchain.toml build: strip debug symbols (#1177) 2022-05-22 12:48:34 +02:00
shell.nix fix(nix): fix makeDesktopItem (#1215) 2022-03-13 13:43:29 +01:00
treefmt.toml add(nix): treefmt / alejandra (#1201) 2022-03-10 16:27:39 +01:00


logo
Zellij

Discord Chat Matrix Chat Zellij documentation Built with nix

demo

[Installation] [Overview] [Configuration] [Templates] [FAQ]

What is this?

Zellij is a workspace aimed at developers, ops-oriented people and anyone who loves the terminal. At its core, it is a terminal multiplexer (similar to tmux and screen), but this is merely its infrastructure layer.

Zellij includes a layout system, and a plugin system allowing one to create plugins in any language that compiles to WebAssembly.

For more details about our future plans, read about upcoming features in our roadmap.

Zellij was initially called "Mosaic".

How do I install it?

You can install with cargo:

cargo install zellij

Or if want to a prebuilt binary, you can download it from our Releases, or use cargo-binstall.

cargo-binstall zellij

Or you can also use Third Party Repositories.

Try Zellij without installing

bash/zsh:

bash <(curl -L zellij.dev/launch)

fish:

bash (curl -L zellij.dev/launch | psub)

How do I get involved?

Zellij is a labour of love built by an enthusiastic team of volunteers. We eagerly welcome anyone who would like to join us, regardless of experience level, so long as they adhere to our code of conduct.

Please report any code of conduct violations to aram@poor.dev

To get started, you can:

  1. Take a look at the "Issues" in this repository - especially those marked "Good first issue". Those with the "Help Wanted" tag probably don't have anyone else working on them.
  2. Drop by our chat and ask what you can work on, or how to get started.
  3. Open an issue with your idea(s) for the project or tell us about them in our chat.

How do I start a development environment?

  • Clone the project
  • Install cargo-make with cargo install --force cargo-make
  • In the project folder, for debug builds run: cargo make run
  • To run all tests: cargo make test

For more build commands, see Contributing.md.

Configuration

For configuring Zellij, please see the Configuration documentation.

What is the current status of the project?

Zellij should be ready for everyday use, but it's still classified as a beta. This means that there might be a rare crash or wrong behaviour here and there, but that once found it should be fixed rather quickly. If this happens to you, we would be very happy if you could open an issue and tell us how to reproduce it as best you can.

Roadmap

Presented here is the project roadmap, divided into three main sections.

These are issues that are either being actively worked on or are planned for the near future.

If you'll click on the image, you'll be led to an SVG version of it on the website where you can directly click on every issue

roadmap

License

MIT