Я хотел бы продолжить начатую вчера 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 пикселей вправо относительно левого верхнего угла.
Есть результат! Слева встроенный экран нетбука, справа внешний монитор:
Автор: Kenarius
отличный оконный менеджер! поставил на арч – доволен как слон. грузится за пару секунд. с трекпоинтом ваще тема лютая. также можно менять темы оформления.