- PVSM.RU - https://www.pvsm.ru -

Тайловый оконный менеджер i3

Я хотел бы продолжить начатую вчера JagaJaga [1] тему [2] тайловых оконных менеджеров рассказом об еще одном их представителе — i3wm [3]. В отличие от awesome его настройки записываются в обычном текстовом файле.

Особенности i3wm для пользователя: корректная поддержка нескольких мониторов (смотрите скрин в конце), простой текстовый конфиг-файл, нет необходимости пересобирать wm после изменения настроек, три режима расположения окон, меню запуска приложений dmenu, создает рабочие столы по мере необходимости и удаляет пустые, из коробки имеет отличную информационную панель, показывающую уровень Wi-Fi сети, заряд батареи и много еще чего.

Демонстрация от автора i3

Установка

i3wm представлен в репозиториях Debian, Arch, Gentoo, Ubunto, FreeBSD, NetBSD, OpenBSD, OpenSUSE, Mageia, Fedora и Exerbo. Я буду рассказывать на примере Ubuntu 12.04.

Нужный пакет называется i3, поэтому:

# apt-get install i3

Теперь на экране ввода пользователя и пароля можно выбрать «i3» в качестве оконного менеджера.

Настройка

При первом запуске вам предложат выбрать клавишу-модификатор. Я выбрал win для совместимости с большинством приложений.

Добавим переключение на русскую раскладку по Alt+Shift, автозагрузку dropbox, переключение между рабочими столами по mod+Control+Left/Right, блокировку экрана по mod+Control+l и спящий режим с блокировкой экрана при выходе из него по mod+Control+s.

Переключение раскладки клавиатуры настроено с помощью setxkbmap. Для этого служит

$ setxkbmap "us,ru" ",winkeys" "grp:alt_shift_toggle"

Чтобы не вводить её каждый раз после перезагрузки, создадим в корневой папке пользователя файл .xsessionrc, сделаем исполняемым и приведем к виду:

#!/bin/sh
exec setxkbmap "us,ru" ",winkeys" "grp:alt_shift_toggle"

Для автозагрузки Dropbox .xsessionrc будет выглядеть так:

#!/bin/sh
exec setxkbmap "us,ru" ",winkeys" "grp:alt_shift_toggle" &
dropbox start &

Теперь при следующем заходе в i3wm будут доступны русская и английская клавиатура.

Настройка i3 обычно производится с помощью пользовательского конфига. Создадим папку ~/.i3 и скопируем в нее шаблон конфигурации:

$ cp /etc/i3/config ~/.i3/config

Теперь вы можете на основе документации [4] выбрать настройки для себя. Я добавил следующие строки:

# lock screen
bindsym $mod+Control+l exec i3lock
# lock screen and suspend
bindsym $mod+Control+s exec i3lock && dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
# switch workspaces by mod+ctrl+left/right
bindsym $mod+Control+Left workspace prev
bindsym $mod+Control+Right workspace next

Мой конфиг [5].

Использование

Некоторые стандартные горячие клавиши, которые работают по умолчанию:

mod+Enter открывает терминал
mod+d запускает dmenu (меню сверху экрана, которое по мере ввода с клавиатуры названия приложения предлагает варианты для запуска)
mod+Shift+Q закрывает активное окно

mod+v включает режим вертикального тайлинга (экран будет делиться горизонтально)
mod+h включает режим горизонтального тайлинга (экран будет делиться вертикально)

mod+w включает режим вкладок (каждое окно на рабочем столе занимает весь экран, сверху видны вкладки)
mod+s включает стековый режим (заголовки окон один под другим, каждое окно занимает весь экран)
mod+e возвращает стандартный режим
mod+Shift+Space переключает окно в режим плавающего и обратно

mod+Left/Right/Up/Down перемещает фокус в пределах рабочего стола
mod+Shift+Left/Right/Up/Down перемещает текущее окно в пределах рабочего стола

mod+1 и т.д. переключает на рабочий стол с указанным номером

mod+Shift+C читает настройки из файла конфигурации
mod+Shift+E выходит из i3wm на экран ввода имени пользователя и пароля

Полные возможности по настройке и использованию i3wm описаны в документации [6].

Cheatsheet [7] с горячими клавишами, удобные картинки-подсказки с сайта автора:

Тайловый оконный менеджер i3 [8]

Тайловый оконный менеджер i3 [9]

Бонус

Если у вас два монитора, или встроенный экран нетбука и внешний монитор, как у меня, то i3wm отлично будет работать на них. Самое главное, что для этого не требуется никаких дополнительных настроек.

Cписок доступных мониторов:

$ xrandr -q

Настроем их работу в паре:

$ xrandr --output LVDS1 --mode 1366x768 --pos 0x0 --output VGA1  --mode 1280x1024 --pos 1366x0

где LVD1 — встроенный в нетбук монитор, его разрешение 1366x768 и он прижат к левому верхнему углу, VGA1 — внешний монитор, его разрешение 1280x1024 и он смещен на 1366 пикселей вправо относительно левого верхнего угла.

Есть результат! Слева встроенный экран нетбука, справа внешний монитор:
Тайловый оконный менеджер i3 [10]

Автор: Kenarius


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/13637

Ссылки в тексте:

[1] JagaJaga: http://habrahabr.ru/users/jagajaga/

[2] тему: http://habrahabr.ru/post/149994/

[3] i3wm: http://i3wm.org/

[4] документации: http://i3wm.org/docs/userguide.html#configuring

[5] конфиг: http://pastebin.com/download.php?i=wCpxYTbb

[6] документации: http://i3wm.org/docs/userguide.html

[7] Cheatsheet: http://i3wm.org/docs/refcard.pdf

[8] Image: http://i3wm.org/docs/keyboard-layer1.png

[9] Image: http://i3wm.org/docs/keyboard-layer2.png

[10] Image: http://img-fotki.yandex.ru/get/6509/98727647.0/0_822c6_8c23f2df_orig