# Пилим i3wm
Difrex(mobile)(tavern,23) — All
2018-07-30 07:40:49


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

## Софт

Я использую Ubuntu 16.04, так что все действия актуальны для нее.

* i3-gaps

Это форк оригинального i3, где добавляются гапсы(отступы между окнами).

Сборку и установку производим так:


git clone https://github.com/Airblader/i3 -b 4.13
cd i3
dpkg-checkbuilddeps # проверяем какие зависимости нужно установить для сборки пакета, устанавливаем их.
dpkg-buildpackage -uc -us # собираем пакет
sudo dpkg -i ../i3-wm_4.13-1_amd64.deb # устанавливаем


* i3lock

Это блокировщик экрана. Ставим его из репозитория universe.

* compton

Тени, прозрачности и прочая красота. Так же ставим из официальных репозиториев.

* polybar

Панель, которую я использую в качестве замены стандартного i3bar.

Компиляем


git clone --branch 3.0.5 --recursive https://github.com/jaagr/polybar
mkdir polybar/build
cd polybar/build
cmake ..
make install


* rofi

Лаунчер. Так же ставим из репозиториев.

* feh

На самом деле - это просмотрщик изображений, но еще он позволяет установить обои.

* dunst

Уведомления(libnotify) рабочего стола.

## Конфигурация

Можно приступать к настройке WM.

~/.config/i3/config


# Клавиша super в качестве модификатора
set $mod Mod4
# Шрифты
font pango:hack 12
# Alt в качестве модификатора для управления плавающими окнами
floating_modifier Mod1
# Терминал
bindsym $mod+Return exec i3-sensible-terminal
# Закрытие окна
bindsym $mod+q kill

# Запуск лаунчера
bindsym $mod+d exec rofi -show run


Для настройки цветов лаунчера в ~/.Xresources пишем:


! ------------------------------------------------------------------------------
! ROFI Color theme
! ------------------------------------------------------------------------------
rofi.color-enabled: true
rofi.color-window: #393939, #393939, #268bd2
rofi.color-normal: #393939, #ffffff, #393939, #268bd2, #ffffff
rofi.color-active: #393939, #268bd2, #393939, #268bd2, #205171
rofi.color-urgent: #393939, #f3843d, #393939, #268bd2, #ffc39c


Hint: На сайте rofi можно найти несколько тем.

Локсрин. Я не использую комбинацию $mod+jklh для переключения между окнами, мне хватает стрелочек. Биндим i3lock на $mod+l.


# Lock desktop
bindsym $mod+l exec ~/.config/i3/lock.sh


Скрипт ~/.config/i3/lock.sh:


#!/bin/bash

# Make screenshot
scrot /tmp/screen.png

# Scale image
convert -scale 10% -scale 1000% /tmp/screen.png /tmp/screen1.png

# Clean
rm -f /tmp/screen.png

# Lock screen
i3lock -i /tmp/screen1.png


Выглядит это так:

Идем дальше по конфигу.


# Переключение между окнами:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right


Я пропущу дальше секции про управление окнами, т.к. конфиг практически ничем не отличается от дефолтоного. Удаляем/комментируем секцию с i3bar.

Убираем декорации окон


# New window size
new_window pixel


Мультимедиа кнопки


# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound

# Sreen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness


Настройка гапсов


# Эта опция нужна для того, чтобы гапсы отключались, если на эркане всего одно окно.
smart_gaps on

gaps inner 5
gaps outer 2


Автозапуск приложений


# Обои
exec feh --bg-scale /usr/share/backgrounds/gnome/Godafoss_Iceland.jpg &
# Автоблокировка экрана через 2 минуты
exec xautolock -locker ~/.config/i3/lock.sh -time 2 &
# Апллет для управления network-manager
exec nm-applet &
# Композитор
exec compton &
# Conky
exec conky -c /home/d_zheleztsov/.conkyrc &
# Почему-то без такого костыля у меня dunst запускаться не хочет
exec killall dunst && dunst -conf /home/d_zheleztsov/.config/dunst &

# Изменение цветовой температуры в зависимости от времени суток
exec redshift &

# Запускаем приложения на своих рабочих столах
exec --no-startup-id i3-msg 'workspace 1; exec firefox'
exec --no-startup-id i3-msg 'workspace 2; exec gnome-terminal'
exec --no-startup-id i3-msg 'workspace 3; exec emacs25'
exec --no-startup-id i3-msg 'workspace 4; exec pidgin'
exec --no-startup-id i3-msg 'workspace 5; exec evolution'

# Панель
exec ~/.local/bin/polybar main &


По поводу конфигурации панели будет хорошо почитать официальную вики.

## Итоговые конфиги

* i3: ~/.config/i3/config
* polybar: ~/.config/polybar/config
* conky: ~/.conkyrc

## Что получилось

Ссылка: https://difrex.lessmore.pw/post/i3wm-config/