github zellij-org/zellij v0.16.0
Release v0.16.0

latest releases: v0.40.1, v0.40.0, v0.39.2...
2 years ago
  • 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 back dbg! support!
  • Add displaying of the session-name to the tab-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 in scroll mode, scrolls to bottom and exists the scroll mode
  • 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 to layouts (#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,]
    

Don't miss a new zellij release

NewReleases is sending notifications on new releases.