Zellij is a workspace aimed at developers, ops-oriented people and anyone who loves the terminal

Overview


logo
Zellij

demo

Discord Chat

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 it through cargo:

cargo install zellij

Or you can download a prebuilt binary from our Releases.

As the default plugins make use of characters that are mostly only found in nerdfonts, you get the best experience either with installing nerdfonts, or telling the plugins that you request a ui, that does not rely on such characters with zellij options --simplified-ui, or putting simplified_ui: true in the config file.

How do I hack on it? (Contributing)

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

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.

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.

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.

And most importantly, please read our code of conduct.

Roadmap

This section contains an ever-changing list of the major features that are either currently being worked on, or planned for the near future.

  • A web client/server - Connect to Zellij through the browser instead of opening a terminal window. Either on a local or remote machine.
  • Share sessions with others - See the focused window and cursor of other users, work on a problem or a code base together in real time.
  • Support for multiple terminal windows across screens - Transfer panes across different windows and screens by having them all belong to the same session.
  • Smart layouts - expand the current layout system so that it rearranges and hides panes intelligently when new ones are added or the window size is changed.

License

MIT

Comments
  • status-bar: Reflect actual current keybindings

    status-bar: Reflect actual current keybindings

    Make the status-bar plugin reflect the currently active key bindings.

    At the moment, the default key bindings are hard-coded into the plugin for the first line which indicates how to switch modes. This PR attempts to parse the currently active keybindings in the plugin and make the available in the status line instead.

    Currently this will focus mostly on the first line of the status bar, but extending it to the second line is probably possible, too. Ideally, it will recognize if all keybindings use the same modifier and the print that as superkey (at the beginning of the line), while intelligently shortening the key hints the way it is currently done.

    opened by har7an 90
  • Open pane scrollback in default editor

    Open pane scrollback in default editor

    The experience should be:

    1. Press a Zellij shortcut (something like ctrl+s + e)
    2. Have the current pane replaced with your default editor, opened to a temporary file containing all the scrollback of the terminal pane and scrolled to the same line
    3. Search, save, copy/paste, do whatever you want
    4. When you quit the editor (or press ctrl+s + e again), the original pane comes back

    Depends on: https://github.com/zellij-org/zellij/pull/1375

    ease of use 
    opened by imsnif 77
  • Sixel support

    Sixel support

    Several terminals already support Sixels, like xterm (in vt340 mode), wezterm, mlterm, foot, (kitty has its own thing) while others are working on it like Alacritty and Microsoft Terminal.

    The thing is right now there's no yet a terminal multiplexer that really supports sixels. Screen and tmux don't and probably never will. (Althought there's been a series of tmux forks trying to fix that (latest) they're unofficial, unstable, and personally I've never been able to make them work).

    It would be beyond fantastic if Zellij would be the first one to support this feature, and help bridge the gap in the road into a future where CLI apps can display pixel graphics inside terminal emulators. Soon more interesting apps will be created that makes use of it.

    Disclaimer: I'm currently developing the Rust bindings for notcurses which will feature pixel support in the next version 2.3.0.

    enhancement 
    opened by joseluis 56
  • PermissionDenied even when built with features=disable_automatic_asset_installation

    PermissionDenied even when built with features=disable_automatic_asset_installation

    zellij --version: zellij 0.25.0 tput lines: 72 tput cols: 271 uname -av: Linux ALESSAND-F1E8 5.16.2-rt-rt19-x86_64 #5 SMP PREEMPT Tue Feb 15 19:20:22 CET 2022 x86_64 AMD Ryzen 5 3600 6-Core Processor AuthenticAMD GNU/Linux

    Further information I've built zellij with features=disable_automatic_asset_installation and installed it in /usr but it will crash with

    zellij options --simplified-ui true
    thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 1, kind: PermissionDenied, message: "Operation not permitted" }', src/install.rs:33:38
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    

    relevant part of strace

    statx(AT_FDCWD, "/home/ale/.config/zellij", AT_STATX_SYNC_AS_STAT, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFDIR|0755, stx_size=22, ...}) = 0
    openat(AT_FDCWD, "/home/ale/.config/zellij/layouts/default", O_RDONLY|O_CLOEXEC) = -1 ENOENT (File o directory non esistente)
    openat(AT_FDCWD, "/home/ale/.config/zellij/layouts/default.yaml", O_RDONLY|O_CLOEXEC) = -1 ENOENT (File o directory non esistente)
    ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
    getrandom("", 0, 0)                     = 0
    getrandom("\xc8\x7e\xd8\x18\x8b\x2b\x3d\xa1\x11\x80\xe9\x26\xc7\x0e\x95\xc8\x2a\xfe\x98\x6b\xc7\xbc\x04\x1c\xab\xef\x83\xf0\x75\xe0\xfd\xeb"..., 2048, 0) = 2048
    openat(AT_FDCWD, "/run/user/1000/zellij/0.25.0", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (File o directory non esistente)
    statx(AT_FDCWD, "/home/ale/.local/share/zellij", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffc642d4300) = -1 ENOENT (File o directory non esistente)
    statx(AT_FDCWD, "/usr/share/zellij", AT_STATX_SYNC_AS_STAT, STATX_ALL, {stx_mask=STATX_ALL|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFDIR|0700, stx_size=42, ...}) = 0
    mmap(NULL, 548864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76fee3d19000
    mmap(NULL, 585728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76fee3c8a000
    openat(AT_FDCWD, "/usr/share/zellij/VERSION", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permesso negato)
    mkdir("/usr/share/zellij/plugins", 0777) = -1 EACCES (Permesso negato)
    statx(AT_FDCWD, "/usr/share/zellij/plugins", AT_STATX_SYNC_AS_STAT, STATX_ALL, 0x7ffc642d4060) = -1 EACCES (Permesso negato)
    

    I already have plugins in /usr/share/zellij/plugins and layouts in /usr/share/zellij/layouts because I've installed them with a gentoo ebuild Also I have a config file in ~/.config/zellij/config.yaml

    tree /usr/share/zellij/
    /usr/share/zellij/
    ├── layouts
    │   ├── multiple_tabs_layout_htop_command.yaml
    │   ├── multiple_tabs_layout.yaml
    │   ├── run_htop_layout_with_plugins.yaml
    │   └── run_htop_layout.yaml
    ├── plugins
    │   ├── status-bar.wasm
    │   ├── strider.wasm
    │   └── tab-bar.wasm
    └── VERSION
    
    bug 
    opened by Alessandro-Barbieri 50
  • Zellij replaces random chars with whitespace on the prompt

    Zellij replaces random chars with whitespace on the prompt

    Don't have much time to find a complete reproduction, apologies...

    • I have a prompt with a wide unicode character (🕙); that's when/because I started using starship.rs
    • at the same time, I upgraded to zellij 0.21.0 (from 0.20.1)
    • when I go back and forth to edit my current command, sometimes characters under/right after my cursor are replaced with whitespace
    • this replacement is only visual: the actual content is "correct" (when I hit ctrl+L to clear the screen, it shows what it should show)
    compatibility 
    opened by jovandeginste 41
  • Proposal: Allow use of system clipboard

    Proposal: Allow use of system clipboard

    Currently the copy to clipboard is done using OSC52 which is not supported by some linux terminals like gnome-terminal or xfce4-term etc.

    The proposal here is to allow users to set a specific copy command.

    zellij options --copy-command "xclip -sel clip" or zellij options --copy-command "wl-copy"

    would be two examples for x11 and wayland.

    This is my first ever rust code so I'm happy to hear any feedback.

    This was tested on Ubuntu using gnome-terminal

    opened by djpate 36
  • Initial mouse support

    Initial mouse support

    • enable mouse support (termion MouseTerminal)
    • handle scroll up and down events

    This is a very initial WIP for #175 now, with quite a few things that need discussing in more detail, but I figure it's a start:

    • have mouse support be an option?
    • once mouse reporting is turned on it left clicks are captured, but shift+left click allows text selection; right clicks seem to be forwarded normally, not sure how/if mouse input can be passed through
    opened by tlinford 36
  • Feature request: How to dump the terminal output

    Feature request: How to dump the terminal output

    Hello,

    I'm a long time tmux user, I'm in the process of switching to zellij (due to the floating panels) and I'm missing the search in buffer.

    I've seen in a post on reddit that you intend to implement a command to dump the terminal output (with all the scroll) into a file. I think this is an amazing idea which would leave tmux so far behind.

    I would be interested in this.

    Can you please explain what it involves, from a development point of view? I'm a developer, I've developed in my life in many languages, but not in Rust. However, I would be willing to see what I can come up with.

    action 
    opened by cosminadrianpopescu 35
  • plugins: rework plugin loading

    plugins: rework plugin loading

    ~~This PR attempts to recover from a plugin version mismatch for all zellij builtin plugins. We do this with some future modifications in mind that will include making certain parts of the loadout initialization non-blocking, which will improve application performance but prevent us from interacting with the user via stdout/stdin.~~

    ~~The goal is to "preload" plugins and store them in a cache, which will allow us to greatly improve loading speed for subsequent plugin instantiations.~~

    This PR entirely reworks the way plugins are loaded.

    Current State

    Previously, when starting a plugin the following actions happened (shortened for readability):

    • Check if a plugin exists at the given location
    • Load the plugin
    • Store the plugin in a cache folder on disk for faster subsequent access
    • Check the plugin version
    • Start the plugin

    This approach had a number of drawbacks:

    1. All plugins are always loaded from disk: Regardless whether the same plugin has been loaded before, it will always require a disk access. This can lead to all sorts of errors, most recently displayed in #1925.
    2. All plugins are serialized to a cache folder: In Linux, this is usually found in ~/.cache/zellij and can grow quite large as users either develop the application and frequently run dev versions of the plugins, or use zellij for a large number of releases
    3. Loading layouts is slow: This is because loading a layout includes synchronously loading all the plugins inside the layout, too. Since the plugins are loaded from the cache folder on disk, this takes a significant amount of time. Note that e.g. opening a new tab also includes loading a layout.
    4. Internal plugins can grow out-of-sync with the application: This mostly relates to people developing zellij. This was first handled by placing a VERSION file in the plugin folder, which didn't solve issues as expected. It was subsequently improved by introducing plugin version checks, which give the user a clear error description. However, it is still a suboptimal experience.

    Improving the situation

    This PR tries to improve the situation in a number of ways.

    Do not store internal plugins to disk

    All builtin, core plugins (status-bar, tab-bar, etc.) are now loaded directly from the application binary, where they have been stored before, too. The difference is that previously, during startup, the plugins were dumped to the PLUGIN_DIR folder on disk if a difference in the VERSION files content made this necessary.

    Introduce a plugin cache

    The cache maps a plugins path to the plugins binary (bytes) and is held in memory. When zellij starts, the cache is empty. As plugins are loaded the cache is consulted and if, for a given path, no plugin binary is found, it is loaded from disk instead. This has a number of benefits:

    • We do not dump ephemeral artifacts to a cache folder any longer
    • Subsequent loading of the same plugin doesn't involve any new disk access anymore
    • Plugin loading times are greatly increased

    Breakage introduced in this PR

    Since we do no longer dump the builtin plugins to disk (previously termed "automatic asset installation"), the feature flag disable_automatic_asset_installation has been removed entirely. Also, we no longer use a PLUGIN_DIR to load plugins from and consequently no longer check the contents of this directory.

    This will most likely bother application distributors, because the only way to publish the builtin plugins alongside zellij now is to ship a custom default layout that explicitly loads the plugins from a location on the disk. Note, however, that even in this case the builtin plugins are, as of now, still present and part of the application binary.

    opened by har7an 34
  • Random text input from mouse actions

    Random text input from mouse actions

    Basic information

    zellij --version: 0.21.0 OS: macOs Monterey

    Screen Shot 2021-12-09 at 21 44 46

    This issue starts (apparently) randomly, but once it starts I can not actually stop it , and scrolling/entering commands becomes impossible as more input gets written and terminal scrolls randomly. The issue happens with multiple terminal emulators including WezTerm and default mac terminal.

    Unfortunately I can not yet exactly reproduce the issue (which might have something to do with mouse reporting getting enabled?), but please let me know if there is any further information I can provide.

    bug compatibility 
    opened by zareami10 32
  • Feature: Support termux

    Feature: Support termux

    It would be awesome if you could run Zellij in Termux on Android. Currently it fails to build because wasmer doesn't support Android. There's an upstream issue at https://github.com/wasmerio/wasmer/issues/2099 but I thought it would be good to track it here too.

    I also wonder if it would be feasible to add a Cargo feature to make the whole plugin system optional. I'm not super familiar with zellij yet, so I'm not sure how much critical functionality comes from the plugins.

    enhancement build 
    opened by dead10ck 31
  • feat: add args to new-tab action

    feat: add args to new-tab action

    fix #1967

    I added args to NewTab action in keybind. This can be used like this:

    tab {
            ...
            bind "n" {
                NewTab {
                    cwd "/tmp"
                    layout "example2.kdl"
                    name "Hello"
                };
                SwitchToMode "Normal"; 
            }
            ...
    }
    

    It can assign various layouts to key combinations.

    opened by jaeheonji 0
  • Feature: Allow MoveFocus to wrap

    Feature: Allow MoveFocus to wrap

    For example, if I am in this pane: image

    Wrapping would allow me to `MoveFocus "right" and still go to the pane on the left: image

    This is particularly useful in situations where there might be a high amount of panes such as this: image Now moving from pane#5 to pane#1 is as simple as moving the focus right.


    This could be implemented in a number of ways, some possible options:

    • global config option (enable wrapping globally or not)
    • giving MoveFocus another parameterslike wrap
    • having a completely different action MoveFocusWrapped (this is probably overkill)
    opened by jemag 0
  • cd in strider

    cd in strider

    Hi, I just got started using Zellij and have discovered the strider plugin.

    I'm not sure if this is because I'm running this on Windows inside WSL, but I can't go "up" out of my home directory (nothing happens). After checking the source code, there doesn't seem to be a way to provide a path either (like /mnt/myfiles).

    Would it be possible to add this? Something like hitting c popping a small input box?

    Another "nice to have" feature I was thinking of would be providing command, which when run inside a pane updates the strider working directory to the panes current working directory, but I don't know how feasible this is.

    opened by panki27 0
  • Improve client disconnect handling

    Improve client disconnect handling

    This PR includes a few changes to the behavior when the session server disconnects a client as reaction to the client not handling messages quick enough. This happens for example when the system is under high load or the terminal application is blocked by some sort of user interaction (hence, keeping it from handling server messages). The server will continue sending ServerToClientMsg messages to all connected clients via an IPC channel. Currently, if the channel fills up the client is disconnected and a "Buffer full" error message is displayed to the user.

    Now, we have a dynamically sized retry queue that stores messages that do not fit into the IPC channel. At the moment the queue is limited to 1000 messages, with the IPC channel itself holding at most 50 messages. This should drastically decrease disconnections caused by temporary flooding of STDOUT or high system load.

    The retry queue is implemented as vector and allocated dynamically. Hence, on clients that are quick enough and never saw a "Buffer full" error before, it will not take any extra space. Slower clients will allocate the retry queue as needed.

    In addition, when the IPC channel is full and messages are stored in the retry queue for the first time, a warning is now logged:

    WARN   |zellij_server::os_input_o| 2023-01-08 08:33:48.696 [main      ] [zellij-server/src/os_input_output.rs:382]: client 1 is processing server messages too slow
    

    If the client manages to catch up, a corresponding message is logged, too:

    INFO   |zellij_server::os_input_o| 2023-01-08 08:43:23.394 [main      ] [zellij-server/src/os_input_output.rs:407]: client 1 caught up processing server messages
    

    If the retry queue fills up the client is still forcefully disconnected, but logging on the server has now been improved:

    ERROR  |???                      | 2023-01-08 08:34:04.220 [main      ] [zellij-server/src/lib.rs:572]: a non-fatal error occured
    
    Caused by:
        0: client 1 is processing server messages too slow
        1: failed to send message to client 1
        2: failed to send or buffer message for client 1
        3: Client 1 is too slow to handle incoming messages
    

    And instead of "Buffer full", the client will now see the following message on their terminal:

    Your zellij client lost connection to the zellij server.
    
    As a safety measure, you have been disconnected from the current zellij session.
    However, the session should still exist and none of your data should be lost.
    
    This usually means that your terminal didn't process server messages quick
    enough. Maybe your system is currently under high load, or your terminal
    isn't performant enough.
    
    There are a few things you can try now:
        - Reattach to your previous session and see if it works out better this
          time: `zellij attach unarmed-snails`
        - Try using a faster terminal. GPU-accelerated terminals such as Kitty
          or Alacritty are cross-platform and known to work well with zellij.
    
    

    This improves the UX on #2023, #2041, #2048 and #2063, and may help to mitigate client crashes in some of these cases. It does not, however, explain why sometimes the server bevomes unresponsive and locks up. I couldn't find an explanation for this.

    opened by har7an 0
  • config.kdl being totally ignored by the looks of things.

    config.kdl being totally ignored by the looks of things.

    zellij-9.log zellij.log config.zip dump.txt

    Basic information

    zellij --version: 0.34.4 stty size: 67 626 uname -av: Linux peter-xps157590 5.15.0-57-generic #63-Ubuntu SMP Thu Nov 24 13:43:17 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

    Further information Reproduction steps, noticeable behavior, related issues, etc

    I have modified the config created as suggested in the directions by copying the setup config first.

    I tried adding rounded corners, changing the copy command to use x11 syntax, changed to the primary copy buffer (because it wasn't working on system) and changing the tmux commands from ctr-b to ctl-a.

    However, when I dump the config again after starting zellij, nothing is changed. The check shows the file as being found, and syntax passes, so I'm not sure why this is being totally ignored.

    config, and dump attached along with logs.

    Ta. Peter.

    bug 
    opened by pnunn 0
Releases(v0.34.4)
  • v0.34.4(Dec 13, 2022)

    This is a patch release to fix some regressions introduced in v0.34.3

    Changes

    • Fix application crash when resizing with flexible plugin panes in layout (Issue #2006)
    • Allow the SHELL variable to contain non-absolute shell paths (e.g. SHELL=sh instead of SHELL=/bin/sh, Issue #2015)
    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.sha256sum(73 bytes)
    zellij-aarch64-apple-darwin.tar.gz(5.38 MB)
    zellij-aarch64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-aarch64-unknown-linux-musl.tar.gz(5.53 MB)
    zellij-x86_64-apple-darwin.sha256sum(73 bytes)
    zellij-x86_64-apple-darwin.tar.gz(5.69 MB)
    zellij-x86_64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-x86_64-unknown-linux-musl.tar.gz(6.08 MB)
  • v0.34.3(Dec 9, 2022)

    This is mostly a stability, performance and bug fix release, but also includes some nice additional features.

    Main Changes

    1. Performance: both loading and rendering are significantly faster now and take less HW resources
    2. Loading screen: Zellij now has a minor loading screen (0.5 seconds) before it starts. This is so that input from STDIN will not be lost while Zellij queries the user's terminal emulator for pixel/cell ratio and the default colors
    3. We now fall back to /bin/sh if we can't find a $SHELL variable
    4. Users can now directionally decrease pane size and not just increase it - by default these are bound to HJKL (uppercase letter) in resize mode, but can be bound like anything to other keys.
    5. Lots of stability and bug fixes

    Breaking Changes (mainly for plugin authors)

    1. If plugins exceed their scrollback, the lines will be deleted from the top and not the bottom as they were until now - this is to make the behaviour more consistent with "actual" terminals (lines are pushed into the scrollback rather than cut from below). Probably the most significant change here is that if you did \n at the last line of the plugin, you'll need to remove, otherwise you'll get an empty line at the end of the plugin pane.
    2. Whenever plugins (re-)render, they should completely re-render themselves without considering the previous cursor position or artifacts on screen
    3. The plugin update function now needs to return a bool value (0/1 in non-zellij-tile world), indicating whether the plugin needs to be rendered or not. This is significant because previously plugins who subscribed to the KeyPress event would render themselves on every keypress, regardless of whether anything changed. To make everything work, plugin authors can just always return true. To be a little smarter about it though, feel free to take a look at the Zellij default-plugins - who all return conditionally here.

    For a full list of changes, please see: https://github.com/zellij-org/zellij/blob/main/CHANGELOG.md#0343---2022-12-09

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.sha256sum(73 bytes)
    zellij-aarch64-apple-darwin.tar.gz(5.38 MB)
    zellij-aarch64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-aarch64-unknown-linux-musl.tar.gz(5.53 MB)
    zellij-x86_64-apple-darwin.sha256sum(73 bytes)
    zellij-x86_64-apple-darwin.tar.gz(5.69 MB)
    zellij-x86_64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-x86_64-unknown-linux-musl.tar.gz(6.08 MB)
  • v0.33.0(Nov 10, 2022)

    This release includes lots of bugfixes and improvements, as well as some much requested features after our recent configuration and layout revamp. Some highlights:

    • It's now possible to make Command Panes close when their process exits by using the close_on_exit true setting in the layout, or the --close-on-exit cli flag if opening them from the command line.
    • It's now also possible to start Command Panes suspended - meaning that their command will only run after initially pressing ENTER when focused on them. This can be useful when starting a dashboard-style layout and not wanting to immediately run all the commands.
    • Users can now toggle mouse mode at runtime using the ToggleMouseMode keybind (it is not bound by default so has to be explicitly bound in the keybinds configuration).
    • New themes! Check out our everforest and kanagawa themes.

    Full list of changes

    • improve error handling in pty by @naosense in https://github.com/zellij-org/zellij/pull/1840
    • feat(command-panes): optionally allow panes to be closed on exit by @imsnif in https://github.com/zellij-org/zellij/pull/1869
    • Add everforest theme in theme examples by @royrustdev in https://github.com/zellij-org/zellij/pull/1873
    • fix(themes): remove colons from everforest themes by @tlinford in https://github.com/zellij-org/zellij/pull/1874
    • feat: support multiple themes in one file by @jaeheonji in https://github.com/zellij-org/zellij/pull/1855
    • improve error handling in ui module by @naosense in https://github.com/zellij-org/zellij/pull/1870
    • errors: Don't unwrap in server::pty_writer by @har7an in https://github.com/zellij-org/zellij/pull/1872
    • docs(example): update the format of the themes for the example directory by @jaeheonji in https://github.com/zellij-org/zellij/pull/1877
    • errors: Don't unwrap in server::terminal_bytes by @har7an in https://github.com/zellij-org/zellij/pull/1876
    • errors: Don't unwrap in zellij_server::output by @har7an in https://github.com/zellij-org/zellij/pull/1878
    • fix: resolve setup --clean panic by @tlinford in https://github.com/zellij-org/zellij/pull/1882
    • feature(mouse): allow toggling mouse mode at runtime by @tlinford in https://github.com/zellij-org/zellij/pull/1883
    • Display controls line of status-bar plugin if pane size=1 by @welcoMattic in https://github.com/zellij-org/zellij/pull/1875
    • feat(command-panes): allow to start suspended by @imsnif in https://github.com/zellij-org/zellij/pull/1887
    • build(deps): bump cachix/cachix-action from 10 to 12 by @dependabot in https://github.com/zellij-org/zellij/pull/1891
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1889
    • build(deps): bump cachix/install-nix-action from 17 to 18 by @dependabot in https://github.com/zellij-org/zellij/pull/1890
    • errors: Don't unwrap in server::os_input_output by @har7an in https://github.com/zellij-org/zellij/pull/1895
    • fix(keybinds): remove space key from shared_except by @jaeheonji in https://github.com/zellij-org/zellij/pull/1884
    • allow terminating char to clear search term by @naosense in https://github.com/zellij-org/zellij/pull/1853
    • Fixing YAML => KDL conversion with backslash hotkey. by @noyez in https://github.com/zellij-org/zellij/pull/1879
    • fix(ui): clear floating panes indication when closing a command pane by @imsnif in https://github.com/zellij-org/zellij/pull/1897
    • Reset dim SGR independently from bold by @pedromfedricci in https://github.com/zellij-org/zellij/pull/1803
    • fix(edit): treat cwd properly by @imsnif in https://github.com/zellij-org/zellij/pull/1904
    • fix(cli-actions): do not query termios for the cli client by @imsnif in https://github.com/zellij-org/zellij/pull/1905
    • feat(terminals): send focus in/out events to terminal panes by @imsnif in https://github.com/zellij-org/zellij/pull/1908
    • fix(panes): moving and toggling embed/float with frames by @imsnif in https://github.com/zellij-org/zellij/pull/1909
    • errors: Remove log::error in server by @har7an in https://github.com/zellij-org/zellij/pull/1881
    • Fix bat syntax colors when using mosh by @raphCode in https://github.com/zellij-org/zellij/pull/1900
    • convert ALT-centered config to kdl and smoothify by @matu3ba in https://github.com/zellij-org/zellij/pull/1910
    • Create kanagawa.kdl by @Serif-7 in https://github.com/zellij-org/zellij/pull/1913
    • fix: use temp_dir for getting temp folder by @xJonathanLEI in https://github.com/zellij-org/zellij/pull/1898
    • made the README more aesthetic by @rskbansal in https://github.com/zellij-org/zellij/pull/1885
    • Fix: better error reporting when failing to load plugins (#1912) by @har7an in https://github.com/zellij-org/zellij/pull/1914
    • cargo: Don't strip release binary by @har7an in https://github.com/zellij-org/zellij/pull/1916
    • chore(deps): bump termwiz to 0.19.0 by @xJonathanLEI in https://github.com/zellij-org/zellij/pull/1896
    • docs: Improve error handling docs by @har7an in https://github.com/zellij-org/zellij/pull/1919
    • chore(ci): remove msrv check by @imsnif in https://github.com/zellij-org/zellij/pull/1923

    New Contributors

    • @royrustdev made their first contribution in https://github.com/zellij-org/zellij/pull/1873
    • @noyez made their first contribution in https://github.com/zellij-org/zellij/pull/1879
    • @pedromfedricci made their first contribution in https://github.com/zellij-org/zellij/pull/1803
    • @Serif-7 made their first contribution in https://github.com/zellij-org/zellij/pull/1913
    • @xJonathanLEI made their first contribution in https://github.com/zellij-org/zellij/pull/1898
    • @rskbansal made their first contribution in https://github.com/zellij-org/zellij/pull/1885

    Full Changelog: https://github.com/zellij-org/zellij/compare/v0.32.0...v0.33.0

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.sha256sum(73 bytes)
    zellij-aarch64-apple-darwin.tar.gz(5.13 MB)
    zellij-aarch64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-aarch64-unknown-linux-musl.tar.gz(5.28 MB)
    zellij-x86_64-apple-darwin.sha256sum(73 bytes)
    zellij-x86_64-apple-darwin.tar.gz(5.41 MB)
    zellij-x86_64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-x86_64-unknown-linux-musl.tar.gz(5.79 MB)
  • v0.32.0(Oct 25, 2022)

    This is a pretty major Zellij release that includes lots of goodies mostly geared toward advanced users.

    Notable Changes

    • All configuration has moved from YAML to KDL - see breaking change below
    • Command panes: try zellij run --floating -- ls -l
    • Send commands to Zellij through the CLI: see zellij action --help
    • New layout system

    For more details and examples, see: https://zellij.dev/news/config-command-layouts/

    Documentation for the new features

    Breaking Change

    This release changes the entire configuration language of Zellij from YAML to KDL. For configuration, layouts and themes. When Zellij starts, it will prompt the user before converting the files automatically. The originals will not be modified.

    This can also be done manually:

    zellij convert-config /path/to/my/config.yaml > /path/to/my/config.kdl
    zellij convert-layout /path/to/my/layout.yaml > /path/to/my/layout.kdl
    zellij convert-theme /path/to/my/theme.yaml > /path/to/my/theme.kdl
    

    All changes

    • Feature: Better error handling/reporting by @har7an in https://github.com/zellij-org/zellij/pull/1670
    • Don't send the server an exit signal when client crashes by @raphCode in https://github.com/zellij-org/zellij/pull/1731
    • test: simplify tab integration tests by @tlinford in https://github.com/zellij-org/zellij/pull/1728
    • Fix: issue 1734 by @har7an in https://github.com/zellij-org/zellij/pull/1749
    • Add docs about error handling by @har7an in https://github.com/zellij-org/zellij/pull/1745
    • build(deps): bump DeterminateSystems/update-flake-lock from 13 to 14 by @dependabot in https://github.com/zellij-org/zellij/pull/1762
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1761
    • zellij-server/src/screen: improve error handling by @arriven in https://github.com/zellij-org/zellij/pull/1770
    • fix(nix) missing frameworks on darwin by @mdavezac in https://github.com/zellij-org/zellij/pull/1724
    • Switch to kdl by @imsnif in https://github.com/zellij-org/zellij/pull/1759
    • Server: Remove panics in tab module by @har7an in https://github.com/zellij-org/zellij/pull/1748
    • zellij-server: improve thread_bus error handling by @arriven in https://github.com/zellij-org/zellij/pull/1775
    • feat(ux): rerun command pane by @imsnif in https://github.com/zellij-org/zellij/pull/1787
    • fix(converter): escape quotes by @imsnif in https://github.com/zellij-org/zellij/pull/1790
    • fix(tab): frameless pane size wrong after closing other panes by @tlinford in https://github.com/zellij-org/zellij/pull/1776
    • fix(layouts): error on mixed nodes by @imsnif in https://github.com/zellij-org/zellij/pull/1791
    • fix(layouts): duplicate layout definition error by @imsnif in https://github.com/zellij-org/zellij/pull/1792
    • fix(cli): use provided session-name by @imsnif in https://github.com/zellij-org/zellij/pull/1793
    • zellij/commands: Prevent recursive sessions by @har7an in https://github.com/zellij-org/zellij/pull/1766
    • fix(layouts): various kdl layout issues and features by @imsnif in https://github.com/zellij-org/zellij/pull/1797
    • feat(layouts): global cwd by @imsnif in https://github.com/zellij-org/zellij/pull/1798
    • feat(layouts): edit panes by @imsnif in https://github.com/zellij-org/zellij/pull/1799
    • Log thread_bus IPC messages only in debug mode by @har7an in https://github.com/zellij-org/zellij/pull/1800
    • feat(cli): zellij run improvements by @imsnif in https://github.com/zellij-org/zellij/pull/1804
    • docs: Describe how to handle Options as errors by @har7an in https://github.com/zellij-org/zellij/pull/1805
    • feat(panes): change floating window positions by @imsnif in https://github.com/zellij-org/zellij/pull/1810
    • fix(editor): default to vi when no editor is set by @imsnif in https://github.com/zellij-org/zellij/pull/1811
    • chore(deps): upgrade log4rs by @imsnif in https://github.com/zellij-org/zellij/pull/1814
    • allow dump_screen() to only dump the viewport by @dannasman in https://github.com/zellij-org/zellij/pull/1794
    • fix(terminal): reset scroll region when clearing screen by @imsnif in https://github.com/zellij-org/zellij/pull/1826
    • feat(layouts): allow defining a tab cwd by @imsnif in https://github.com/zellij-org/zellij/pull/1828
    • fix(command): better error when command not found by @imsnif in https://github.com/zellij-org/zellij/pull/1829
    • errors: Don't panic in wasm_vm by @har7an in https://github.com/zellij-org/zellij/pull/1827
    • fix(layouts): do not override explicitly set layout if it exists by @imsnif in https://github.com/zellij-org/zellij/pull/1830
    • fix(layouts): various bugs and better errors by @imsnif in https://github.com/zellij-org/zellij/pull/1831
    • improve error handling in route by @naosense in https://github.com/zellij-org/zellij/pull/1808
    • rust-toolchain: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1834
    • plugins: Improve error handling on plugin version mismatch by @har7an in https://github.com/zellij-org/zellij/pull/1838
    • Add help for options of newly added actions by @jaeheonji in https://github.com/zellij-org/zellij/pull/1839
    • fix(various): minor fixes before 32 by @imsnif in https://github.com/zellij-org/zellij/pull/1841

    New Contributors

    • @arriven made their first contribution in https://github.com/zellij-org/zellij/pull/1770
    • @mdavezac made their first contribution in https://github.com/zellij-org/zellij/pull/1724
    • @dannasman made their first contribution in https://github.com/zellij-org/zellij/pull/1794
    • @naosense made their first contribution in https://github.com/zellij-org/zellij/pull/1808

    Full Changelog: https://github.com/zellij-org/zellij/compare/v0.31.4...v0.32.0

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.sha256sum(73 bytes)
    zellij-aarch64-apple-darwin.tar.gz(4.98 MB)
    zellij-aarch64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-aarch64-unknown-linux-musl.tar.gz(5.22 MB)
    zellij-x86_64-apple-darwin.sha256sum(73 bytes)
    zellij-x86_64-apple-darwin.tar.gz(5.38 MB)
    zellij-x86_64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-x86_64-unknown-linux-musl.tar.gz(5.72 MB)
  • v0.31.4(Sep 9, 2022)

    This is a patch version including many stability and compatibility fixes, none of them breaking.

    Changelog for this version

    • Terminal compatibility: improve vttest compliance (https://github.com/zellij-org/zellij/pull/1671)
    • fix: bracketed paste handling regression (https://github.com/zellij-org/zellij/pull/1689)
    • fix: occasional startup crashes (https://github.com/zellij-org/zellij/pull/1706)
    • fix: gracefully handle SSH disconnects (https://github.com/zellij-org/zellij/pull/1710)
    • fix: handle osc params larger than 1024 bytes (https://github.com/zellij-org/zellij/pull/1711)
    • Terminal compatibility: implement faux scrolling when in alternate screen mode(https://github.com/zellij-org/zellij/pull/1678)
    • fix: mouse-click on tab-bar in simplified-ui now always focuses the correct tab (https://github.com/zellij-org/zellij/pull/1658)
    • fix: sort UI cursors properly when multiple users are focused on the same pane (https://github.com/zellij-org/zellij/pull/1719)

    All changes

    • Improve vttest by @AutumnMeowMeow in https://github.com/zellij-org/zellij/pull/1671
    • build(deps): bump DeterminateSystems/update-flake-lock from 12 to 13 by @dependabot in https://github.com/zellij-org/zellij/pull/1683
    • fix: bracketed paste input not getting adjusted properly by @tlinford in https://github.com/zellij-org/zellij/pull/1689
    • fix(router): startup race by @imsnif in https://github.com/zellij-org/zellij/pull/1706
    • fix(router): gracefully handle client crashes by @imsnif in https://github.com/zellij-org/zellij/pull/1710
    • fix osc params 1024 bytes limit by @tlinford in https://github.com/zellij-org/zellij/pull/1711
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1703
    • feat(compatibility): mouse wheel faux scrolling in alternate screen by @tlinford in https://github.com/zellij-org/zellij/pull/1678
    • fix(tab-bar): fix tab bar click when tabs are collapsed, fix tab bar length calculation by @prscoelho in https://github.com/zellij-org/zellij/pull/1658
    • fix(ui): sort multiple ui cursors by @imsnif in https://github.com/zellij-org/zellij/pull/1719

    New Contributors

    • @AutumnMeowMeow made their first contribution in https://github.com/zellij-org/zellij/pull/1671

    Full Changelog: https://github.com/zellij-org/zellij/compare/v0.31.3...v0.31.4

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.sha256sum(73 bytes)
    zellij-aarch64-apple-darwin.tar.gz(5.04 MB)
    zellij-aarch64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-aarch64-unknown-linux-musl.tar.gz(5.29 MB)
    zellij-x86_64-apple-darwin.sha256sum(73 bytes)
    zellij-x86_64-apple-darwin.tar.gz(5.41 MB)
    zellij-x86_64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-x86_64-unknown-linux-musl.tar.gz(5.77 MB)
  • v0.31.2(Aug 17, 2022)

    This is a patch release mainly to fix some critical bugs

    Changes

    • fix: crash when attaching to a session without the first tab (https://github.com/zellij-org/zellij/pull/1648)
    • fix: race crash on startup when server is not ready (https://github.com/zellij-org/zellij/pull/1651)
    • Terminal compatibility: forward OSC52 clipboard copy events from terminals (https://github.com/zellij-org/zellij/pull/1644)
    • refactor: terminal characters (https://github.com/zellij-org/zellij/pull/1663)
    • Terminal compatibility: properly send mouse clicks and drags to terminal panes (https://github.com/zellij-org/zellij/pull/1664)

    What's Changed

    • chore(logging): log all unhandled ansi sequences by @imsnif in https://github.com/zellij-org/zellij/pull/1636
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1639
    • screen: Don't crash when first tab doesn't exist by @har7an in https://github.com/zellij-org/zellij/pull/1648
    • fix(router): retry messages when server is not ready by @imsnif in https://github.com/zellij-org/zellij/pull/1651
    • forward OSC52 events by @apexo in https://github.com/zellij-org/zellij/pull/1644
    • Update CHANGELOG.md by @vaporup in https://github.com/zellij-org/zellij/pull/1611
    • rust-toolchain: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1659
    • A little refactoring by @TornaxO7 in https://github.com/zellij-org/zellij/pull/1663
    • Fix SGR/UTF8 mouse reporting in terminal panes by @imsnif in https://github.com/zellij-org/zellij/pull/1664

    New Contributors

    • @apexo made their first contribution in https://github.com/zellij-org/zellij/pull/1644
    • @vaporup made their first contribution in https://github.com/zellij-org/zellij/pull/1611

    Full Changelog: https://github.com/zellij-org/zellij/compare/v0.31.1...v0.31.2

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.sha256sum(73 bytes)
    zellij-aarch64-apple-darwin.tar.gz(5.03 MB)
    zellij-aarch64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-aarch64-unknown-linux-musl.tar.gz(5.28 MB)
    zellij-x86_64-apple-darwin.sha256sum(73 bytes)
    zellij-x86_64-apple-darwin.tar.gz(5.40 MB)
    zellij-x86_64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-x86_64-unknown-linux-musl.tar.gz(5.76 MB)
  • v0.31.1(Aug 2, 2022)

    This is a hotfix patch for some issues with themes

    What's Changed

    • fix(ci): change checksum tool in macos by @jaeheonji in https://github.com/zellij-org/zellij/pull/1613
    • Adding solarized-light by @TornaxO7 in https://github.com/zellij-org/zellij/pull/1608
    • fix(readme): cargo install instructions by @a-kenji in https://github.com/zellij-org/zellij/pull/1616
    • fix(ci): remove cachix environment by @a-kenji in https://github.com/zellij-org/zellij/pull/1617
    • move: default.nix and shell.nix files from root by @a-kenji in https://github.com/zellij-org/zellij/pull/1618
    • Readme: link to documentation pages in-text by @f0x52 in https://github.com/zellij-org/zellij/pull/1621
    • build(deps): bump DeterminateSystems/update-flake-lock from 10 to 12 by @dependabot in https://github.com/zellij-org/zellij/pull/1624
    • docs(contributing): document logging by @imsnif in https://github.com/zellij-org/zellij/pull/1627
    • fix: theme not loading without config by @jaeheonji in https://github.com/zellij-org/zellij/pull/1631

    New Contributors

    • @TornaxO7 made their first contribution in https://github.com/zellij-org/zellij/pull/1608
    • @f0x52 made their first contribution in https://github.com/zellij-org/zellij/pull/1621

    Full Changelog: https://github.com/zellij-org/zellij/compare/v0.31.0...v0.31.1

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.sha256sum(73 bytes)
    zellij-aarch64-apple-darwin.tar.gz(5.03 MB)
    zellij-aarch64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-aarch64-unknown-linux-musl.tar.gz(5.29 MB)
    zellij-x86_64-apple-darwin.sha256sum(73 bytes)
    zellij-x86_64-apple-darwin.tar.gz(5.40 MB)
    zellij-x86_64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-x86_64-unknown-linux-musl.tar.gz(5.78 MB)
  • v0.31.0(Jul 28, 2022)

    This release includes three major features that have each been in the work for quite a while, and have all been very widely requested.

    1. Sixel support* - Zellij now supports Sixel graphics (https://en.wikipedia.org/wiki/Sixel) for displaying images and video in the terminal.
    2. Search mode - You can now search through the pane scrollback. We renamed "Scroll mode" to "Search mode" and it now includes all the old capabilities as well as the new search feature.
    3. The status-bar keybindings now update according to your config

    Since we updated the keybindings (for the search mode) please note that if you have a custom configuration that defined keybindings (eg. one you created with zellij setup --dump-config), you'll probably need to update it. You can do that with zellij setup --dump-config > ~/.config/zellij/config.yaml (for more information on the configuration and its location - please check out: https://zellij.dev/documentation/configuration.html)

    *Note that you'll need a supported terminal to take advantage of this feature. There's a nice list here: https://www.reddit.com/r/linux/comments/t3m7zm/quick_roundup_of_bitmap_graphics_availability_in/

    What's Changed

    • Add logging to ipc receiver by @raphCode in https://github.com/zellij-org/zellij/pull/1459
    • chore(deps): update crossbeam by @a-kenji in https://github.com/zellij-org/zellij/pull/1463
    • move: test-template layout to layouts directory by @a-kenji in https://github.com/zellij-org/zellij/pull/1464
    • remove: obsolete comment by @a-kenji in https://github.com/zellij-org/zellij/pull/1465
    • add(option): default_layout by @a-kenji in https://github.com/zellij-org/zellij/pull/1467
    • ci(nix): retry nix build on spurious failure by @a-kenji in https://github.com/zellij-org/zellij/pull/1472
    • remove: obsolete nonfunctional configurations by @a-kenji in https://github.com/zellij-org/zellij/pull/1474
    • add(README): quick links to documentation by @a-kenji in https://github.com/zellij-org/zellij/pull/1473
    • add: fix a small lint by @a-kenji in https://github.com/zellij-org/zellij/pull/1476
    • add(ci/makefile): run clippy on all features by @a-kenji in https://github.com/zellij-org/zellij/pull/1479
    • docs: fix typos by @kianmeng in https://github.com/zellij-org/zellij/pull/1481
    • add(style): add trailing comma in match blocks by @a-kenji in https://github.com/zellij-org/zellij/pull/1483
    • ci: add checksum for release binary by @jaeheonji in https://github.com/zellij-org/zellij/pull/1482
    • fix: update architecture-docs by @a-kenji in https://github.com/zellij-org/zellij/pull/1487
    • fix(cli): clear up tooltip information by @a-kenji in https://github.com/zellij-org/zellij/pull/1488
    • fix: tab selection by left click in compact-bar by @amaihoefner in https://github.com/zellij-org/zellij/pull/1485
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1489
    • fix(themes): unify filename and themename usage by @a-kenji in https://github.com/zellij-org/zellij/pull/1492
    • Deduplicate code in zellij-server screen by @har7an in https://github.com/zellij-org/zellij/pull/1453
    • chore(deps): update clap: 3.1.18 -> 3.2.2 by @a-kenji in https://github.com/zellij-org/zellij/pull/1496
    • fix(themes): gruvbox-dark by @a-kenji in https://github.com/zellij-org/zellij/pull/1499
    • feat: add capability to dispatch actions from cli by @a-kenji in https://github.com/zellij-org/zellij/pull/1265
    • fix: remove obsolete logs by @a-kenji in https://github.com/zellij-org/zellij/pull/1504
    • fix(clippy): clippy fixes by @a-kenji in https://github.com/zellij-org/zellij/pull/1508
    • Add/ci enable clippy by @a-kenji in https://github.com/zellij-org/zellij/pull/1509
    • fix(action): send WriteChars once per action by @a-kenji in https://github.com/zellij-org/zellij/pull/1516
    • feat: fullscreen focus swapping by @nacairns1 in https://github.com/zellij-org/zellij/pull/1515
    • fix(action): correctly dispatch the Write action by @a-kenji in https://github.com/zellij-org/zellij/pull/1518
    • fix: clarify comments by @a-kenji in https://github.com/zellij-org/zellij/pull/1519
    • add(ci): check for msrv by @a-kenji in https://github.com/zellij-org/zellij/pull/1522
    • fix(action): dispatch of edit-scrollback by @a-kenji in https://github.com/zellij-org/zellij/pull/1523
    • feat: add action to undo rename by @jaeheonji in https://github.com/zellij-org/zellij/pull/1513
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1527
    • Fix installation with MacPorts by @ken-matsui in https://github.com/zellij-org/zellij/pull/1529
    • fix: dispatch various actions correctly by @a-kenji in https://github.com/zellij-org/zellij/pull/1530
    • add: debug information for certain actions by @a-kenji in https://github.com/zellij-org/zellij/pull/1533
    • Exit client empty rcv by @raphCode in https://github.com/zellij-org/zellij/pull/1535
    • utils/input: Make key order consistent by @har7an in https://github.com/zellij-org/zellij/pull/1539
    • feat(theme): allow hex colors for themes by @RGFTheCoder in https://github.com/zellij-org/zellij/pull/1536
    • add(feature): unstable by @a-kenji in https://github.com/zellij-org/zellij/pull/1542
    • build(deps): bump DeterminateSystems/update-flake-lock from 9 to 10 by @dependabot in https://github.com/zellij-org/zellij/pull/1543
    • fix(editor): handle editor in fullscreen by @imsnif in https://github.com/zellij-org/zellij/pull/1544
    • fix(terminal): properly trim lines with widechars on resize by @imsnif in https://github.com/zellij-org/zellij/pull/1545
    • fix(scroll): reset scroll properly when typing by @imsnif in https://github.com/zellij-org/zellij/pull/1547
    • roll over logs / fix filling up /tmp with logs by @raphCode in https://github.com/zellij-org/zellij/pull/1548
    • docs(manpage): update manpage by @jaeheonji in https://github.com/zellij-org/zellij/pull/1549
    • fix: various typos by @a-kenji in https://github.com/zellij-org/zellij/pull/1553
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1554
    • fix: fallback to default values when terminal rows/cols are 0 by @tlinford in https://github.com/zellij-org/zellij/pull/1552
    • Fix ci clippy by @a-kenji in https://github.com/zellij-org/zellij/pull/1559
    • add(nix): add compact-bar to the flake outputs by @a-kenji in https://github.com/zellij-org/zellij/pull/1560
    • Refactor all shared contents from zellij tile to zellij utils by @har7an in https://github.com/zellij-org/zellij/pull/1541
    • fix: typo by @a-kenji in https://github.com/zellij-org/zellij/pull/1567
    • Sixel support by @imsnif in https://github.com/zellij-org/zellij/pull/1557
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1575
    • fix(ci): add new rust toolchain location to action by @a-kenji in https://github.com/zellij-org/zellij/pull/1576
    • rust-toolchain: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1578
    • chore(nix): hide nix directory by @a-kenji in https://github.com/zellij-org/zellij/pull/1579
    • chore(docs): add more matrix links by @a-kenji in https://github.com/zellij-org/zellij/pull/1581
    • fix: add usage comment to fish shell auto-start snippet (#1574) by @tsdh in https://github.com/zellij-org/zellij/pull/1583
    • Refactor match session name by @matthiasbeyer in https://github.com/zellij-org/zellij/pull/1582
    • Let the exit message be different when detaching by @matthiasbeyer in https://github.com/zellij-org/zellij/pull/1573
    • Improve terminal performance by @imsnif in https://github.com/zellij-org/zellij/pull/1585
    • fix(terminal): persist cursor hide/show through alternate screen by @imsnif in https://github.com/zellij-org/zellij/pull/1586
    • fix(editor): handle editor/visual/configured editor with arguments by @imsnif in https://github.com/zellij-org/zellij/pull/1587
    • fix(ci): quoting issues by @a-kenji in https://github.com/zellij-org/zellij/pull/1589
    • fix: avoid forwarding mouse events on pane border by @tlinford in https://github.com/zellij-org/zellij/pull/1584
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1592
    • Search panes by @msirringhaus in https://github.com/zellij-org/zellij/pull/1521
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1601
    • feat: support themes directory by @jaeheonji in https://github.com/zellij-org/zellij/pull/1577
    • Log every panic to the logfile by @raphCode in https://github.com/zellij-org/zellij/pull/1602
    • status-bar: Reflect actual current keybindings by @har7an in https://github.com/zellij-org/zellij/pull/1242
    • performance(pty): update last render time on non-backed-up render by @imsnif in https://github.com/zellij-org/zellij/pull/1610

    New Contributors

    • @kianmeng made their first contribution in https://github.com/zellij-org/zellij/pull/1481
    • @amaihoefner made their first contribution in https://github.com/zellij-org/zellij/pull/1485
    • @har7an made their first contribution in https://github.com/zellij-org/zellij/pull/1453
    • @nacairns1 made their first contribution in https://github.com/zellij-org/zellij/pull/1515
    • @RGFTheCoder made their first contribution in https://github.com/zellij-org/zellij/pull/1536
    • @tsdh made their first contribution in https://github.com/zellij-org/zellij/pull/1583
    • @msirringhaus made their first contribution in https://github.com/zellij-org/zellij/pull/1521

    Full Changelog: https://github.com/zellij-org/zellij/compare/v0.30.0...v0.31.0

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.sha256sum(73 bytes)
    zellij-aarch64-apple-darwin.tar.gz(5.03 MB)
    zellij-aarch64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-aarch64-unknown-linux-musl.tar.gz(5.29 MB)
    zellij-x86_64-apple-darwin.sha256sum(73 bytes)
    zellij-x86_64-apple-darwin.tar.gz(5.40 MB)
    zellij-x86_64-unknown-linux-musl.sha256sum(73 bytes)
    zellij-x86_64-unknown-linux-musl.tar.gz(5.78 MB)
  • v0.30.0(Jun 7, 2022)

    This is an exciting release with lots of bugfixes and some really nice new features:

    1. You can now use your default $EDITOR (eg. vim) to search through and save your pane's scrollback: use Ctrl + <s> + <e> on your focused pane.
    2. We added a "compact" layout to Zellij which will save you screen real-estate. It loads a version of the tab-bar that also shows you the input mode you're in (eg. Normal, Pane, Tab, Locked) and does not load the status bar. It's great if you're already familiar with the keybindings. To load it start Zellij with zellij -l compact
    3. There are now lots more "Tip"s added to the status-bar if you do want to load it. They advertize some less-known features of Zellij that can help you out in your day-to-day.
    4. We tweaked the "simplified-ui" mode, and it should now appear a little nicer.
    5. The Zellij website now includes a "Try Zellij without installing" link. Now you can more easily recommend Zellij to your friends! Thanks @raphCodes and @Spyros for your efforts on this.

    Note that if you adjusted the config in a separate config file, you'll have to update it in order to get the new keybindigns from point 1. The easiest way to do this is tieh zellij setup --dump-config > /path/to_config_location and then copying over your changes (be sure to backup the file first).

    In addition, we recently also added a roadmap for the Zellij project. Check it out if you'd like to see what's coming next: https://zellij.dev/roadmap/

    Changelog

    • fix: right and middle clicks creating selection (https://github.com/zellij-org/zellij/pull/1372)
    • feat: Attach to sessions more conveniently by only typing their name's first character(s) (https://github.com/zellij-org/zellij/pull/1360)
    • fix: a small typo (https://github.com/zellij-org/zellij/pull/1390)
    • feat: show subcommand aliases in help output (https://github.com/zellij-org/zellij/pull/1409)
    • chore(dependencies): rename crate suggestion -> suggest (https://github.com/zellij-org/zellij/pull/1387)
    • fix: update to output error when using --layout (https://github.com/zellij-org/zellij/pull/1413)
    • fix: ANSI output sent to terminal on resize in certain cases (https://github.com/zellij-org/zellij/pull/1384)
    • fix: freeze when pasting large amounts of text to vim (https://github.com/zellij-org/zellij/pull/1383)
    • feat: new action to dump the scrollbuffer to a file (https://github.com/zellij-org/zellij/pull/1375)
    • fix(strider): update out of range index in files (https://github.com/zellij-org/zellij/pull/1425)
    • feat: strip debug symbols of release builds 20% size reduction, MSRV is now 1.59 (https://github.com/zellij-org/zellij/pull/1177)
    • chore(dependencies): update names and dialoguer crates (https://github.com/zellij-org/zellij/pull/1430)
    • fix: add checking for missing extensions (https://github.com/zellij-org/zellij/pull/1432)
    • fix: client process hanging / not exiting when terminal emulator was closed (https://github.com/zellij-org/zellij/pull/1433)
    • BREAKING CHANGE: merge --layout and --layout-path (https://github.com/zellij-org/zellij/pull/1426)
    • add: a version of the tab-bar plugin, that carries mode information, called compact-bar also adds a new default layout called compact, which can be loaded with: zellij --layout compact, that loads the compact-bar. (https://github.com/zellij-org/zellij/pull/1450)
    • feat: allow searching through and editing the pane scrollback with your default editor (https://github.com/zellij-org/zellij/pull/1456)
    • fix: exit client loop on empty message from server (https://github.com/zellij-org/zellij/pull/1454)
    • fix: mouse selection sometimes getting stuck (https://github.com/zellij-org/zellij/pull/1418)
    • feat: tweak simplified UI (https://github.com/zellij-org/zellij/pull/1458)
    • feat: add status more tips (https://github.com/zellij-org/zellij/pull/1462)

    All changes

    • fix(mouse): middle or right clicks creating selection by @tlinford in https://github.com/zellij-org/zellij/pull/1372
    • feat: Attach sessions by unique prefix name (#1169) by @raphCode in https://github.com/zellij-org/zellij/pull/1360
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1385
    • build(deps): bump log from 0.4.16 to 0.4.17 by @dependabot in https://github.com/zellij-org/zellij/pull/1386
    • fix: a small typo by @a-kenji in https://github.com/zellij-org/zellij/pull/1390
    • feat: Shows subcommand aliases in help text by @bigbass1997 in https://github.com/zellij-org/zellij/pull/1409
    • fix(deps): Rename suggestion crate to suggest by @ken-matsui in https://github.com/zellij-org/zellij/pull/1387
    • fix: update to output error when using --layout by @jaeheonji in https://github.com/zellij-org/zellij/pull/1413
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1417
    • fix: macos ansi instruction parsing by @tlinford in https://github.com/zellij-org/zellij/pull/1384
    • fix paste freeze (#1366) by @tlinford in https://github.com/zellij-org/zellij/pull/1383
    • fix: ensure pty_writer thread closes by @tlinford in https://github.com/zellij-org/zellij/pull/1422
    • Dump the terminal screen into a file by @cosminadrianpopescu in https://github.com/zellij-org/zellij/pull/1375
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1427
    • fix(strider): update out of range index in files by @jaeheonji in https://github.com/zellij-org/zellij/pull/1425
    • build: strip debug symbols by @a-kenji in https://github.com/zellij-org/zellij/pull/1177
    • Updated names and dialoguer crates dependencies by @Laiot in https://github.com/zellij-org/zellij/pull/1430
    • fix: add checking for missing extensions by @jaeheonji in https://github.com/zellij-org/zellij/pull/1432
    • Fix double panic lockup in clients panic handler by @raphCode in https://github.com/zellij-org/zellij/pull/1433
    • Update Dracula Theme by @welcoMattic in https://github.com/zellij-org/zellij/pull/1435
    • Merge --layout and --layout-path by @SpyrosRoum in https://github.com/zellij-org/zellij/pull/1426
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1438
    • fix: clarify help text by @a-kenji in https://github.com/zellij-org/zellij/pull/1442
    • add: more information to the manpage by @a-kenji in https://github.com/zellij-org/zellij/pull/1443
    • add(plugin): compact-bar & compact layout by @a-kenji in https://github.com/zellij-org/zellij/pull/1450
    • fix(compact-bar): remove duplicate padding by @a-kenji in https://github.com/zellij-org/zellij/pull/1451
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1455
    • Edit scrollback by @cosminadrianpopescu in https://github.com/zellij-org/zellij/pull/1456
    • Exit client-loop on empty message receive by @SpyrosRoum in https://github.com/zellij-org/zellij/pull/1454
    • feat(ui): minor tweaks to the compact tab bar by @imsnif in https://github.com/zellij-org/zellij/pull/1457
    • fix(mouse): selection sometimes getting stuck by @tlinford in https://github.com/zellij-org/zellij/pull/1418
    • Tweak simplified UI by @imsnif in https://github.com/zellij-org/zellij/pull/1458
    • Add status bar tips by @imsnif in https://github.com/zellij-org/zellij/pull/1462

    New Contributors

    • @bigbass1997 made their first contribution in https://github.com/zellij-org/zellij/pull/1409
    • @cosminadrianpopescu made their first contribution in https://github.com/zellij-org/zellij/pull/1375
    • @Laiot made their first contribution in https://github.com/zellij-org/zellij/pull/1430
    • @welcoMattic made their first contribution in https://github.com/zellij-org/zellij/pull/1435
    • @SpyrosRoum made their first contribution in https://github.com/zellij-org/zellij/pull/1426

    Full Changelog: https://github.com/zellij-org/zellij/compare/v0.29.1...v0.30.0

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(4.05 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(4.30 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.43 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.65 MB)
  • v0.29.1(May 2, 2022)

    This is a patch release to fix a regression wherein tabs weren't switchable with the mouse.

    What's Changed

    • fix(mouse): clicks not forwarded to plugin pane by @tlinford in https://github.com/zellij-org/zellij/pull/1369

    Full Changelog: https://github.com/zellij-org/zellij/compare/v0.29.0...v0.29.1

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(4.11 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(4.31 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.47 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.66 MB)
  • v0.29.0(May 2, 2022)

    Notable changes

    • add: clarify copy to clipboard message (https://github.com/zellij-org/zellij/pull/1321)
    • Terminal compatibility: fix ANSI scrolling regression (https://github.com/zellij-org/zellij/pull/1324)
    • fix: send SIGHUP instead of SIGTERM when closing a pane (https://github.com/zellij-org/zellij/pull/1320)
    • add: copy_on_select option to configure automatic copy behavior (https://github.com/zellij-org/zellij/pull/1298)
    • fix: minor system improvements (https://github.com/zellij-org/zellij/pull/1328)
    • add: add command for auto-start script (https://github.com/zellij-org/zellij/pull/1281)
    • Terminal compatibility: fix cursor pane escape and invalid ansi crash (https://github.com/zellij-org/zellij/pull/1349)
    • fix: recover from corrupted ipc bus state (https://github.com/zellij-org/zellij/pull/1351)
    • Terminal compatibility: respond to foreground/background color ansi requests (OSC 10 and 11) (https://github.com/zellij-org/zellij/pull/1358)
    • fix: avoid panic in link_handler.rs (https://github.com/zellij-org/zellij/pull/1356)
    • Terminal compatibility: prevent wide chars from overflowing the title line (https://github.com/zellij-org/zellij/pull/1361)
    • Terminal compatibility: adjust saved cursor position on resize (https://github.com/zellij-org/zellij/pull/1362)
    • fix: avoid panic on renaming a floating pane (https://github.com/zellij-org/zellij/pull/1357)
    • fix: change the way sessions are sorted (https://github.com/zellij-org/zellij/pull/1347)
    • fix: improve mouse event reporting, avoid clicks on plugin panes causing active pane scrolling (https://github.com/zellij-org/zellij/pull/1329)

    All changes

    • Improve message when copying to system clipboard by @raphCode in https://github.com/zellij-org/zellij/pull/1321
    • fix(compatibility): various ansi fixes by @imsnif in https://github.com/zellij-org/zellij/pull/1324
    • Fix #1286 by sending SIGHUP when closing a pane by @raphCode in https://github.com/zellij-org/zellij/pull/1320
    • feat(copy): add copy_on_select option by @tlinford in https://github.com/zellij-org/zellij/pull/1298
    • fix: minor system improvements by @jaeheonji in https://github.com/zellij-org/zellij/pull/1328
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1331
    • feat: support the command of auto-start script for shell by @jaeheonji in https://github.com/zellij-org/zellij/pull/1281
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1338
    • fix: remove flake-utils follows attribute by @a-kenji in https://github.com/zellij-org/zellij/pull/1341
    • fix(nix): separate default plugins by @a-kenji in https://github.com/zellij-org/zellij/pull/1342
    • fix(compatibility): fix crash and don't allow cursor beyond row width by @imsnif in https://github.com/zellij-org/zellij/pull/1349
    • Fix empty ipc msg crash by @imsnif in https://github.com/zellij-org/zellij/pull/1351
    • fix(stability): avoid link handler panic on bad index by @tlinford in https://github.com/zellij-org/zellij/pull/1356
    • Respond to bg and fg color ansi queries by @imsnif in https://github.com/zellij-org/zellij/pull/1358
    • Fix title widechar overflow by @imsnif in https://github.com/zellij-org/zellij/pull/1361
    • fix(compatibility): adjust saved cursor position on resize by @imsnif in https://github.com/zellij-org/zellij/pull/1362
    • fix: change the way sessions are sorted by @jaeheonji in https://github.com/zellij-org/zellij/pull/1347
    • Fix crash on renaming a floating pane (#1323) by @raphCode in https://github.com/zellij-org/zellij/pull/1357
    • Mouse fixes by @tlinford in https://github.com/zellij-org/zellij/pull/1329
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1364
    • build(deps): bump DeterminateSystems/update-flake-lock from 8 to 9 by @dependabot in https://github.com/zellij-org/zellij/pull/1365

    Full Changelog: https://github.com/zellij-org/zellij/compare/v0.28.1...v0.29.0

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(4.11 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(4.31 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.47 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.66 MB)
  • v0.28.1(Apr 13, 2022)

    • (BREAKING CHANGE) Feature: Improve theme usage and add default themes. Remove gray color from themes. (https://github.com/zellij-org/zellij/pull/1274)
    • repo: add .git-blame-ignore-revs-file (https://github.com/zellij-org/zellij/pull/1295)
    • add: musl target to rust-toolchain (https://github.com/zellij-org/zellij/pull/1294)
    • fix: update termwiz to fix crash when pasting on wsl (https://github.com/zellij-org/zellij/pull/1303)
    • add: nord theme example (https://github.com/zellij-org/zellij/pull/1304)
    • Terminal compatibility: preserve background color when scrolling (https://github.com/zellij-org/zellij/pull/1305 and https://github.com/zellij-org/zellij/pull/1307)
    • add: overlays to the flake outputs (https://github.com/zellij-org/zellij/pull/1312)
    • refactor: reduce code duplication in tiled_panes (https://github.com/zellij-org/zellij/pull/1299)
    • Terminal compatibility: support XTWINOPS CSI 14 + 16 to query terminal pixel info (https://github.com/zellij-org/zellij/pull/1316)
    • Fix: Update UI when next-to-last user manually detaches from the session (https://github.com/zellij-org/zellij/pull/1317)
    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(4.11 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(4.31 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.46 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.66 MB)
  • v0.27.0(Mar 31, 2022)

    Important Notes

    1. Since we changed the key configuration, if you have a custom config you'll need to update it. As always, you can dump the default config and adjust it (after backing up your old config!) with: zellij setup --dump-config > ~/.config/zellij/config.yaml (for more details: https://zellij.dev/documentation/configuration.html)
    2. We changed our STDIN parsing library - this means that more key combinations would work, but it also means that we unfortunately had to let go of the Alt + [] shortcuts for quick navigation. We do apologize for this and it was important to us to give an alternative (you can now use Alt + ). These never really worked well and caused a lot of issues. There was unfortunately no easy way around it.

    Changelog

    • Fix: feature disable_automatic_asset_installation (https://github.com/zellij-org/zellij/pull/1226)
    • Fix: wasm_vm use cache_dirs for ephemeral plugin data (https://github.com/zellij-org/zellij/pull/1230)
    • Bump nix version to 0.23.1 (https://github.com/zellij-org/zellij/pull/1234)
    • Refactor: move tiled_panes to their own module (https://github.com/zellij-org/zellij/pull/1239)
    • Add: allow rounded frame corners to be selected in the config (https://github.com/zellij-org/zellij/pull/1227)
    • Deps: move from termion to termwiz (https://github.com/zellij-org/zellij/pull/1249)
    • Fix: resolve crash when opening tab and zellij tmp dir does not exist (https://github.com/zellij-org/zellij/pull/1256)
    • Fix: Behave properly when embedding floating pane into a fullscreen tiled pane (https://github.com/zellij-org/zellij/pull/1267)
    • Fix: various screen crashes in some edge cases (https://github.com/zellij-org/zellij/pull/1269)
    • Feat: Add Alt+Arrows quick navigation (https://github.com/zellij-org/zellij/pull/1264)
    • Fix: don't crash on bad intermediate tab state (https://github.com/zellij-org/zellij/pull/1272)
    • Fix: resolve crash when closing panes on single core systems (https://github.com/zellij-org/zellij/pull/1051)
    • Terminal Compatibility: Behave properly when ansi scrolling down with an undefined scroll region (https://github.com/zellij-org/zellij/pull/1279)
    • Fix: properly render selection when background color of characters is not set (https://github.com/zellij-org/zellij/pull/1250)
    • Terminal Compatibility: revert previous incorrect change to csi erase display (https://github.com/zellij-org/zellij/pull/1283)

    All Changes

    • fix(feat): disable_automatic_asset_installation by @a-kenji in https://github.com/zellij-org/zellij/pull/1226
    • fix(wasm_vm): use cache_dirs for ephemeral plugin data by @a-kenji in https://github.com/zellij-org/zellij/pull/1230
    • chore: bump nix version to 0.23.1 by @jaeheonji in https://github.com/zellij-org/zellij/pull/1234
    • add(ci): install cargo-make through nix by @a-kenji in https://github.com/zellij-org/zellij/pull/1233
    • Feat/add rust toolchain by @a-kenji in https://github.com/zellij-org/zellij/pull/1235
    • [Update] rust-toolchain by @github-actions in https://github.com/zellij-org/zellij/pull/1236
    • refactor(tab): move tiled panes to their own module by @imsnif in https://github.com/zellij-org/zellij/pull/1239
    • flake.lock: Update by @github-actions in https://github.com/zellij-org/zellij/pull/1243
    • add(ci): toolchain by @a-kenji in https://github.com/zellij-org/zellij/pull/1245
    • fix: remove obsolete script by @a-kenji in https://github.com/zellij-org/zellij/pull/1247
    • fix(ci): scope nix workflows by @a-kenji in https://github.com/zellij-org/zellij/pull/1248
    • fix: cargo issue by @a-kenji in https://github.com/zellij-org/zellij/pull/1253
    • feat(ui): round frame corners by @TheLostLambda in https://github.com/zellij-org/zellij/pull/1227
    • Move from termion to termwiz for STDIN handling by @imsnif in https://github.com/zellij-org/zellij/pull/1249
    • fix(crash): ensure ZELLIJ_TMP_DIR exists when starting plugins by @tlinford in https://github.com/zellij-org/zellij/pull/1256
    • fix(tab): do not crash when only floating panes are left by @imsnif in https://github.com/zellij-org/zellij/pull/1266
    • fix(tab): floating panes embed/fullscreen and frame color by @imsnif in https://github.com/zellij-org/zellij/pull/1267
    • fix(screen): handle various edge cases rather than crashing by @imsnif in https://github.com/zellij-org/zellij/pull/1269
    • Add navigation with alt + arrow keys by @imsnif in https://github.com/zellij-org/zellij/pull/1264
    • Fix crash in intermediate no-tabs state by @imsnif in https://github.com/zellij-org/zellij/pull/1272
    • fix: catch and report errors about tty I/O (#882) by @raphCode in https://github.com/zellij-org/zellij/pull/1051
    • flake.lock: Update by @a-kenji in https://github.com/zellij-org/zellij/pull/1275
    • build(deps): bump log from 0.4.14 to 0.4.16 by @dependabot in https://github.com/zellij-org/zellij/pull/1278
    • fix(compatibility): ansi scroll down by @imsnif in https://github.com/zellij-org/zellij/pull/1279
    • build(deps): bump actions/cache from 2 to 3 by @dependabot in https://github.com/zellij-org/zellij/pull/1277
    • fix(ui): add missing closing > by @imsnif in https://github.com/zellij-org/zellij/pull/1280
    • fix selection rendering of unstyled characters by @tlinford in https://github.com/zellij-org/zellij/pull/1250
    • fix(compatibility): revert change in csi erase in display handling by @tlinford in https://github.com/zellij-org/zellij/pull/1283
    • fix(compatibility): don't crash on invalid state when padding line by @imsnif in https://github.com/zellij-org/zellij/pull/1285

    New Contributors

    • @raphCode made their first contribution in https://github.com/zellij-org/zellij/pull/1051

    Full Changelog: https://github.com/zellij-org/zellij/compare/v0.26.1...v0.27.0

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(4.11 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(4.29 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.45 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.64 MB)
  • v0.26.1(Mar 16, 2022)

    This is (mostly) a hotfix release to fix a regression when pasting.

    What's Changed

    • HOTFIX: Paste regression by @imsnif (https://github.com/zellij-org/zellij/commit/08d2014cfea1583059338a338bc4d5f632763fdb)
    • feat: improve error reporting system by @jaeheonji in https://github.com/zellij-org/zellij/pull/1038
    • add(ci): add labels to flake update pr by @a-kenji in https://github.com/zellij-org/zellij/pull/1211
    • fix(ci): update-flake-lock by @a-kenji in https://github.com/zellij-org/zellij/pull/1213
    • flake.lock: Update by @github-actions in https://github.com/zellij-org/zellij/pull/1214
    • fix(nix): fix makeDesktopItem by @a-kenji in https://github.com/zellij-org/zellij/pull/1215
    • docs: add cargo-binstall by @jaeheonji in https://github.com/zellij-org/zellij/pull/1212
    • add(readme): built-with-nix badge by @a-kenji in https://github.com/zellij-org/zellij/pull/1220
    • fix: release tagging by @a-kenji in https://github.com/zellij-org/zellij/pull/1223
    • chore(update): pretty-bytes 0.2 -> 0.2.2 by @a-kenji in https://github.com/zellij-org/zellij/pull/1224
    • fix: deprecated function in clap by @a-kenji in https://github.com/zellij-org/zellij/pull/1225

    Full Changelog: https://github.com/zellij-org/zellij/compare/v0.26.0...v0.26.1

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(3.99 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(4.19 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.35 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.53 MB)
  • v0.26.0(Mar 11, 2022)

    What's Changed

    • fix: invalid assignment of client_id by @jaeheonji in https://github.com/zellij-org/zellij/pull/1052
    • Replace unnecessary assert_eq! with assert! by @ken-matsui in https://github.com/zellij-org/zellij/pull/1079
    • Simplify unnecessary return statements by @ken-matsui in https://github.com/zellij-org/zellij/pull/1080
    • add(conf): add action to send ^b by @a-kenji in https://github.com/zellij-org/zellij/pull/1106
    • Remove unnecessary continue by @ken-matsui in https://github.com/zellij-org/zellij/pull/1077
    • add: a few extra tmux binding keys by @casonadams in https://github.com/zellij-org/zellij/pull/1098
    • Replace sort_by with sort_by_key by @ken-matsui in https://github.com/zellij-org/zellij/pull/1089
    • fix(docs): replace the list with a table that is more readable rather than strikethrough by @ken-matsui in https://github.com/zellij-org/zellij/pull/1088
    • Remove redundant .clone() calls by @ken-matsui in https://github.com/zellij-org/zellij/pull/1085
    • Remove unnecessary borrow operators by @ken-matsui in https://github.com/zellij-org/zellij/pull/1084
    • Ensure Title doesn't overrun by @tfgast in https://github.com/zellij-org/zellij/pull/1094
    • Simplify find(..).is_some() to any(..) and use += instead by @ken-matsui in https://github.com/zellij-org/zellij/pull/1081
    • Simplify the conversion from bool to i32 by @ken-matsui in https://github.com/zellij-org/zellij/pull/1075
    • Fix a grammatical error in CONTRIBUTING.md by @ken-matsui in https://github.com/zellij-org/zellij/pull/1070
    • fix(input): handle discontiguous STDIN input by @imsnif in https://github.com/zellij-org/zellij/pull/1119
    • fix(compatibility): properly clear pane before switching to alternate screen by @imsnif in https://github.com/zellij-org/zellij/pull/1120
    • Use the clippy-check action by @ken-matsui in https://github.com/zellij-org/zellij/pull/1122
    • fix(docs): add information about clippy lints by @ken-matsui in https://github.com/zellij-org/zellij/pull/1126
    • Bump suggestion version to the latest by @ken-matsui in https://github.com/zellij-org/zellij/pull/1124
    • fix(docs): add a link to release page for roadmap by @ken-matsui in https://github.com/zellij-org/zellij/pull/1123
    • add tmux ctrl+b d shortcut for detach by @casonadams in https://github.com/zellij-org/zellij/pull/1116
    • init: nix support by @a-kenji in https://github.com/zellij-org/zellij/pull/1131
    • ci(add): update flake lock action by @a-kenji in https://github.com/zellij-org/zellij/pull/1135
    • fix: gitignore by @a-kenji in https://github.com/zellij-org/zellij/pull/1136
    • docs(add): podman as alternative to docker by @a-kenji in https://github.com/zellij-org/zellij/pull/1137
    • Fix unused code warnings by @orhun in https://github.com/zellij-org/zellij/pull/1087
    • feat: add cargo-binstall method by @jaeheonji in https://github.com/zellij-org/zellij/pull/1129
    • flake.lock: Update by @github-actions in https://github.com/zellij-org/zellij/pull/1138
    • Fix nix by @a-kenji in https://github.com/zellij-org/zellij/pull/1140
    • Init nix ci by @a-kenji in https://github.com/zellij-org/zellij/pull/1141
    • fix(compatibilty): do not use current cursor style in csi erase display by @tlinford in https://github.com/zellij-org/zellij/pull/1142
    • fix(tests): ensure e2e tests use updated plugins by @tlinford in https://github.com/zellij-org/zellij/pull/1047
    • Fix nix darwin by @a-kenji in https://github.com/zellij-org/zellij/pull/1143
    • Improve gitignore by @a-kenji in https://github.com/zellij-org/zellij/pull/1144
    • chore(deps): bump DeterminateSystems/update-flake-lock from 6 to 8 by @dependabot in https://github.com/zellij-org/zellij/pull/1147
    • Nix add man by @a-kenji in https://github.com/zellij-org/zellij/pull/1148
    • fix: Allow terminal title passthrough even when not drawing pane frames. by @KerfuffleV2 in https://github.com/zellij-org/zellij/pull/1113
    • docs(readme): move install docs to docs by @a-kenji in https://github.com/zellij-org/zellij/pull/1150
    • fix: typo in error message by @a-kenji in https://github.com/zellij-org/zellij/pull/1151
    • add: set env var's from config and layout by @a-kenji in https://github.com/zellij-org/zellij/pull/1154
    • add: editorconfig by @a-kenji in https://github.com/zellij-org/zellij/pull/1156
    • add(nix): add binary cache zellij by @a-kenji in https://github.com/zellij-org/zellij/pull/1157
    • fix(nix): remove jq by @a-kenji in https://github.com/zellij-org/zellij/pull/1158
    • fix(layout): allow lowercase keys and values by @a-kenji in https://github.com/zellij-org/zellij/pull/1160
    • add(nix): add cargo-insta by @a-kenji in https://github.com/zellij-org/zellij/pull/1162
    • add: limited set of crates to dependabot by @a-kenji in https://github.com/zellij-org/zellij/pull/1163
    • chore(deps): bump actions/checkout from 2 to 3 by @dependabot in https://github.com/zellij-org/zellij/pull/1164
    • docs: add installation instructions for Void Linux by @tranzystorek-io in https://github.com/zellij-org/zellij/pull/1165
    • fix(nix): add example to exclude by @a-kenji in https://github.com/zellij-org/zellij/pull/1168
    • fix(cargo.toml): remove reduntant resolver key by @a-kenji in https://github.com/zellij-org/zellij/pull/1170
    • docs(contributing): add a small nix section by @a-kenji in https://github.com/zellij-org/zellij/pull/1172
    • docs(contributing): add a small nix section by @a-kenji in https://github.com/zellij-org/zellij/pull/1173
    • fix(cli): list-sessions stderr on fail by @a-kenji in https://github.com/zellij-org/zellij/pull/1174
    • add(comp): dynamic completions for fish by @a-kenji in https://github.com/zellij-org/zellij/pull/1176
    • fix(comp): typo and add new option by @a-kenji in https://github.com/zellij-org/zellij/pull/1178
    • add(readme): matrix logo to the badge by @a-kenji in https://github.com/zellij-org/zellij/pull/1179
    • fix(readme): switch badges and gif by @a-kenji in https://github.com/zellij-org/zellij/pull/1180
    • add(nix): add crate2nix by @a-kenji in https://github.com/zellij-org/zellij/pull/1181
    • fix(comp): typo in long option '--generate-completion' for fish by @FollieHiyuki in https://github.com/zellij-org/zellij/pull/1183
    • refactor(tab): simplify logic for scrolling active pane by @tlinford in https://github.com/zellij-org/zellij/pull/1184
    • Improve: more explicit detach instruction by @jaeheonji in https://github.com/zellij-org/zellij/pull/1161
    • fix(floating-panes): update tooltip after hiding floating panes with mouse by @tlinford in https://github.com/zellij-org/zellij/pull/1186
    • fix(ci): give clearer names by @a-kenji in https://github.com/zellij-org/zellij/pull/1187
    • refactor(tab): simplify mouse hold and release by @tlinford in https://github.com/zellij-org/zellij/pull/1185
    • build(nix): apply overrrides correctly by @a-kenji in https://github.com/zellij-org/zellij/pull/1194
    • fix(compatibility): replace wide characters under cursor properly by @imsnif in https://github.com/zellij-org/zellij/pull/1196
    • fix(compatibility): home and end in cursor keys mode by @tlinford in https://github.com/zellij-org/zellij/pull/1190
    • feature(mouse): forward mouse events by @tlinford in https://github.com/zellij-org/zellij/pull/1191
    • build(nix): apply overlay for crate2nix by @a-kenji in https://github.com/zellij-org/zellij/pull/1198
    • add(nix): lorri integration by @a-kenji in https://github.com/zellij-org/zellij/pull/1200
    • add(nix): treefmt / alejandra by @a-kenji in https://github.com/zellij-org/zellij/pull/1201
    • fix(config): allow POSIX style --config override by @a-kenji in https://github.com/zellij-org/zellij/pull/1205

    New Contributors

    • @casonadams made their first contribution in https://github.com/zellij-org/zellij/pull/1098
    • @tfgast made their first contribution in https://github.com/zellij-org/zellij/pull/1094
    • @orhun made their first contribution in https://github.com/zellij-org/zellij/pull/1087
    • @github-actions made their first contribution in https://github.com/zellij-org/zellij/pull/1138
    • @KerfuffleV2 made their first contribution in https://github.com/zellij-org/zellij/pull/1113
    • @FollieHiyuki made their first contribution in https://github.com/zellij-org/zellij/pull/1183

    Full Changelog: https://github.com/zellij-org/zellij/compare/v0.25.0...v0.26.0

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(3.91 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(4.10 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.24 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.42 MB)
  • v0.25.0(Feb 22, 2022)

    Notable Features

    • Floating panes - you can now open a new floating pane with ctrl-p + w, or toggle floating of an existing embedded / floated window with ctrl-p + e
    • Tmux mode - Zellij now supports basic tmux keybindings for splitting panes, moving focus and opening/renaming tabs. They work out of the box without further configuration.
    • Copy directly to system clipboard - Zellij now supports a configuration that would allow it to copy directly to system clipboard, providing a workaround for terminals who previously weren't supported (eg. gnome-terminal). More information: https://zellij.dev/documentation/compatibility.html#clipboard-not-working

    Upgrading from previous versions

    This version includes new keybindings (for floating panes and tmux mode). If you have a custom configuration that unbinds all keybindings, you'll need to update it in order to be able to use these features. This can be done with zellij setup --dump-config > new-config-file.yaml. For more information: https://zellij.dev/documentation/configuration.html

    Breaking Changes

    This version includes some breaking changes for plugins. Fortunately, all of them are internally handled in the zellij-tile library. To get your plugins to work with the new version, you'll need to compile them again against the new version. If you have any questions or issues, please reach out on one of our chat servers or open an issue.

    What's Changed

    • fix: add exception for cwd does not exist by @jaeheonji in https://github.com/zellij-org/zellij/pull/995
    • feat: change dependency for process_cwd by @jaeheonji in https://github.com/zellij-org/zellij/pull/1001
    • Proposal: Allow use of system clipboard by @djpate in https://github.com/zellij-org/zellij/pull/996
    • Add option to default config for copy_command (PR #996) by @JCallicoat in https://github.com/zellij-org/zellij/pull/1019
    • Update arg parsing to clap v3 by @tranzystorek-io in https://github.com/zellij-org/zellij/pull/1017
    • feat: accept only printable unicode char by @jaeheonji in https://github.com/zellij-org/zellij/pull/1016
    • fix(scroll): scroll pane by actual amount of rows by @tlinford in https://github.com/zellij-org/zellij/pull/1025
    • fix(compatibility): handle csi erase param 3 by @tlinford in https://github.com/zellij-org/zellij/pull/1026
    • Create tokyonightDark.yaml by @Vanderscycle in https://github.com/zellij-org/zellij/pull/1015
    • fix(config): warn on mode without actions by @a-kenji in https://github.com/zellij-org/zellij/pull/1035
    • feat: add focus attribute in layout by @jaeheonji in https://github.com/zellij-org/zellij/pull/958
    • fix(compatibility): do not set scroll buffer in alternate screen by @tlinford in https://github.com/zellij-org/zellij/pull/1032
    • allow osc52 copy destination configuration by @tlinford in https://github.com/zellij-org/zellij/pull/1022
    • Solve Issue #1010 by @RobWalt in https://github.com/zellij-org/zellij/pull/1045
    • fix fzf crash by @tlinford in https://github.com/zellij-org/zellij/pull/1056
    • Add floating panes by @imsnif in https://github.com/zellij-org/zellij/pull/1066
    • chore: bump internal autocfg dependency to 1.1.0 by @tranzystorek-io in https://github.com/zellij-org/zellij/pull/1071
    • feat(ux): tmux mode by @imsnif in https://github.com/zellij-org/zellij/pull/1073
    • fix(copy): rejoin wrapped lines by @tlinford in https://github.com/zellij-org/zellij/pull/1069
    • fix(ui): floating panes UI by @imsnif in https://github.com/zellij-org/zellij/pull/1074
    • fix(ui): restore get active at by @imsnif in https://github.com/zellij-org/zellij/pull/1076
    • update demo animation by @imsnif in https://github.com/zellij-org/zellij/pull/1086

    New Contributors

    • @djpate made their first contribution in https://github.com/zellij-org/zellij/pull/996
    • @JCallicoat made their first contribution in https://github.com/zellij-org/zellij/pull/1019
    • @Vanderscycle made their first contribution in https://github.com/zellij-org/zellij/pull/1015
    • @RobWalt made their first contribution in https://github.com/zellij-org/zellij/pull/1045

    Full Changelog: https://github.com/zellij-org/zellij/compare/v0.24.0...v0.25.0

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(4.07 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(4.25 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.43 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.58 MB)
  • v0.24.0(Jan 5, 2022)

    This is a breaking change

    In this release we improved the default keybindings (for more details: https://github.com/zellij-org/zellij/pull/991) If you don't have a custom config this does not affect you.

    If you have a custom config, everything should still work as usual, except for the occasional keybinding inconsistency. You might want to re-create it though to get the new keybindings - we feel they are much more usable. You can re-create it with zellij setup --dump-config /path/to/config/file for more details: https://zellij.dev/documentation/configuration.html

    Changes

    • Terminal compatibility: properly handle insertion of characters in a line with wide characters (https://github.com/zellij-org/zellij/pull/964)
    • Terminal compatibility: properly handle deletion of characters in a line with wide characters (https://github.com/zellij-org/zellij/pull/965)
    • Fix: properly remove clients when detaching from a session (https://github.com/zellij-org/zellij/pull/966)
    • Fix: plugin theme coloring (https://github.com/zellij-org/zellij/pull/975)
    • Fix: prevent unhandled mouse events escape to terminal (https://github.com/zellij-org/zellij/pull/976)
    • Fix: ensure clippy runs on all targets (https://github.com/zellij-org/zellij/pull/972)
    • Fix: atomically create default assets every time a session starts (https://github.com/zellij-org/zellij/pull/961)
    • Fix: Allow multiple users to switch tabs with the mouse (https://github.com/zellij-org/zellij/pull/959)
    • Fix: Allow switching tabs with the mouse when pane is in fullscreen (https://github.com/zellij-org/zellij/pull/977)
    • Fix: pass bell (helpful for eg. desktop notifications) from terminal to desktop (https://github.com/zellij-org/zellij/pull/981)
    • Fix: tab click crash on mouse click with multiple users (https://github.com/zellij-org/zellij/pull/984)
    • Fix: accidental tab synchronization bug between multiple users when clicking with mouse (https://github.com/zellij-org/zellij/pull/986)
    • Fix: Properly move users out of closed tab in a multiuser session (https://github.com/zellij-org/zellij/pull/990)
    • Feature: Pass active pane title to terminal emulator (https://github.com/zellij-org/zellij/pull/980)
    • Feature: Improve default keybindings (https://github.com/zellij-org/zellij/pull/991)
    • Feature: Configurable scroll buffer size (https://github.com/zellij-org/zellij/pull/936)
    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(3.95 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(4.13 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.30 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.45 MB)
  • v0.23.0(Dec 20, 2021)

    • Feature: add collaboration support - multiple users using multiple cursors (https://github.com/zellij-org/zellij/pull/957)

    This change adds collaboration features to Zellij, and as such is a breaking change UX-wise.

    From this version, if you attach to the same Zellij session from different windows (or of course, from different machines!) - you'll get a cursor for each connected user. You can focus on different panes, or different tabs and see each other typing. To get the previous behaviour of mirroring every window, use options --mirror-session when starting the original session.

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(3.94 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(4.11 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.29 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.44 MB)
  • v0.22.0(Dec 13, 2021)

    • Fix: missing themes in configuration merge (https://github.com/zellij-org/zellij/pull/913)
    • Fix: add gray to theme section (https://github.com/zellij-org/zellij/pull/914)
    • Fix: prevent zellij session from attaching to itself (https://github.com/zellij-org/zellij/pull/911)
    • Terminal compatibility: fix flaky scrolling issue (https://github.com/zellij-org/zellij/pull/915)
    • Fix: handle pasted text properly in windows terminal (https://github.com/zellij-org/zellij/pull/917)
    • Fix: update example config options (https://github.com/zellij-org/zellij/pull/920)
    • Fix: correct handling of unbinds (https://github.com/zellij-org/zellij/issues/923)
    • Fix: improve perfomance when resizing window with a large scrollback buffer (https://github.com/zellij-org/zellij/pull/895)
    • Fix: support multiple users in plugins (https://github.com/zellij-org/zellij/pull/930)
    • Fix: update default layouts (https://github.com/zellij-org/zellij/pull/926)
    • Add: infrastructure to show distinct tips in the status-bar plugin (https://github.com/zellij-org/zellij/pull/926)
    • Feature: Allow naming panes (https://github.com/zellij-org/zellij/pull/928)
    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(3.93 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(4.11 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.28 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.42 MB)
  • v0.21.0(Nov 29, 2021)

    • Add: initial preparations for overlay's (https://github.com/zellij-org/zellij/pull/871)

    • Add: initial zellij.desktop file (https://github.com/zellij-org/zellij/pull/870)

    • Add: section for third party repositiories THIRD_PARTY_INSTALL.md (https://github.com/zellij-org/zellij/pull/857)

    • Add: suggestion for similar session name, on attach (https://github.com/zellij-org/zellij/pull/843)

    • Fix: handling and overwriting options through the cli (https://github.com/zellij-org/zellij/pull/859)

      THIS IS A BREAKING CHANGE: Previously it was only possible to turn off certain features through the cli, now it also is possible to overwrite this behavior - for that the following changed:

      • renamed and inverted:
      disable_mouse_mode -> mouse_mode
      no_pane_frames -> pane_frames
      
      • cli options added:
      mouse-mode [bool]
      pane-frames [bool]
      simplified-ui [bool]
      
      • cli flag removed:
      simplified-ui
      

      Now the cli options can optionally be toggled on, even if the config turns it off, example:

      zellij options --mouse-mode true
      
    • Fix: fix CSI cursor next line not moving cursor to beginning of line after moving it down (https://github.com/zellij-org/zellij/pull/863)

    • Refactor: Support multiple users in Tabs (https://github.com/zellij-org/zellij/pull/864)

    • Refactor: close_pane returns closed pane (https://github.com/zellij-org/zellij/pull/853)

    • Add: ability to configure zellij through layouts (https://github.com/zellij-org/zellij/pull/866)

    • Refactor: simplify terminal character style diff (https://github.com/zellij-org/zellij/pull/839)

    • Fix: improve performance with large scrollback buffer (https://github.com/zellij-org/zellij/pull/881)

    • Add: support osc8 escape code (https://github.com/zellij-org/zellij/pull/822)

    • Add: optionally leave ephemeral modes by pressing the esc key to default config (https://github.com/zellij-org/zellij/pull/889)

    • Feature: Multiple users UI for panes behind a turned-off feature flag (https://github.com/zellij-org/zellij/pull/897)

    • Add: plugin api, to provide version information to plugins (https://github.com/zellij-org/zellij/pull/894)

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(3.88 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(4.05 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.23 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.38 MB)
  • v0.20.1(Nov 10, 2021)

    • Add: initial session name to layout template (https://github.com/zellij-org/zellij/pull/789)

    • Fix: simplify matches (https://github.com/zellij-org/zellij/pull/844)

    • Add: support darwin builds on ci (https://github.com/zellij-org/zellij/pull/846)

    • Add: e2e instructions for x86 and arm darwin systems (https://github.com/zellij-org/zellij/pull/846)

    • Fix: use key-value style for docker-compose (https://github.com/zellij-org/zellij/issues/338)

    • Fix: unify zellij environment variable handling (https://github.com/zellij-org/zellij/pull/842)

    • Add: toggle boolean options with cli flags (https://github.com/zellij-org/zellij/pull/855)

    • HOTFIX: fix pasting regression (https://github.com/zellij-org/zellij/pull/858)

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(3.82 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(4.00 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.17 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.32 MB)
  • v0.20.0(Nov 8, 2021)

    • Fix: improve performance of echoed keystrokes (https://github.com/zellij-org/zellij/pull/798)
    • Add: Use hyperlinks for the setup information (https://github.com/zellij-org/zellij/pull/768)
    • Feature: Rotate Pane location (https://github.com/zellij-org/zellij/pull/802)
    • Terminal compatibility: improve handling of wide-characters when inserted mid-line (https://github.com/zellij-org/zellij/pull/806)
    • Fix: plugins are now only compiled once and cached on disk (https://github.com/zellij-org/zellij/pull/807)
    • Fix: pasted text performs much faster and doesn't kill Termion (https://github.com/zellij-org/zellij/pull/810)
    • Fix: resizing/scrolling through heavily wrapped panes no longer hangs (https://github.com/zellij-org/zellij/pull/814)
    • Terminal compatibility: properly handle HOME/END keys in eg. vim/zsh (https://github.com/zellij-org/zellij/pull/815)
    • Fix: Typo (https://github.com/zellij-org/zellij/pull/821)
    • Fix: Update cargo-make instructions post v0.35.3 (https://github.com/zellij-org/zellij/pull/819)
    • Fix: Unused import for darwin systems (https://github.com/zellij-org/zellij/pull/820)
    • Add: WriteChars action (https://github.com/zellij-org/zellij/pull/825)
    • Fix: typo and grammar (https://github.com/zellij-org/zellij/pull/826)
    • Add: rust-version - msrv field to Cargo.toml (https://github.com/zellij-org/zellij/pull/828)
    • Fix: improve memory utilization, reap both sides of pty properly and do not expose open FDs to child processes (https://github.com/zellij-org/zellij/pull/830)
    • Fix: move from the deprecated colors_transform to colorsys (https://github.com/zellij-org/zellij/pull/832)
    • Feature: plugins can now detect right mouse clicks (https://github.com/zellij-org/zellij/pull/801)
    • Fix: open pane in cwd even when explicitly specifying shell (https://github.com/zellij-org/zellij/pull/834)
    • Fix: do not resize panes below minimum (https://github.com/zellij-org/zellij/pull/838)
    • Feature: Non directional resize of panes (https://github.com/zellij-org/zellij/pull/520)
    • Add: colored crate to replace manual color formatting (https://github.com/zellij-org/zellij/pull/837)
    • Add: introduce thiserrror to simplify error types (https://github.com/zellij-org/zellij/pull/836)
    • Add: support --index option for the attach subcommand in order to choose the session indexed by the provided creation date (https://github.com/zellij-org/zellij/pull/824)
    • Fix: simplify the main function significantly (https://github.com/zellij-org/zellij/pull/829)
    • Feature: half page scrolling actions (https://github.com/zellij-org/zellij/pull/813)
    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(3.82 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(3.98 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.16 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.31 MB)
  • v0.19.0(Oct 20, 2021)

    • Fix: Prevent text overwrite when scrolled up (https://github.com/zellij-org/zellij/pull/655)
    • Add: Treat empty config files as empty yaml documents (https://github.com/zellij-org/zellij/pull/720)
    • Fix: Commands that don't interact with the config file don't throw errors on malformed config files (https://github.com/zellij-org/zellij/pull/765)
    • Add: Add config options to default config file (https://github.com/zellij-org/zellij/pull/766)
    • Fix: Properly clear "FULLSCREEN" status when a pane exits on its own (https://github.com/zellij-org/zellij/pull/757)
    • Refactor: handle clients in tabs/screen (https://github.com/zellij-org/zellij/pull/770)
    • Feature: kill-session and kill-all-sessions cli commands (https://github.com/zellij-org/zellij/pull/745)
    • Fix: Keep default file permissions for new files (https://github.com/zellij-org/zellij/pull/777)
    • Feature: Add mouse events to plugins – including strider and the tab-bar (https://github.com/zellij-org/zellij/pull/629)
    • Feature: Directional movement of panes (https://github.com/zellij-org/zellij/pull/762)
    • Refactor: More groundwork to support multiple-clients in tabs (https://github.com/zellij-org/zellij/pull/788)
    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(3.66 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(3.88 MB)
    zellij-x86_64-apple-darwin.tar.gz(3.97 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.13 MB)
  • v0.18.1(Sep 30, 2021)

  • v0.18.0(Sep 29, 2021)

    • Fix: Properly open new pane with CWD also when switching to a new tab (https://github.com/zellij-org/zellij/pull/729)
    • Feature: Option to create a new session if attach fails (zellij attach --create) (https://github.com/zellij-org/zellij/pull/731)
    • Feature: Added the new Visible event, allowing plugins to detect if they are visible in the current tab (https://github.com/zellij-org/zellij/pull/717)
    • Feature: Plugins now have access to a data directory at /data – the working directory is now mounted at /host instead of . (https://github.com/zellij-org/zellij/pull/723)
    • Feature: Add ability to solely specify the tab name in the tabs section (https://github.com/zellij-org/zellij/pull/722)
    • Feature: Plugins can be configured and the groundwork for "Headless" plugins has been laid (https://github.com/zellij-org/zellij/pull/660)
    • Automatically update example/default.yaml on release (https://github.com/zellij-org/zellij/pull/736)
    • Feature: allow mirroring sessions in multiple terminal windows (https://github.com/zellij-org/zellij/pull/740)
    • Feature: display a message when the current pane is in full-screen (https://github.com/zellij-org/zellij/pull/450)
    • Terminal compatibility: handle cursor movements outside scroll region (https://github.com/zellij-org/zellij/pull/746)
    • Terminal compatibility: scroll lines into scrollback when clearing viewport (https://github.com/zellij-org/zellij/pull/747)
    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(3.71 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(3.89 MB)
    zellij-x86_64-apple-darwin.tar.gz(4.05 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(4.19 MB)
  • v0.17.0(Sep 15, 2021)

    • New panes/tabs now open in CWD of focused pane (https://github.com/zellij-org/zellij/pull/691)
    • Fix bug when opening new tab the new pane's viewport would sometimes be calculated incorrectly (https://github.com/zellij-org/zellij/pull/683)
    • Fix bug when in some cases closing a tab would not clear the previous pane's contents (https://github.com/zellij-org/zellij/pull/684)
    • Fix bug where tabs would sometimes be created with the wrong index in their name (https://github.com/zellij-org/zellij/pull/686)
    • Fix bug where wide chars would mess up pane titles (https://github.com/zellij-org/zellij/pull/698)
    • Fix various borderless-frame in viewport bugs (https://github.com/zellij-org/zellij/pull/697)
    • Fix example configuration file (https://github.com/zellij-org/zellij/pull/693)
    • Fix various tab bar responsiveness issues (https://github.com/zellij-org/zellij/pull/703)
    • Allow plugins to run system commands (https://github.com/zellij-org/zellij/pull/666)
      • This has also added a temporary new permission flag that needs to be specified in the layout. This is a breaking change:
        ...
        plugin: strider
        ...
        

        has become:

        plugin:
          path: strider
        

        A plugin can be given command executing permission with:

        plugin:
          path: strider
          _allow_exec_host_cmd: true
        
    • Use the unicode width in tab-bar plugin, for tab names (https://github.com/zellij-org/zellij/pull/709)
    • Fix automated builds that make use of the setup subcommand (https://github.com/zellij-org/zellij/pull/711)
    • Add option to specify a tabs name in the tab layout file (https://github.com/zellij-org/zellij/pull/715)
    • Improve handling of empty valid yaml files (https://github.com/zellij-org/zellij/pull/716)
    • Add options subcommand to attach (https://github.com/zellij-org/zellij/pull/718)
    • Fix: do not pad empty pane frame title (https://github.com/zellij-org/zellij/pull/724)
    • Fix: Do not overflow empty lines when resizing panes (https://github.com/zellij-org/zellij/pull/725)
    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(3.52 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(3.69 MB)
    zellij-x86_64-apple-darwin.tar.gz(3.85 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(3.99 MB)
  • v0.16.0(Aug 31, 2021)

    • Plugins don't crash zellij anymore on receiving mouse events (https://github.com/zellij-org/zellij/pull/620)

    • A universal logging system has been implemented (https://github.com/zellij-org/zellij/pull/592)

      • Added log crate support for logging within Zellij
      • Messages sent over the stderr of plugins are now logged as well, bringing back dbg! support!
    • Add displaying of the session-name to the tab-bar (https://github.com/zellij-org/zellij/pull/608)

    • Add command to dump layouts to stdout (https://github.com/zellij-org/zellij/pull/623)

      • zellij setup --dump-layout [LAYOUT] [default, strider, disable-status]
    • Add action: ScrollToBottom (https://github.com/zellij-org/zellij/pull/626)

      • Bound by default to ^c in scroll mode, scrolls to bottom and exists the scroll mode
    • Simplify deserialization slightly (https://github.com/zellij-org/zellij/pull/633)

    • Fix update plugin attributes on inactive tab (https://github.com/zellij-org/zellij/pull/634)

    • New pane UI: draw pane frames - can be disabled with ctrl-p + z, or through configuration (https://github.com/zellij-org/zellij/pull/643)

    • Terminal compatibility: support changing index colors through OSC 4 and similar (https://github.com/zellij-org/zellij/pull/646)

    • Fix various shells (eg. nushell) unexpectedly exiting when the user presses ctrl-c (https://github.com/zellij-org/zellij/pull/648)

    • Fix line wrapping while scrolling (https://github.com/zellij-org/zellij/pull/650)

    • Indicate to the user when text is copied to the clipboard with the mouse (https://github.com/zellij-org/zellij/pull/642)

    • Terminal compatibility: properly paste multilines (https://github.com/zellij-org/zellij/pull/653 + https://github.com/zellij-org/zellij/pull/658)

    • Terminal compatibility: fix progress bar line overflow (http://github.com/zellij-org/zellij/pull/656)

    • Add action to toggle between tabs ToggleTab, bound by default to [TAB] in tab mode (https://github.com/zellij-org/zellij/pull/622)

    • Terminal compatibility: properly handle cursor shape changes in eg. Neovim (https://github.com/zellij-org/zellij/pull/659)

    • The resize and layout systems have been overhauled (https://github.com/zellij-org/zellij/pull/568)

      • Resizing a terminal then returning it to its original size will now always return panes to their original sizes and positions
      • Resize mode resizes panes by 5% of the space on screen, not some fixed number
      • Panes on-screen keep their ratios – a screen split 50/50 between two panes will remain 50/50 even as the terminal is resized (https://github.com/zellij-org/zellij/issues/406)
      • The terminal can now be resized without leaving fullscreen mode
      • Layout parts are split into equal percentages if no explicit split-size is given (https://github.com/zellij-org/zellij/issues/619)
      • Fixed display of the tab bar at small terminal widths
    • Add tabs to layouts (https://github.com/zellij-org/zellij/pull/625)

      The layout has now a template, and tabs section. The template specifies the location a tab is inserted in with body: true.

      Eg:

      ---
      template:
        direction: Horizontal
        parts:
          - direction: Vertical
            borderless: true
            split_size:
              Fixed: 1
            run:
              plugin: tab-bar
          - direction: Vertical # <= The location of
            body: true          # <= the inserted tab.
          - direction: Vertical
            borderless: true
            split_size:
              Fixed: 2
            run:
              plugin: status-bar
      tabs:
        - direction: Vertical # <= Multiple tabs can be
        - direction: Vertical # <= specified in the layout.
        - direction: Vertical
      

      The NewTab action can optionally be bound to open a layout that is assumed to be in the new tabs section

      This is a BREAKING CHANGE for people that have the NewTab action already bound in the config file:

      - action: [NewTab, ]
        key: [F: 5,]
      

      must now be specified as:

      - action: [NewTab: ,]
        key: [F: 5,]
      

      Optionally a layout that should be opened on the new tab can be specified:

      - action: [NewTab: {
        direction: Vertical,
        parts: [ {direction: Horizontal, split_size: {Percent: 50}},
        {direction: Horizontal, run: {command: {cmd: "htop"}}},],
        key: [F: 6,]
      
    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(3.45 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(3.61 MB)
    zellij-x86_64-apple-darwin.tar.gz(3.82 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(3.97 MB)
  • v0.15.0(Jul 19, 2021)

    • Kill children properly (https://github.com/zellij-org/zellij/pull/601)

    • Change name of Run binding for actions (https://github.com/zellij-org/zellij/pull/602)

    • Add running commands to layouts (https://github.com/zellij-org/zellij/pull/600)

      POSSIBLE BREAKING CHANGE for custom layouts: Plugins are under the run category now, that means:

      plugin: status-bar
      

      is now:

      run:
          plugin: status-bar
      
    • Add on_force_close config option (https://github.com/zellij-org/zellij/pull/609)

    Source code(tar.gz)
    Source code(zip)
    zellij-aarch64-apple-darwin.tar.gz(2.92 MB)
    zellij-aarch64-unknown-linux-musl.tar.gz(3.05 MB)
    zellij-x86_64-apple-darwin.tar.gz(3.21 MB)
    zellij-x86_64-unknown-linux-musl.tar.gz(3.34 MB)
Mafa is a command-line tool that helps people interact with online websites in a terminal(tty).

A Small Demo Installation Prerequisite Option 1: Cargo install (recommended) Option 2: Build from source Option 3: Prebuilt binaries Mafa is for me? W

Michael Lee 6 Jul 23, 2023
A collection of tools for i3 that assist in window, workspace and output operations.

i3-valet A collection of tools for i3 that assist in window, workspace and output operations. i3-valet can be run directly from the command line or as

Erich Heine 15 Jan 8, 2023
Utility to inherit dependencies from workspace file if it occurs 'n' or more times throughout the project.

Cargo Workspace Dependency Inheritor Utility that inherits dependencies from the main workspace if they occur n or more times in the workspace. Worksp

Timon 9 Oct 14, 2022
A gui tool written in Dioxus to make it easy to release a workspace of crates to crates.io

Easy-Release: a visual tool for releasing workspaces of libraries A work-in-progress GUI for releasing a large workspace of crates manually, but easil

Jon Kelley 13 Jan 18, 2023
A comprehensive collection of resources and learning materials for Rust programming, empowering developers to explore and master the modern, safe, and blazingly fast language.

?? Awesome Rust Lang ⛰️ Project Description : Welcome to the Awesome Rust Lang repository! This is a comprehensive collection of resources for Rust, a

Shubham Raj 16 May 29, 2023
Oxygen is a voice journal and audio analysis toolkit for people who want to change the way their voice comes across.

Oxygen Voice Journal Oxygen is a voice journal and audio analysis toolkit for people who want to change the way their voice comes across. Or rather, i

Jocelyn Stericker 32 Oct 20, 2022
xyz is a chat platform where people sign up, play a matching game, and say goodbye

xyz is an asynchronous chat and web service What you need Docker Desktop ?? Cargo (Rust package manager) ?? Clone our project Follow the steps below t

Matthew 12 Oct 11, 2023
Service-Oriented Design Patterns for Rust

SOD: Service-Oriented Design Overview This crate provides Service, MutService, and AsyncService traits and associated utilities to facilitiate service

Eric Thill 3 Apr 26, 2023
Cork is a simple command-line calculator, mainly targeted towards people who deal with hex numbers

Cork is a simple command-line calculator, mainly targeted towards people who deal with hex numbers. It deals only with integer arithmetic. Expressions may involve mixed bases (limited to decimal, hexadecimal, octal and binary numbers). The global output format may be set to a particular radix - by default it is hex.

Deep Majumder 50 Dec 22, 2022
CLI tool for generating a summary of recent github activity for people who are incredibly forgetful

CLI tool for generating a summary of recent github activity for people who are incredibly forgetful but still need to give weekly status updates to their boss without getting depressed and convincing themselves they did nothing because they can't remember what they did!

Jane Lusby 50 Dec 23, 2022
A command line tool for people of transgender experience to replace their deadname within a Git repo.

chowndn (Change Owner from Dead Name) A command line tool for people of transgender experience to replace their dead name within a Git repo. See chown

Christi Miller 23 Dec 6, 2022
Programming language made by me to learn other people how to make programming languages :3

Spectra programming language Programming language made for my tutorial videos (my youtube channel): Syntax Declaring a variable: var a = 3; Function

Adi Salimgereyev 3 Jul 25, 2023
Revolutionize handheld gaming with adaptive game settings. Optimize graphics and gameplay experience based on real-time system metrics. Open-source project empowering developers to enhance games on portable devices

Welcome to the server-side application for the HarmonyLink project. This innovative software is developed with the Rust programming language and is ai

Jordon Brooks 5 Jun 28, 2023
Ion - a CLI toolbox for Julia developers

Ion - a CLI toolbox for Julia developers Ion is a CLI toolbox for Julia developer. It provides a set of tools to help you develop Julia packages. Inst

Rogerluo 38 Mar 8, 2023
Nexa programming language. A language for game developers by a game developer

NexaLang Nexa programming language. A language for game developers by a game developer. Features High-Level: Nexa is an easy high level language Two M

Sabe 3 Aug 21, 2023
ask.sh: AI terminal assistant that can read and write your terminal directly!

ask.sh: AI terminal assistant that read from & write to your terminal ask.sh is an AI terminal assistant based on OpenAI APIs such as GPT-3.5/4! What'

hmirin 5 Jun 20, 2023
A simple and efficient terminal UI implementation with ratatui.rs for getting quick insights from csv files right on the terminal

CSV-GREP csv-grep is an intuitive TUI application writting with ratatui.rs for reading, viewing and quickly analysing csv files right on the terminal.

Anthony Ezeabasili 16 Mar 10, 2024
A terminal ASCII media player. View images, gifs, videos, webcam, YouTube, etc.. directly in the terminal as ASCII art.

Terminal Media Player View images, videos (files or YouTube links), webcam, etc directly in the terminal as ASCII. All images you see below are just m

Max Curzi 36 May 8, 2023
Warp is a blazingly fast, Rust-based terminal that makes you and your team more productive at running, debugging, and deploying code and infrastructure.

Warp is a blazingly fast, Rust-based terminal that makes you and your team more productive at running, debugging, and deploying code and infrastructure.

Warp 10.4k Jan 4, 2023