feat(zellij): added zellij terminal multiplexer

This commit is contained in:
Sergio Laín 2024-04-09 21:15:24 +02:00
parent df83540a29
commit c8cf35239c
No known key found for this signature in database
GPG key ID: 14C9B8080681777B
8 changed files with 175 additions and 0 deletions

View file

@ -249,4 +249,5 @@ yarn 1.22.22-1
yazi 0.2.4-1 yazi 0.2.4-1
zathura 0.5.5-2 zathura 0.5.5-2
zathura-pdf-mupdf 0.4.1-19 zathura-pdf-mupdf 0.4.1-19
zellij 0.39.2-4
zoxide 0.9.4-2 zoxide 0.9.4-2

3
.config/zellij/.github/README.md vendored Normal file
View file

@ -0,0 +1,3 @@
<div align="center">
<a href=""><img src="./title.png"></a>
</div>

BIN
.config/zellij/.github/title.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

111
.config/zellij/config.kdl Normal file
View file

@ -0,0 +1,111 @@
keybinds {
}
plugins {
tab-bar { path "tab-bar"; }
status-bar { path "status-bar"; }
strider { path "strider"; }
compact-bar { path "compact-bar"; }
}
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// Options:
// - detach (Default)
// - quit
on_force_close "detach"
// Send a request r a simplified ui (without arrow fonts) to plugins
// Options:
// - true
// - false (Default)
simplified_ui false
// Choose the path to the default shell that zellij will use for opening new panes
// Default: $SHELL
//
// default_shell "fish"
// Toggle between having pane frames around the panes
// Options:
// - true (default)
// - false
pane_frames true
// Choose the theme that is specified in the themes section.
// Default: default
// theme "catppuccin-macchiato"
theme "default"
// The name of the default layout to load on startup
// Default: "default"
default_layout "terminal"
// Choose the mode that zellij uses when starting up.
// Default: normal
default_mode "normal"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
mouse_mode true
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// Valid values: positive integers
// Default value: 10000
//
// scroll_buffer_size 10000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// that will be used by default if this option is not set.
// Examples:
//
// copy_command "xclip -selection clipboard" // x11
copy_command "wl-copy" // wayland
// copy_command "pbcopy" // osx
// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
// Does not apply when using copy_command.
// Options:
// - system (default)
// - primary
copy_clipboard "system"
// Enable or disable automatic copy (and clear) of selection when releasing mouse
// Default: true
copy_on_select true
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
//
// scrollback_editor "/usr/bin/vim"
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// Default: false
//
// mirror_session true
// The folder in which Zellij will look for layouts
//
// layout_dir "/path/to/my/layout_dir"
// The folder in which Zellij will look for themes
//
// theme_dir "/path/to/my/theme_dir"
ui {
pane_frames {
rounded_corners true
}
}

View file

@ -0,0 +1,44 @@
layout {
default_tab_template {
children
pane size=1 borderless=true {
plugin location="file:~/.config/zellij/plugins/zjstatus.wasm" {
format_left "{mode} #[fg=#8aadf4,bold]{session}"
format_center "{tabs}"
format_right "{command_git_branch} {datetime}"
format_space ""
border_enabled "true"
border_char "─"
border_format "#[fg=#6C7086]{char}"
border_position "top"
command_git_branch_command "git rev-parse --abbrev-ref HEAD"
command_git_branch_format "#[fg=blue] {stdout} "
command_git_branch_interval "10"
command_git_branch_rendermode "static"
hide_frame_for_single_pane "true"
mode_normal "#[bg=blue] "
mode_locked "#[bg=red] "
mode_pane "#[bg=green] "
mode_tab "#[bg=magenta] "
mode_search "#[bg=orange] "
mode_session "#[bg=yellow] "
mode_tmux "#[bg=cyan] "
tab_normal "#[fg=#6e738d] {name} "
tab_active "#[fg=#939ab7,bold,italic] {name} "
tab_active_fullscreen "#[fg=#939ab7,bold,italic] {name} []"
datetime "#[fg=#939ab7,bold] {format} "
datetime_format "%A, %d %b %Y %H:%M"
datetime_timezone "Europe/Madrid"
}
}
}
tab name="terminal" {
pane size="90%"
}
}

Binary file not shown.

View file

@ -0,0 +1,15 @@
themes {
default {
bg "#24273a" // Surface2
fg "#b7bdf8" // Lavender
red "#ed8796" // Red
green "#a6da95" // Green
blue "#8aadf4" // Blue
yellow "#eed49f" // Yellow
magenta "#f5bde6" // Pink
orange "#f5a97f" // Peach
cyan "#91d7e3" // Sky
black "#1e2030" // Mantle
white "#cad3f5" // White
}
}

1
.github/README.md vendored
View file

@ -130,6 +130,7 @@ Here is all the information about my setup:
| --------------------------- | ------------------------------------------------------------------------------------------------ | | --------------------------- | ------------------------------------------------------------------------------------------------ |
| **Shell** | 💖 [fish](https://fishshell.com/) [:gear:](../.config/fish/) | | **Shell** | 💖 [fish](https://fishshell.com/) [:gear:](../.config/fish/) |
| **Terminal Emulator** | 💖 [kitty](https://sw.kovidgoyal.net/kitty/) [:gear:](../.config/kitty/) | | **Terminal Emulator** | 💖 [kitty](https://sw.kovidgoyal.net/kitty/) [:gear:](../.config/kitty/) |
| **Terminal Multiplexer** | [zellij](https://github.com/zellij-org/zellij) [:gear:](../.config/zellij/) |
| **Shell Prompt** | [starship](https://starship.rs/) [:gear:](../.config/starship/) | | **Shell Prompt** | [starship](https://starship.rs/) [:gear:](../.config/starship/) |
| **Text Editor** | 💖 [neovim](https://neovim.io/) [:gear:](../.config/nvim/) | | **Text Editor** | 💖 [neovim](https://neovim.io/) [:gear:](../.config/nvim/) |
| **Shell History** | [atuin](https://github.com/atuinsh/atuin) [:gear:](../.config/atuin/) | | **Shell History** | [atuin](https://github.com/atuinsh/atuin) [:gear:](../.config/atuin/) |