В этой статье расписал, как я настроил под свои нужды i3wm. Конечно же тут можно многое еще что добавить и настроить. Можно поставить и полибар и разные плюшечки, можно поставить также и rofi для “более удобного” поиска установленных программ, но мне как-то и так хорошо. Вы если хотите можете все это себе поставить. Я даю тут все в упрощенном варианте и без особых наворотов. Далее уже вы сами подстраивате конфиги под свой вкус и цвет, под свои “фломастеры”.
Официальная документация по i3wm
Документация по i3status
i3wm в ArchWiki
Мой конфиг с пояснениями внутри
Генератор настроек i3
Сначала давайте установим все, что нам понадобится. При этом помним, что это вариант минимализма. Чтобы понять, что к чему, а далее уже будем делать рюшечки :)
Нам понадобится:
Можно еще поставить sbxkb - индикатор раскладки и переключения клавиатуры, но можно и без этого! Когда вы последний раз смотрели на раскладку? Уверены, что это вам нужно? Еслитакой вариант переклюения клавиатуры вам не нравтся, а хотите тектовой, то есть другой вариант, но для этого вам уже нужно будет ставить polibar. Если нужно то пишите в комментах. Будет много желающих напишу как это делать.
Ставим пакеты из pacman:
# pacman -S i3-wm i3-gaps i3status sbxkb dmenu pcmanfm ttf-font-awesome feh lxappearance thunar gvfs udiskie xorg-xbacklight ristretto tumbler picom
При первичной загрузке вы увидите примерно такое сообщение:
Нажмите 2 раза на Enter - это создаст конфигурационный файл, который мы потом будем менять. Вы увидите просто черный экран и возможно курсор мыши :))) Не пугайтесь все нормально, система работает и вы сделали все правильно.
Зачастую можно видеть символ загрузки, который постоянно вращается (до 60 сек.) - система пытается запустить какой-то процесс. Если вас это раздражает, то можно убрать прописав перед запуском программ код:
--no-startup-id
Устанавливаем обои на рабочий стол
exec --no-startup-id feh --bg-scale /usr/share/backgrounds/xfce/bg.jpg
Прописываем автозагрузку программ кодом
exec --no-startup-id flameshot
Я предпочел отключить заголовки окон. Освободив дополнительное пространство на рабочем столе.
default_border pixel
Для увеличение толщины рамки, чтобы было лучше видно активное окно используем следующий код:
for_window [tiling] border pixel 3
Прописываем запуск программ на определенных горячих клавишах:
bindsym $mod+F1 exec firefox
bindsym $mod+F3 exec subl
bindsym $mod+F4 exec cherrytree
bindsym $mod+F5 exec galculator
Я, к примеру, использую консольный вариант проигрывателя VLC, запуская его горячими клавишами. При этом, радио начинает играть автоматом. Авто подключение радио потока прописано в настройках vlc.
bindsym $mod+Home exec cvlc
И т.к. программа запускается без GUI, ее удобнее выключать горячими клавишами, которые просто убивают процесс vlc.
Для того, чтобы убить процесс использую команду killall -s 6
bindsym $mod+Prior exec killall -s 6 vlc
Тут возникает вопрос, что за клавиша такая “Prior”, которую мы использовали выше и как вообще найти название клавиш, которые нам хотелось бы использовать. Клавиша “Prior” - на моей клавиатуре это клавиша Pg Up/■ . Используется для управлением проигрывателя (старт, стоп, пауза, перемотка и т.д.) Для того, чтобы найти название клавиш используем утилиту xev, вбив в консоли команду:
xev
После запуска, вы увидите белый экран с квадратом вверху
Подведите курсор мышки к квадрату и не уводя с него, нажмите на нужную клавишу. В терминале увидите ее название.
Или же используйте вот эту команду, которая покажет только то что нужно, урезая все лишнее.
xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'
Думаю тут все понятно не вызовет никаких трудностей. Идем дальше.
Если определенную программу нужно открыть не в тайлинге, а в плавающем окне используйте код
for_window [class="Xfce4-terminal"] floating enable
Где “Xfce4-terminal” это название программы.
В i3wm есть фишка, которую я не встречал в других DE/WM - это запуск программ на определенном рабочем столе. Удобно, когда вы знаете, какая программа и на каком рабочем столе она запускается.
Данный код запустит Firefox на 3-м рабочем столе
for_window [class="Firefox"] move to workspace $ws3
Название программ нужно писать с заглавной буквы, иначе не сработает.
Управление яркостью экрана, нужно установить xbacklight. Он у вас уже должен стоять, если вы следуете этому ману.
bindsym XF86MonBrightnessUp exec xbacklight -inc 20
bindsym XF86MonBrightnessDown exec xbacklight -dec 20
Прежде чем вносить изменения, нужно скопировать настройки для i3status.
Для этого сначала создадим папку i3status (если у вас ее нет).
$ mkdir ~/.config/i3status
Далее копируем конфиг в домашнюю директорию, выполнив следующий код:
$ cp /etc/i3status.conf ~/.config/i3status/config
Все иконки можете брать с сайта fontawesome и вставлять в конфиг
Для того, чтобы у вас был индикатор звука используйте код:
volume master {
format = " %volume"
format_muted = ""
device = "default"
mixer = "Master"
mixer_idx = 0
}
Тут особо расписывать нечего. Смотрите мои настройки конфиг i3status
Дополнительные настройки смотрите в документации по i3status
Я сделал второй кнфиг, он с polibar, с плагином погоды, с индикатором переключения клавиатуры и другими вещами. Сам конфиг по ссылке
Вот, что вы в результате получите с этим конфигом
Надеюсь статья была вам полезна. Пишите вопросы и пожелания в комментариях и в нашей группе https://vk.com/arch4u