-
Plugins don't crash zellij anymore on receiving mouse events (#620)
-
A universal logging system has been implemented (#592)
- Added
log
crate support for logging within Zellij - Messages sent over the
stderr
of plugins are now logged as well, bringing backdbg!
support!
- Added
-
Add displaying of the
session-name
to thetab-bar
(#608) -
Add command to dump
layouts
to stdout (#623)zellij setup --dump-layout [LAYOUT]
[default, strider, disable-status]
-
Add
action
:ScrollToBottom
(#626)- Bound by default to
^c
inscroll
mode, scrolls to bottom and exists the scroll mode
- Bound by default to
-
Simplify deserialization slightly (#633)
-
Fix update plugin attributes on inactive tab (#634)
-
New pane UI: draw pane frames - can be disabled with ctrl-p + z, or through configuration (#643)
-
Terminal compatibility: support changing index colors through OSC 4 and similar (#646)
-
Fix various shells (eg. nushell) unexpectedly exiting when the user presses ctrl-c (#648)
-
Fix line wrapping while scrolling (#650)
-
Indicate to the user when text is copied to the clipboard with the mouse (#642)
-
Terminal compatibility: properly paste multilines (#653 + #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 (#622) -
Terminal compatibility: properly handle cursor shape changes in eg. Neovim (#659)
-
The resize and layout systems have been overhauled (#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 (#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 (#619)
- Fixed display of the tab bar at small terminal widths
-
Add
tabs
tolayouts
(#625)The layout has now a template, and tabs section.
The template specifies the location a tab is inserted in withbody: 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 newtabs
sectionThis 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,]