I3wm. Впечатления и настройка

руководство для конечного пользователя по запуску приложения на различных операционных системах и платформах

Установка

Apple iOS

Установка c "App Store" на iPad, iPhone, iPod touch:

Войдите в учетную запись (магазин) iTunes на iOS устройстве. Перейдите по ссылке на i3 pro или введите "i3 pro" в Поиске. Установите приложение.

Ограничение доступа

Гид-доступ (Guided Access) – «режим ограниченного использования» Apple iOS, стандартная опция iOS начиная с iOS 6.

Гид-доступ позволяет заблокировать кнопку Home, чтобы нельзя было выйти из приложения. Также позволяет оставить активной только часть экрана, ограничивая работу с его областями. Постановка и снятие гид-доступа осуществляется с использованием кода-пароля. Экран блокировки и "сон" продолжают работать.

настройка:

Настройки > Основные > Универсальный доступ > Гид-доступ

Режим полезен при использовании iPad, iPhone, iPod touch как стационарной панели в магазине, гостинице, на демо-стенде, в шоу-руме, на выставке и т.д.


Google Android

Приложение доступно для установки с Google Play или сайта iRidium Mobile:

  • Установка с Google Play

Откройте Google Play на Android устройстве, найдите приложение i3 pro через Поиск и установите его.

Если Google Play не позволяет установить i3 pro ("приложение не поддерживается этим устройством"):

  1. Откройте Настройки Android устройства.
  2. Разрешите установку сторонних приложений, пункт "Неизвестные источники". Обычно этот пункт находится в разделе "Безопасность > Администрирование устройства". Однако, в зависимости от версии Andorid, он может находиться в другом разделе, например, "Приложения".
  3. Скачайте файл.apk приложения i3 pro с сайта iRidium через браузер вашего Android устройства.
  4. Запустите установку приложения через меню "Загрузки" или из файлового менеджера (например, "File Expert").

Также вы можете скачать и установить файл.apk приложения на свой ПК, а потом загрузить на карту памяти Android устройства для установки через файловый менеджер.

Microsoft Windows

Скачайте и установите с сайта iRidium Mobile приложение i3 pro в составе дистрибутива iRidium (Setup ). Приложение i3 pro.exe доступно в "Пуск > Все программы > iRidium Pro > iRidium Client".

Apple Mac OS X

  • Приложение доступно для установки с сайта iRidium Mobile:

Скачайте дистрибутив i3 pro для OS X , распакуйте архив с программой двойным кликом и скопируйте приложение в папку Applications (Программы).

  • Установка через программу iTunes на ПК или Mac:

Запустите приложение iTunes на ПК или Mac, в Поиске App Store введите "i3 pro", загрузите приложение. Синхронизируйте устройство с iTunes.

Авторизация в приложении

1 Нажмите кнопку LOGIN & PASSWORD .

Кнопка QR-CODE предназначена для пользователей системы BYOD.

2 Введите свой e-mail и пароль, затем нажмите кнопку SIGN IN .

Загрузка и запуск проекта

Проект автоматизации загружается с облака iRidium. Интегратор/разработчик должен предоставить доступ конечному пользователю к объекту, чтобы проект был доступен ему после авторизации.

По прямой ссылке

Просто нажмите кнопку "облако со стрелкой" на против требуемого проекта из списка.

С помощью встроенного сканера QR-кода

1 Смахните по экрану слева-направо. Появится системное меню.

2 Нажмите кнопку SCAN QR-CODE .

3 Отсканируйте предоставленный QR-код.

С помощью стороннего сканера QR-кода

1 Предварительно скачайте приложение i3 pro и авторизуйтесь в нем.

В отличие от 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

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

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

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

Бонус

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

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

$ xrandr -q

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

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

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

Как вы, должно быть, помните, моим первым тайловым оконным менеджером был Xmonad . Он вполне устраивает меня на стационарном компьютере, но, к сожалению, на EeePC с ним много возни — нужно допиливать индикатор батареи, выводить куда-то уровень сигнала Wi-Fi и тп. После небольшой консультации с народом в Twitter’е , я решил попробовать оконный менеджер i3.

Устанавливается i3 примерно так (ох уж эта Бубунта):

sudo apt-get install i3 i3status i3lock dmenu

Завершаем работу в текущем оконном менеджере, вводим имя пользователя и пароль, выбираем оконный менеджер i3. При первом запуске i3 спросит вас, создать ли дефолтный конфиг (да, само собой разумеется) и что использовать в качестве Mod-клавиши (Win, потому что она все равно ни для чего не нужна).

Все, мы работаем под i3. Основные сочетания клавиш следующее:

  • Mod + Enter — открыть новый терминал;
  • Mod + D — запустить любую программу через dmenu;
  • Mod + 0..9 — переключение между workspace’ами;
  • Mod + Shift + 0..9 — перемещение окон в заданный workspace;
  • Mod + Shift + Q — закрыть текущее окно;
  • Mod + Стрелочки — перемещение между окнами, вместо стрелочек также могут быть использованы клавиши «J» (влево), «K» (вниз), «L» (вверх) и «;» (вправо);
  • Mod + Shift + Стрелочки — перемещение окон в пределах workspace’а, вместо стрелочек также могут быть использованы буковки и точка с запятой;
  • Mod + V — использовать вертикальное разбиение;
  • Mod + H — использовать горизонтальное разбиение;
  • Mod + E — размещение окон по-умолчанию (default layout);
  • Mod + S — стековое размещение (stacking layout);
  • Mod + W — размещение с табами (tabbed layout);
  • Mod + F — раскрыть окно во весь экран или свернуть его обратно;
  • Mod + Shift + Пробел — разрешить свободное перемещение окна (floating mode) или вернуть его в мозаику;
  • Mod + Shift + R — рестартонуть i3 (например, после обновления конфига);
  • Mod + Shift + E — выйти из i3;

Изменить размеры окон можно перетягивая их границы с помощью мыши. Также можно перейти в режим изменения размера окна нажатием Mod + R. В этом режиме с помощью стрелочек или буковок вы выбираете границу окна, со стороны которой окно нужно уменьшить или, если нажат Shift, увеличить. Возврат в обычный режим осуществляется нажатием Enter или Escape.

Теперь рассмотрим следующий скриншот (кликабелен):

Чтобы добиться такого расположения окон, сначала я переключился на вертикальное разбиение (Mod + V) и создал три окна (Mod + Enter). Затем я по очереди выбрал каждое из трех окон (Mod + Стрелочки), для каждого из них переключился на горизонтальное разбиение (Mod + H) и создал еще по два окна. В верхнем ряду я оставил расположение по умолчанию, в среднем переключился на размещение с табами (Mod + W), а в нижнем — на стековое размещение (Mod + S).

Важным моментом здесь является то, что окна в i3 образуют древовидную структуру (с родителями и потомками). Изменение способа разбиения (Mod + H/V) создает новый контейнер (поддерево), а переключение layout’а действует только на текущий контейнер. За счет такого подхода i3 позволяет добиться куда более сложного расположения окон, чем Xmonad.

Основные конфигурационные файлы i3 — это ~/.i3/config и ~/.i3status.conf.

В ~/.i3/config я дописал:

bindsym $mod+t border toggle

Exec dropbox start
exec wicd-client -t
exec gxneur &

Bar {
position top
status_command i3status
}

Первой строчкой я повесил на сочетание Mod + T изменение border style. По-умолчанию окна в i3 имеют заголовки и границы, которые могут оказаться совершенно лишними, если у вас, например, во весь экран открыт Chrome.

Следующие три строчки добавляют на автозапуск некоторые программы. С Dropbox все понятно. Утилита wicd — это такая штука, которая висит в трее и позволяет управлять подключением к проводным и беспроводным сетям. Устанавливается она следующим образом:

sudo apt-get install wicd
sudo / etc/ init.d/ wicd start

Чтобы NetworkManager не мешал работе wicd, говорим:

sudo stop network-manager

Обратите также внимание на консольный аналог wicd, утилиту wicd-curses.

Дополнение: Все оказалось намного проще:

exec nm-applet &
exec blueman-applet &

Xneur, думаю, не нуждается в представлении. Его я использовал просто в качестве индикатора текущей раскладки клавиатуры (без которого, впрочем, вполне можно обойтись). Устанавливается xneur следующим образом:

sudo apt-get install xneur gxneur

В конце конифга (блок bar) я говорю отображать панельку с часами, треем и так далее вверху экрана, а не внизу, как это делается по-умолчанию.

За основу ~/.i3status.conf я взял файл /etc/i3status.conf. В нем я поправил формат отображения текущей даты, изменил имена сетевых интерфейсов, убрал лишнюю информацию об IPv6, DHCP и VPN . Не вижу смысла приводить здесь результат. Что радует в i3, так это интуитивно понятный формат конфигов и хорошая документация.

Ну и последним штрихом будет добавление в ~/.bashrc следующей строки:

alias lockscreen ="i3lock -c 000000"

Утилита i3lock предназначена для блокировки экрана. В отличие от многих аналогичных утилит она вообще ничего не показывает пользователю. То есть экран тупо остается черным (цвет можно изменить) до тех пор, пока не будет введен пароль текущего пользователя. Помимо определенного цвета также можно использовать картинку в формате PNG.

Логотип i3WM

В современных графических оболочках концепция тайлига очень сильно недооценивается, примитивный тайлинг есть и в Windows и в таких оболочках как KDE, Gnome, XFce. Но все это лишь частичная поддержка тайлинга. По настоящему тайлинг отлично реализован в таких оконных менеджерах как Awesome, DWM, i3WM. И сегодня как раз поговорим о последнем.

Один из самых легких, удобных и гибких в настройке оконных менеджеров Linux это несомненно i3WM. Львиную долю своей популярности он получил благодаря очень простой настройке, и в этом гайде мы разберем конфиг i3wm с примерами конфигурации оконного менеджера.

Думаю многие читатели этого поста уже знают что такое динамический оконный менеджер - коим и является i3WM. А те кто не знает - сообщаю, оконные менеджеры (составная часть любого DE) делятся на два типа, стековые (плавающие окна) и фреймовые (окна располагаются мозаикой). А если все это смешать, то получиться гибрид в виде динамических оконных менеджеров, в которых окна могут переключаться из плавающего режима в фреймовый.

Не важно почему вы выбрали именно i3wm среди многих других динамичных оконных менеджеров… Будто простота настройки (в чем вы убедитесь ниже), его легкость по сравнению с другими или же просто по совету более опытного линуксойда. Для начала я предлагаю рассмотреть что мы будем иметь из коробки после установки i3wm:

  • i3 - Собственно сам оконный менеджер
  • i3bar - «Родная» панель в i3wm все что умеет это отображение рабочих столов и строку терминала
  • i3status - Отображение некоторой информации строчкой терминала
  • i3lock - Экран разблокировки компьютера

Теперь давайте разберемся со всем по порядку.

Настройка i3WM

После запуска нас встретит окно выбора mod клавиши. Будет два варианта Meta (windows кнопка) и Alt. После запуска перед собой мы будем видеть только i3bar с запущенным в ней i3status и больше ничего.

Окно выбора Mod клавиши

В качестве терминала по умолчанию используется xterm - запускается комбинацией Mod+Enter . Не будем пока зацикливаться на управлении, уясним лишь то, что бы закрыть окно нужно нажать Mod+Shift+q , а что бы перезапустить i3 - Mod+Shift+r .

Теперь давайте проясним для себя то что нам надо

  • Обои - Для этого будем использовать Nitrogen
  • Лаунчер приложений - Тут есть много вариантов, рассмотрим мы только самые популярные
  • Анимации и VSync - Для этого нам понадобится композитор, я предлагаю Compton потому что он легкий и стабильный


Памятка стандартных хоткеев i3WM

Устройство конфига в i3WM

По умолчанию конфиг i3WM находится в папке ~/.config/i3

Вообще для того чтобы виртуозно работать с конфигом i3wm надо всего лишь знать что все что идет после # - комментарий, и еще три вещи:
1) Запуск программ происходит с помощью exec, для того чтобы наш оконный менеджер что то запустил используем следующий шаблон

exec <команда>

  1. Пример
    exec compton
    При запуске i3 - запуститься и композитор compton
  2. Пример
    exec ~/script.sh
    При запуске i3 - запуститься скрипт который лежит в домашней папке под именем script.sh
  3. Пример
    exec nitrogen - -restore
    При запуске i3 - запуститься nitrogen с опцией restore

2) Установка переменных. В i3wm можно создать переменные, работает это все как define в C++. На место переменной встанет заданная ей строчка. Переменные можно задать с помощью set.

set $<имя переменной> <значение>

  1. Пример
    set $color #023537
    Переменной $color задано значение #023537
  2. Пример
    set $fileManager pcmanfm-qt
    Переменной $fileManager заданное значение pcmanfm-qt

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

3) Комбинации клавиш задаются с помощью bindsym, синтаксис предельно прост

bindsym <комбинация> <действие>

  1. Пример
    bindsym $mod+1 workspace 1
    При нажатии mod клавиши и цифры 1 - мы перейдем на рабочий стол 1.
  2. Пример
    bindsym XF86Tools exec firefox
    При нажатии кнопки Tools - запустится FireFox
  3. Пример
    set $press XF86Search
    set $search dmenu
    bindsym $press $search
    При нажатии заданной в переменной кнопки - будет выполнена заданная в другой переменной программа.

В начале конфига стоит поправить пару строчек на свой вкус:

set $mod Mod4 # Установка mod клавиши

font pango:xos4 Terminus 8 # Установка шрифта для рамок окна

Теперь давайте поглубже копнем в создание горячих клавиш.
Скорей всего у вас на клавиатуре будет 6той ряд клавиш, который хочется использовать по полной. Что бы узнать имя клавиши я использую xev .
Запустите xev , и наведя на белое окно нажимайте нужную клавишу что бы узнать ее имя. Для удобства анализа 6го ряда запускайте его так

Этого было бы достаточно если бы не пару проблем с которыми я столкнулся когда пытался настроить некоторые клавиши.

1) Регулировка громкости. Я использую pactl для этих целей, и для работы кнопок +\- и переключения состояния микрофона и звука я использую вот такие бинды

bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +5%

bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -5%

bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle

bindsym XF86AudioMicMute exec pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo toggle

2) Регулировка яркости. Вообще вряд-ли это будет проблемой, но для того что бы более менее избавить вас от гугления - я просто покажу как это делается

bindsym XF86MonBrightnessUp exec xbacklight -inc 6
bindsym XF86MonBrightnessDown exec xbacklight -dec 6

Внешний вид

Рамки окон

Кнопки управления окном в i3wm заменены хоткеями

Изменить размер рамок окна по умолчанию можно с помощью new_window pixel <Размер рамки в пикселях> - я себе поставил 1, только чтобы видеть границы окон.

Цвет рамок окна можно задать по шаблону
<Класс окна> <Цвет границы> <Цвет фона> <Цвет текста> <Цвет индикатора>

Классы окон:
client.focused - окно в фокусе
client.unfocused - окно вне фокуса
client.focused_inactive - окно в фокусе но не активно
client.urgent - окно требует внимания (всплывающее уведомление например)

Пример настройки цвета;

# class border backgr. text indicator child_border client.focused #4c7899 #285577 #ffffff #2e9ef4 #285577 client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a client.unfocused #333333 #222222 #888888 #292d2e #222222 client.urgent #2f343a #900000 #ffffff #900000 #900000 client.background #ffffff

Ну и думаю стоит привести пример настройки цветов i3bar - все по той же схеме, только немного другие теги.

Классы индикаторов рабочих столов:

  • focused_workspace - Рабочий стол в фокусе;
  • active_workspace - Активный рабочий стол;
  • inactive_workspace - Неактивный рабочий стол;
  • urgent_workspace - На рабочем столе есть приложение которое требует внимания;

Примернастройки цветов для i3bar:

Bar { colors { background #000000 statusline #ffffff separator #666666 focused_workspace #4c7899 #285577 #ffffff active_workspace #333333 #5f676a #ffffff inactive_workspace #333333 #222222 #888888 urgent_workspace #2f343a #900000 #ffffff } }

Внешний вид приложений

Логотип Qt

Для настройки внешнего вида приложений надо будет попотеть.
Начнем с простого - настройки GTK+
Все что нам надо, это лишь программа lxappearance ,в ней можно настроить иконки, тему GTK и курсора.

Теперь сложнее - настройка Qt.
Для настройки Qt нам нужно будет всего два приложения qt4config и qt5ct .
Запускаем qt4config - выбираем тему, шрифт и т. п. - все.
Но вот если мы запустим qt5ct то увидим сообщение о отсутствии переменной среды. Чтобы исправить нам надо будет отредактировать файл Xsession , т.к я использую sddm - то у меня он находиться по адресу /usr/share/sddm/scripts/Xsession. В него нам надо добавить строчку export QT_QPA_PLATFORMTHEME="qt5ct" - после чего перелогинимся и уже спокойно можем запустить qt5ct и там провести настройку

По мимо стандартных тем для Qt можно выбрать движок тем. Советую обратить внимание на Kvantum - это SVG based движок для Qt. Простой в настройке, тем пока что мало, но то что есть выглядят очень круто и футуристично.

Анимации и VSync

Логотип CompizFusion

Мы с вами уже условились что для обеспечения красивой анимации будем использовать композитор compton , сейчас я не буду писать про то как надо настраивать его, т.к пост про i3WM а не про compton , просто покажу с чего стоит начать.

Добавим в конфиг exec compton -f --vsync drm
И после перезапуска получаем красивые переходы, прозрачность и главное вертикальную синхронизацию, все очень просто!

Обои

Интерфейс Nitrogen

Про обои мы тоже договорились что будем использовать nitrogen. Запускаем его, выбираем обоину и радуемся, все что остается, это только добавить в конфиг exec nitrogen --restore

Conky

Conky достаточно популярный виджет в мире Linux

Это необязательный пункт, но я подумал что стоит и его упомянуть, тут я просто покажу как надо запускать коньки в i3wm
exec conky -c ~/.config/i3/conky_c
Информации по настройке коньков в интернете уйма, от себя добавлю лишь то - что стоит исключить их из обработки теней в compton.

Лаунчер Приложений

Вообще под Linux есть уйма различный лаунчеров, рассмотрим самые популярные.

  • Dmenu - каноничный лаунчер, по факту это выпадающая строка терминала с автодополнением. Минималистичный и легкий.
  • Xfce AppFinder - лаунчер приложений из окружения XFace, основан на GTK+ , не сказать что удобное решение, но он простой и понятный.
  • Rofi - Достаточно гибкий лаунчер, по мимо простого запуска приложений умеет навигацию по окнам и ssh клиент.

Вывод

Прочитав этот гайд вы точно сможете настроить оконный менеджер i3WM под себя, и иметь неповторимую среду рабочего стола. Лично от себя могу добавить что именно благодаря знакомству с i3WM я осознал насколько гибок Linux, и что можно работать именно с теми инструментами которые тебе удобны. В этом плане i3WM тебя не ограничивает, надо лишь только посидеть за конфигом.

Ну раз уж такое дело, то думаю ShowMyDesktop тред в комментариях будет не лишнем.
Спасибо за внимание!

Window Manager (i3wm), not to be confused with the Intel processor or i386 architecture is a window manager that was built from scratch to circumvent some of the limitations of wmii. The i3 is popular with enthusiasts who value maximizing actual screen and keyboard operation.

To be specific, i3 is a dynamic window manager.

A window manager is less robust, but consumes much less resources than a typical desktop environment such as GNOME. The i3 specifically does not have current desktop functionality, so it has no icons, a taskbar / launcher, or a wallpaper of its own. I3bar adds desktop, status, and tray change icons instead of a traditional taskbar; The dmenu is usually used in place of a traditional launcher, and wallpapers can be added with an external utility such as feh or nitrogen. This all works towards the goal of full screen use. I3 supports gtk and qt applications and themes, but will do nothing to standardize them.

The i3 designs minimally decorated windows, usually forcing them to a size you determine, and allows them to be easily placed into many virtual workspaces, which can be organized independently with as many or as many windows as you wish.

Tiling means that windows by default are static and cannot be dragged across the workspace unless they are set to float. Although i3 supports floating windows as well as tabbed or stacked windows, tiling is usually the default and preferred setting. Tiling will ensure that at any time 100% of the available work area is being occupied and that windows never overlap.

Dynamic means you can change the arrangement of windows at any time. I3 will intelligently resize and position windows in equal parts as others are added and removed according to the mode in which it is currently set (split horizontally/vertically split). Once the windows are in place, they can also be moved, split differently and resized.

i3 in Debian

i3 not included in any official Debian installer, but it is available in major repositories.

Installation

i3 requires an X-server and is not supported by Wayland. It is available as a metapackage that includes i3-wm, i3lock, i3status, dunst, and suckless-tools.

# apt install i3

If you want to install i3 minimally without useful packages, such as i3lock and i3status, use:

# apt install i3 --no-install-recommends

Configuration

After the first login, each user will be prompted to have a configuration file generated for them such as ~ /.i3/config or ~ /.config/i3/config if this file still not exist. The prompt allows the user to select Alt or the Windows key (AKA Meta key, Start key) as the $Mod key for i3.

This key is the basis for all keybinds that the window manager will use. The Windows key is recommended because Alt is used by many other applications for other purposes. I3 will take precedence over other applications and other keybind-based functionality used by i3 will be lost.

Once the configuration file has been generated, all required configuration is complete, but most users will do a lot of editing in the configuration file to customize their i3 instance.

The most fundamental keybind in the default i3 configuration is the $Mod + d , which will launch the application startup dmenu. With dmenu, the first recommended application to run is an editor or terminal so you can read and modify the configuration file.

The configuration file is simple and quite intuitive. Keybinds can be added with:

bindsym $Mod+ bindsym $Mod+i exec firefox www.debian.org

This example launches debian.org in firefox when $mod and the "i" key are pressed.

Other configurable options include window management keybinds, window border and title bar configuration, workspace naming, application assignment to specific desktops by default, i3bar management (including autohide), startup applications and so on.

i3 must be restarted for the changes to take effect. This will not cause any applications to close, but may occasionally cause them to move.

i3 restart

Setting the restart command as a memorable keybind can save a lot of time during configuration.