Zellij

https://zellij.dev/img/logo.pngZellij - терминальный мультиплексор, позволяющий запускать несколько терминальных сессий. Tmux распространен намного больше, но я считаю, что zellij всё таки удобнее. Даже не зная хоткеев, ты можешь им пользоваться из коробки, подсказки снизу помогают. Когда практикуюсь в программировании, то запускаю neovim, в плавающем окне отправляю код в компилятор, откываю ещё какие-то вспомогательные окна, но чаще всего просто открываю btop, cmus (если слушаю музыку оффлайн) и cava параллельно с музыкой. Не знаю почему. Атмосфера почему-то становится другой. Спокойно сидишь, работаешь, параллельно у тебя на ноуте всё прикольно плавает. Глупо, но ничего с собой поделать не могу =)

 

Установить можно командой 

sudo pacman -Sy zellij

 

Я только сменил тему и создал layout для того, чтобы атмосферно слушать музыку с утилитами bottom и cava.

Полностью копировать конфиг наверное не имеет смысла. Я оставил только небольшое количество текста, которое имеет значение для меня. Полный конфиг встает вместе с установкой zellij. 

Содержимое конфига, в котором я только раскомментировал строку с темой и установил Nord.

//
// THIS FILE WAS AUTOGENERATED BY ZELLIJ, THE PREVIOUS FILE AT THIS LOCATION WAS COPIED TO: /home/tehop/.config/zellij/config.kdl.bak
//

keybinds clear-defaults=true {
    locked {
        bind "Ctrl g" { SwitchToMode "normal"; }
    }


...
 
// Choose the theme that is specified in the themes section.
// Default: default

// Я раскомментировал строку ниже и указал именно Nord. Больше я ничего не менял
theme "nord"
 
// Theme to use when the host terminal reports a dark color palette.
// Requires `theme_light` to also be set; otherwise `theme` is used.
// 
// theme_dark "dracula"

...

//   - "osc99" (kitty's notification protocol)
//   - "bell" (ring the terminal bell instead)
//   - "off" (do not forward notifications to the host terminal)
// 
// host_notification_protocol "auto"

И настроенный layout с запуском утилит с нужными пропорциями и вертикальным разделением.

layout {
    tab name="Music" focus=true {

        // Верхняя панель стандартная
        pane size=1 borderless=true {
            plugin location="zellij:tab-bar"
        }

        // Разделитель вертикальный между правыми и левой панелью.
        pane split_direction="vertical" {
  
            // Содержимое панелей:
            // Левая панель 
            // size=размер в процентном соотношении
            // command=запускаемое приложение
            // start_suspend=ожидать ли запуска руками или открыть сразу (true/false)
            pane size="45%" {
                command "btop"
                start_suspended false
            }

            // Правая панель 
            // Правая панель так же делится вертикальным разделителем, 
            // чтобы разместить в её верхней и нижней части ещё по приложению.
            pane split_direction="horizontal" {

                // Содержимое панелей:
                // Верхняя панель 
                // focus=фокус окажется в панели, в котором указан этот параметр в ture
                pane size="45%" {
                    command "cmus"
                    start_suspended false
                    focus true
                }
	            pane size="55%" {
                    command "cava"
                    start_suspended false
                }
            }
        }

        // Нижняя панель стандартная
        pane size=1 borderless=true {
            plugin location="zellij:status-bar"
        }
    }
}

Используем команду zellij --layout *путь к layout*. В моём случае ~/.config/zellij/layout/music.kdl. Каталог я создал сам.

 

Создал алиас в конфиге fish (~/.config/fish/config.fish)

alias zlj_bg='zellij --layout ~/.config/zellij/layouts/music.kdl'

Запускаю нужный layout по этому alias (zlj_bg)

 

Конфиги

⇑