The initial layout includes four panes:
- Tab-bar at the top
- Status-bar at the bottom
- Yazi pane (20% width) acting as a sidebar on the left
- Empty pane on the right
When you create a fifth pane, you transition to the swap layouts:
- Open and close the sidebar by switching layouts.
- The fifth pane, on the left, is where new panes will appear, stacked.
- You can add more swap layouts as needed, using the KDL files in
layouts
.
Two or more panes open with the sidebar open:
Two or more panes open with the sidebar closed:
- Sidebar Control: Now you can open and close the sidebar.
- Simplified Dependencies: No more nushell dependency. Nushell is a beautiful table-centric cross-platform shell written in Rust, but the way I used it was an ugly hack.
- Simpler Layout Files: The KDL files are more streamlined.
- Removes zjstatus Plugin: The plugin had to be downloaded and configured, while adding nothing really important.
- Status-bar is Back, baby!: Life without it isn't easy. The status-bar (help bar) makes the setup much more user-friendly.
- Install Yazi.
- Install Zellij.
- Install Helix.
- Place the files from this yazi repo in your
.config/yazi
folder. - Place the files from this repo in your
.config/zellij
folder. - This layout is named
stack_sidebar
and is pre-configured in my setup.- If you haven't copied my config, add
default_layout "stack_sidebar"
to your configuration.
- If you haven't copied my config, add
- Add your full path to
hx
inscrollback_editor
in yourzellij/config.kdl
. - It should also work with Neovim, but I haven't tested it.
- Feel free to open issues and PRs 😉
- Simplify KDL Files: Reduce code repetition.
- Flexible Sidebar Control: Enable sidebar toggling with just four panes.
- Full Yazi pane: Integrate a full Yazi pane in another swap layout (showing parents and preview, not just the current dir). Learn more
- This requires Yazi to accept config as an argument.
- Higher Helix Integration: Currently, selected files in Yazi open as a new pane in Zellij, running Helix. It would be nice to open them as a split or a buffer inside Helix (though this might be complex to code).
- Helix-friendly Remap: I'll definitely add a few remaps to zellij, so that it does not conflit with helix Learn more
This layout offers an advanced tab-bar with more features (e.g., time display, current layout).
- Setup: Change the config to
default_layout "stack_sidebar_zjstatus"
and install zjstatus, updating the path in your layout KDL file. - Use Case: If you prefer a more powerful tab-bar without a status-bar, this layout is for you.