Zellij
Zellij - терминальный мультиплексор, позволяющий запускать несколько терминальных сессий. 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)