Skip to content

luccahuguet/zellij-files

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 

Repository files navigation

Yazi-Helix File Tree v2, now with a Closeable Sidebar!

Base Layout

The initial layout includes four panes: Base Layout

  • 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

Swap Layout

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: Sidebar Open

Two or more panes open with the sidebar closed: Sidebar Closed

Improvements Over v1

  • 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.

Instructions to set it up

  1. Install Yazi.
  2. Install Zellij.
  3. Install Helix.
  4. Place the files from this yazi repo in your .config/yazi folder.
  5. Place the files from this repo in your .config/zellij folder.
  6. 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.
  7. Add your full path to hx in scrollback_editor in your zellij/config.kdl.
  8. It should also work with Neovim, but I haven't tested it.
  9. Feel free to open issues and PRs 😉

Roadmap

Future Enhancements

  • 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

Other Layouts

stack_sidebar_zjstatus (Optional) (does not feature v2 improvements)

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published