Pull to refresh

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

Configuring Linux **nix *
Я хотел бы продолжить начатую вчера JagaJaga тему тайловых оконных менеджеров рассказом об еще одном их представителе — i3wm. В отличие от 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

Теперь вы можете на основе документации выбрать настройки для себя. Я добавил следующие строки:
# 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


Мой конфиг.

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


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

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 описаны в документации.

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





Бонус


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

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

Настроим их работу в паре:
$ xrandr --output LVDS1 --mode 1366x768 --pos 0x0 --output VGA1  --mode 1280x1024 --pos 1366x0

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

Есть результат! Слева встроенный экран нетбука, справа внешний монитор:


Хабражитель burjui поделился ссылкой на видео про i3 с GoogleTechTalks.
Tags:
Hubs:
Total votes 45: ↑39 and ↓6 +33
Views 217K
Comments Comments 58