i3 (Русский) - ArchWiki

# i3 (Русский)

From ArchWiki

Related articles

- Среда рабочего стола
- Экранный менеджер
- Функциональность файлового менеджера
- Оконный менеджер
- Сравнение тайловых оконных менеджеров
- Clipboard
- Автозапуск#Графический

Эта страница нуждается в сопроводителе

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki
Состояние перевода: На этой странице представлен перевод статьи i3. Дата последней синхронизации: 4 октября 2015. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

i3 это динамический тайловый оконный менеджер вдохновленный wmii и нацеленный на разработчиков и опытных пользователей.

Клиенты (окна) располагаются внутри контейнеров и организованы в древовидную структуру. Ветки дерева могут быть разделены горизонтально или вертикально, сами контейнеры могут быть сгруппированы в режиме вкладок и в стековом режиме. Окно также может быть плавающим, однако будет располагаться на отдельном слое поверх остальных окон.

Заявленные цели для i3 содержат четкую документацию, надлежащую поддержку нескольких мониторов, древовидную структуру для окон, а также различные режимы, как в vim.

## Установка

Установите из официального репозитория группу пакетов `i3`, которая включает пакеты:

- i3-wm - непосредственно менеджер окон
- i3status, предназначенный для вывода строки статуса в i3bar через stdout
- i3lock - блокировщик экрана

Дополнительные пакеты доступны в пользовательском репозитории Arch. Установите i3-gitAUR, чтобы получить версию для разработчиков.

Также смотрите раздел #Патчи.

### Экранный менеджер

i3-wm включает в себя `i3.desktop` как Xsession который запускает оконный менеджер. `i3-with-shmlog.desktop` включает логи (полезно для отладки). Установите i3-gnomeAUR, чтобы добавить сессию GNOME.

### xinitrc

Отредактируйте ваш `~/.xinitrc`, добавив в него:

    exec i3

Если вы хотите, чтобы i3 вел лог (полезно для отладки), добавьте эту строку в `~/.xinitrc`:

    exec i3 -V >> ~/.i3/i3log 2>&1

Если вы используете бинарный драйвер Nvidia <302.17, то вам следует добавить флаг --force-xinerama в `~/.xinitrc`. Подробное описание можно найти на i3wm.org.

    exec i3 --force-xinerama

Если у вас есть проблемы с преобразованием клавиш (например `;` точки с запятой), используйте xorg-xev или смотрите Extra keyboard keys (Русский).

    $ xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'

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

Для большей информации смотрите официальную документацию, а именно i3 Пользовательское Руководство.

### Запуск приложений

i3 использует dmenu в качестве запуска приложений, которое вызывается по умолчанию `$mod+d`. В качестве альтернативы, можно использовать dmenu2AUR из AUR которое имеет намного больше возможностей, включая прозрачность и поддержку шрифтов Xft.

i3-wm содержит i3-dmenu-desktop, Perl оболочку для dmenu который использует desktop entries для создания списка всех установленных приложений. Кроме того, пакет j4-dmenu-desktop-gitAUR может быть использован; это небольшая замена i3-dmenu-desktop, но более быстрая 1.

### Назначение клавиш

В i3, команды вызываются с помощью клавиши модификатора, называющейся `$mod`. По умолчанию (Mod1) это `Alt`, с популярной альтернативой (Mod4), которая известна как `Super`.

Смотрите справочную карту i3 и Использование i3 по умолчанию. Смотрите назначение клавиш чтобы добавить новые сочетания/горячие клавиши.

### Контейнеры

Эта статья или раздел нуждается в переводе

Примечания: Руководство пользователя объясняет основное использование контейнеров, но не достаточно ясно, чтобы использовать более продвинутые варианты. Оно также не упоминает focus child as it does focus parent. Смотрите также: [1], [2] (обсуждение: Talk:I3 (Русский)#)

i3 управляет окнами в виде древовидной структуры, с контейнерами, как со строительными блоками. Эта структура филиалов с горизонтальным или вертикальным разделением. Контейнеры по умолчанию тайловые (tiled), но могут быть установлены как стэковые лэйауты (stacked layouts), таки в плавающем режиме (floating) (например для диалоговых окон). Плавающие окна всегда поверх.

Для подробностей смотрите Дерево i3 и Данные древовидной структуры и контейнеров.

## Настройка

Для подробностей смотрите Настройку i3. Данная статья предполагает, что файл настроек i3 расположен в папке `~/.config`.

### Цветовые схемы

Файл настроек позволяет настраивать цвет оформления окон, но синтаксис непрактичен для создавания или использования. Есть несколько проектов, которые делают это проще и включают в себя различные вложенные пользователями темы.

- i3-style — Изменяет ваш файл настроек в месте темы, на использование объекта JSON, предназначенного для частой доводки или изменения цветовой схемы

  https://github.com/acrisci/i3-style || nodejs-i3-styleAUR[ссылка недействительна: сохранено в aur-mirror]

- j4-make-config — Объединяет ваш файл настроек с коллекцией тем или персональных частей настроек, например настройка host-specific, позволяет быстро и гибко измененять темы, динамически кастомизировать настройки.

  https://github.com/okraits/j4-make-config || j4-make-config-gitAUR

### i3bar

В дополнение к показу информации рабочих областей, i3 bar может выступать в качестве входных данных для i3status или альтернативы, такие как те, которые упомянуты в следующем разделе. Например:

    ~/.config/i3/config

    bar {
        output            LVDS1
        status_command    i3status
        position          top
        mode              hide
        workspace_buttons yes
        tray_output       none

        font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1

        colors {
            background #000000
            statusline #ffffff

            focused_workspace  #ffffff #285577
            active_workspace   #ffffff #333333
            inactive_workspace #888888 #222222
            urgent_workspace   #ffffff #900000
        }
    }

За дополнительной информацией обращайтесь в раздел Configuring i3bar официального руководства пользователя.

#### Альтернативы i3bar

Некоторые пользователи предпочитают панели, такие как те, которые предусмотрены обычными Средами рабочего стола. Это может быть реализовано в i3, путём запуска приложения панели во время загрузки.

Для панели XFCE[broken link: invalid section], добавьте следующую строку в любом месте `~/.config/i3/config`:

    exec --no-startup-id xfce4-panel --disable-wm-check

Можно отключить i3bar закомментировав секцию `bar{ }` в `~/.config/i3/config` или используя:

    ~/.config/i3/config

    # bar toggle, hide or show
    bindsym $mod+m bar mode toggle

Таким образом, вы можете показать или скрыть бар когда пожелаете.

### i3status

Скопируйте файлы настроек по умолчанию в домашний каталог:

    $ cp /etc/i3status.conf ~/.config/i3status/config

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

#### Замены i3status

- conky — Высоко расширяемая система мониторинга. Для использования с i3bar см этот учебник

  https://github.com/brndnmtthws/conky || conky

- i3blocks — Расширяется с помощью shell-скриптов. Может обрабатывать события мыши, прерывания, и определение интервалов регенерации на основе каждого блока.

  https://github.com/vivien/i3blocks || i3blocks

- i3phtatus — Легко расширяемая замена i3status предназначена для i3bar, написан на PHP.

  https://github.com/mwgg/i3phtatus || not packaged? search in AUR

- i3pystatus — Расширяемый Python 3 статус бар со множеством плагинов и опций настроек по умолчанию.

  https://github.com/enkore/i3pystatus i3pystatus || i3pystatus-gitAUR

- i3situation — Другой Python 3 генератор статус бара.

  https://github.com/HarveyHunt/i3situation || i3situation-gitAUR

- j4status — Обеспечивает строку статуса, настраиваемую с помощью плагинов, написан на C.

  http://j4status.j4tools.org/ || j4status-gitAUR

#### Оболочки для i3status

- h2status — Баш оболочка для i3status, позволяет в качестве входных данных использовать записи в формате JSON, и может обрабатывать события мыши, а также асинхронные обновления в строке состояния.

  H2status || h2statusAUR[ссылка недействительна: сохранено в aur-mirror]

- i3cat — на основе оболочки go, которая может объединить ввод данных из нескольких внешних источников. Может обрабатывать события мыши и перенаправление указаных пользователем сигналов для своих подпроцессов.

  http://vincent-petithory.github.io/i3cat/ || i3cat-gitAUR

- py3status — Расширяемая оболочка i3status написанная на Python.

  https://github.com/ultrabug/py3status || py3status

- YaGoStatus — Еще одна оболочка для i3status (и не только) написанная на Go.

  https://github.com/burik666/yagostatus || yagostatus-gitAUR

#### Шрифты-иконки в строке состояния

i3bar может быть пропатчен для поддержки XBM icon, но вместо этого, вы можете использовать шрифты-иконки.

- ttf-font-awesome — Масштабируемые векторные иконки, которые могут быть настроены с помощью CSS. http://fortawesome.github.io/Font-Awesome/cheatsheet/ Шпаргалка] показывающая пункт Unicode для каждого символа.

  http://fortawesome.github.io/Font-Awesome/ || ttf-font-awesome

- ttf-font-icons — Непересекающаяся и последовательная смесь Awesome и Ionicons. Она также позволяет избежать дублирования между DejaVu Sans и Awesome.

  https://www.dropbox.com/s/9iysh2i0gadi4ic/icons.pdf || ttf-font-iconsAUR.

Чтобы объединить шрифты, определите последовательность переходящего в резерв шрифта в вашем файле настроек, отделяя шрифты `,` вот так:

    ~/.config/i3/config

    bar {
      ...
      font pango:DejaVu Sans Mono, Icons 8
      ...
    }

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

Добавьте иконки в формат строки в `~/.config/i3status/config` используя числа Unicode, приведенные в шпаргалке, указанной выше. Метод ввода будет варьироваться между текстовыми редакторами. Например, чтобы вставить значок "heart" (номер unicode f004):

- в различных текстовых редакторах графического интерфейса (например gedit, Leafpad) и терминалов (например GNOME Terminal, xfce4-terminal): `ctrl+shift+u`, `f004`, `Enter`
- в Emacs: `ctrl+x`, `8`, `Enter`, `f004`, `Enter`
- в Vim (Русский) (в режиме вставки): `Ctrl+v`, `uf004`
- в urxvt (Русский): удерживая `Ctrl+Shift`, наберите `f004`

### Эмулятор терминала

По умолчанию при нажатии `$mod+Return` запускается `i3-sensible-terminal` представляющий собой скрипт, вызывающий терминал. Для порядка вызова терминала, смотрите i3-sensible-terminal(1).

Вместо запуска выбора терминала, измените эту строку в `~/.config/i3/config`:

    bindsym $mod+Return exec i3-sensible-terminal

Кроме того, установите переменную `$TERMINAL`:

    $ export TERMINAL=Ваш Терминал

## Советы и хитрости

### Расширенная навигация по окнам

Смотрите i3, советы по навигациям в окнах (Англ.).

### Быстрый переход к открытому окну

- quickswitch-for-i3 – утилита, написанная на python, позволяющая быстро пеходить к окнам и менять их расположение.
- i3-wm-scripts — search for and jump to windows with particular names matching regexp

  https://github.com/yiuin/i3-wm-scripts ||

- winmenupy — Launches dmenu with a list of clients, sorted after workspaces. Selecting a client jumps to that window.

  https://github.com/ziberna/i3-py/blob/master/examples/winmenu.py ||

- rofi — Search and jump to open and scratchpad window

  https://davedavenport.github.io/rofi/ || rofi

### Быстро перейти к необходимому окну

Добавьте в`.i3/config`: [3]

    bindsym $mod+x [urgent=latest] focus

### Сохранить и восстановить расположение окон

Начиная с версии 4.8, и дальше i3 может сохранить и восстановить рабочее пространство слоёв (лэйаутов). Чтобы это сделать, необходимы следующие пакеты: perl-anyevent-i3 и perl-json-xs из оффициальных репозиториев.

Примечание: В этом разделе предоставлен быстрый урок о том как сохранить текущую раскладку окон из одного рабочего пространства, и как восстановить его для дальнейшего использования. Обратитесь к официальной документации для подробностей.

#### Сохранить текущее расположение окон одного рабочего пространства

Чтобы сохранить текущее расположение окон, выполните следующие действия:

1. Во-первых, выполните различные команды, чтобы открыть окна в предпочтительной рабочей области и измените их размер, если это необходимо. Совершите запись каждой выполненной команды для каждого окна.
2. Теперь, в новой рабочей области откройте терминал и запустите следующее:

       i3-save-tree --workspace N > ~/.i3/workspace_N.json

   где N есть число предпочтительной рабочей области. Это позволит сохранить текущую структуру рабочей области N в файл `~/.i3/workspace_N.json`.
3. Вновь созданный файл должен быть отредактирован, однако это может быть сделано с помощью следующих команд:

       tail -n +2 ~/.i3/workspace_N.json | fgrep -v '// splitv' | sed 's|//||g' > ~/.i3/workspace_N.json

#### Восстановить расположение окон на рабочем пространстве

Есть два способа восстановить расположение окон на рабочем пространстве: написав сценарий, или отредактировать `~/.i3/config` для автоматической загрузки макета. В этом разделе только первый случай будет рассматриваться, обратитесь к официальной документации для второго случая.

Для восстановления сохраненного макета в предыдущем разделе, создайте файл с именем`load_layout.sh` со следующим содержанием:

- Исходные строки:

    ~/load_layout.sh

    #!/bin/bash
    i3-msg "workspace M; append_layout ~/.i3/workspace_N.json"

где М - номер рабочей области, в которую вы хотели бы загрузить ранее сохраненный макет, и N это номер рабочей области сохранённой в предыдущем разделе.

- И команды исполльзуемые в предыдущей секции чтобы получить нужные окна, но заключённые в круглые скобки и амперсандом (&) перед последней скобкой.

Например, если сохранённый макет содержит три `uxterm` окна:

    ~/load_layout.sh

    #!/bin/bash

    # Во-первых, мы добавим сохраненный макет рабочей области N в рабочую область M
    i3-msg "workspace M; append_layout ~/.i3/workspace_N.json"

    # И, наконец, мы заполним контейнеры программами
    (uxterm &)
    (uxterm &)
    (uxterm &)

Затем установим файл как исполняемый:

    chmod u+x ~/load_layout.sh

И, наконец, расположение рабочих областей N может быть загружено в рабочие области М, запустив:

    ~/load_layout.sh

Совет: Добавьте`bindsym $mod+g exec ~/load_layout.sh` в `~/.i3/config` и перезапустите i3, сочетание Mod+g запустит этот скрипт.
Примечание: Если сценарий, описанный выше, не работает как следует, обратитесь к официальной документации. Секции swallows в `~/.i3/workspace_N.json` нужно редактировать вручную.

### Контейнер для электронного блокнота

По умолчанию, scratchpads (блокноты) содержат только одно окно. Однако контейнеры также могут быть сделаны блокнотом.

Создайте новый контейнер (например, `Mod+Enter`), разделите их (`Mod+v`) и создайте другой контейнер. Сфокусируйтесь на родительском (`Mod+a`), разделите в противоположном направлении (`Mod+h`), и создайте снова.

Фокус на первом контейнере (с акцентом родительского по мере необходимости), сделайте окно плавающим (floating) (`Mod+Shift+Space`), и переместите его в блокнот (`Mod+Shift+-`). Теперь вы можете разделить контейнеры по предпочтению.

Примечание: Контейнеры не могут быть изменены индивидуально в плавающих окнах. Измените размер контейнеров до создания плавающих окон.
Совет: При использовании только терминальных приложений, рассмотрим мультиплексор, такой как tmux.

Смотрите также [4].

### Хранитель экрана и управление питанием

Вы можете использовать DPMS на пустом экране или отправлять в режим ожидания/отключать ваш монитор. Добавьте следующие строки в ваш `~/.config/i3/config` чтобы отправить ваш монитор в режим ожидания после 10 минут простоя.

    exec --no-startup-id xset dpms 600

С xss-lock-gitAUR вы можете зарегистрировать скринлокер (экранный блокировщик) для вашей сессии i3. xss-lock подписывается на systemd-events `suspend`, `hibernate`, `lock-session`, и `unlock-session` с соответствующими действиями (запускает блокировщик и ждёт пока пользователь не разблокирует или не убъёт процесс блокировщика). Он также реагирует на X screensaver[broken link: invalid section] и работает или убивает блокировщик в ответ на сигналы x-сервера. Запустите xss-lock в вашем автозапуске добавив следующее:

    xss-lock -- i3lock -n -i background_image.png &

Кроме того, вы можете использовать xautolock для блокировки экрана после заданного периода времени:

    xautolock -time 10 -locker "i3lock -i background_image.png" &

Смотрите также #Выключение, перезагрузка, блокировка экрана и Pm-utils#Creating your own hooks[broken link: invalid section].

### Выключение, перезагрузка, блокировка экрана

Так как нет иконок на экране для Выключения, Перезагрузки и Блокировки Экрана, для удобства, мы можем задать комбинацию горячих клавиш. Ниже предпологается, что установлен polkit, чтобы позволять обычным (не привелигелированным) пользователям запускать команды управления питанием.

Добавьте следующие строки в ваш `~/.config/i3/config`, по завершению вам будет предложен запрос, когда вы нажимаете `$mod+pause`.

    set $Locker i3lock && sleep 1

    set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
    mode "$mode_system" {
        bindsym l exec --no-startup-id $Locker, mode "default"
        bindsym e exec --no-startup-id i3-msg exit, mode "default"
        bindsym s exec --no-startup-id $Locker && systemctl suspend, mode "default"
        bindsym h exec --no-startup-id $Locker && systemctl hibernate, mode "default"
        bindsym r exec --no-startup-id systemctl reboot, mode "default"
        bindsym Shift+s exec --no-startup-id systemctl poweroff -i, mode "default"

        # back to normal: Enter or Escape
        bindsym Return mode "default"
        bindsym Escape mode "default"
    }

    bindsym $mod+Pause mode "$mode_system"

Примечание:

- `sleep 1` adds a small delay to prevent possible race conditions with suspend [5]
- The `-i` argument for `systemctl poweroff` causes a shutdown even if other users are logged-in (this requires polkit), or when logind (wrongly) assumes so. [6]
- If you use xss-lock-gitAUR, call `xset s activate` to start the locker. With xautolock the command is `xautolock -locknow`
- Вы можете использовать отдельный скрипт для более сложного поведения, и ссылаться на него в режиме. Смотрите [7] для примера.

Для получения альтернативных блокировщиков экрана, смотрите этот список.

### Вкладки или стековый просмотр веб-страниц

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

Для того чтобы i3 управлял вкладками веб-браузера (в этом примере для uzbl), добавьте следующую строку в ваш `~/.config/i3/config`

    for_window [class="Uzbl-core"] focus child, layout stacking, focus

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

Если вы предпочитаете вкладки, с окнами в горизонтальном направлении ('tabs'), используйте:

    for_window [class="Uzbl-core"] focus child, layout tabbed, focus

### Переменные рабочих областей

Так как рабочих областей в i3 определено много, будет полезно присвоить переменные рабочим областям. Например [8]:

    set $WS1 term
    set $WS2 web
    set $WS3 misc
    set $WS4 media
    set $WS5 code

Затем замените имена рабочих области в соответствии с их переменной:

    bindsym $mod+1          workspace $WS1
    ...
    bindsym $mod+Shift+1    move container to workspace $WS1

Для болшей информации смотрите изменение названий рабочих областей.

### Правильное обращение с плавающими диалогами

Многие диалоги должны открываться, по умолчанию, в плавающем режиме (floating), но многие до сих пор открываются в тайловом режиме (tiling). Чтобы изменить это поведение, проверьте WM_WINDOW_ROLE с xorg-xprop и добавьте правильные правила в `~/.i3/config` используя pcre синтаксис):

    for_window [window_role="pop-up"] floating enable
    for_window [window_role="task_dialog"] floating enable

Вы также можете использовать как правило титл и названия регулярных выражений:

    for_window [title="Preferences$"] floating enable

или `WM_CLASS`:

    for_window [class="(?i)mplayer"] floating enable

### Скорость Загрузки/Отдачи сети в statusbar

Вы можете адаптировать этот скрипт. Для этого,

- переименуйте обе ваши сетевые карты в соответствии с вашей системой (используйте `ip addr`)
- найдите их `/sys/devices` затем замените соответствующими:

    $ find /sys/devices -name network_interface

Совет: Использование `/sys/class/net/interface/statistics/` не зависит от расположения PCI.

Теперь просто сохраните сценарий в подходящем месте (например `~/.config/i3`) и укажите вашу программу статуса.

## Патчи

Пакеты с патчами, не вошедшими в апстрим, доступны в AUR:

- i3bar-icons-git — Отоброжает иконки XBM в i3bar

  https://github.com/ashinkarov/i3-extras || i3bar-icons-gitAUR[ссылка недействительна: сохранено в aur-mirror]

- i3-smart-border — Умные границы (borders)

  https://github.com/ashinkarov/i3-extras || i3-smart-borderAUR[ссылка недействительна: сохранено в aur-mirror]

- i3-wm-iconpatch — Поддержка значков в Titlebar

  https://github.com/ashinkarov/i3-extras || i3-wm-iconpatchAUR

## Решение проблем

### Общее

Эта статья или раздел нуждается в переводе

Примечания: Официальные инструкции отладки не могут работать как хотелось бы, поэтому дополните этот раздел (обсуждение: Talk:I3 (Русский)#)

Во многих случаях, ошибки фиксируются в разрабатываемой версии i3-gitAUR (из AUR) и в апстриме попросят воспроизвести какие-либо ошибки в этой версии. [9] Смотрите также Debug - Getting Traces#General.

### Кнопки в строке сообщений i3 не работают

Кнопки, такие как "Edit config" в `i3-msg` вызывают `i3-sensible-terminal`, поэтому убедитесь, что ваш #Эмулятор терминала признаётся i3.

### Неисправная строка оболочки в тайловом терминале

i3 v4.3 и выше игнорирует размер инкремента подсказки для тайловых окон [10]. This may cause terminals to wrap lines prematurely, amongst other issues. As a workaround, make the offending window floating, before tiling it again.

### Курсор мыши остается в режиме ожидания

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

Чтобы решить эту проблему для конкретного приложения, используйте параметр `--no-startup-id`, например:

    exec --no-startup-id ~/script
    bindsym $mod+d exec --no-startup-id dmenu_run

Чтобы отключить эту анимацию в глобальном масштабе, смотрите Темы курсора#Создание ссылок на недостающие курсоры.

### Не реагируют сочетания клавиш

Некоторые утилиты, такие как scrot могут не работать при использовании регулярных горячих клавиш (выполнятся после нажатия клавиш). В таких случаях, выполняйте команду после ключа "освобождения" с параметром `--release` [11]:

    bindsym --release Print exec --no-startup-id scrot
    bindsym --release Shift+Print exec --no-startup-id scrot -s

### Тиринг (разрыв картинки по горизонтали)

i3 не должным образом осуществляет двойную буферизацию следовательно, может появится тиринг или мерцание. Чтобы предотвратить это, установите и настройте compton. [12]

## Смотри также

- Comparison of tiling window managers (Русский) - Сравнение тайловых оконных менеджеров.
- Официальный сайт
- funtoo Wiki
- i3 Исходный код
- i3-extras - Коллекция скриптов и патчей
- i3ipc-glib - Библиотека расширений i3
- i3ipc-ruby - Усовершенствованная библиотека расширений i3 на Ruby
- j4tools - неофициальные утилиты предназначенные для работы с i3

Arch Linux Forums

- The i3 thread - A general discussion about i3
- i3 desktop screenshots and config sharing

Screencasts

- i3 window manager v4.1 screencast

Categories:

- Русский
- Tiling WMs (Русский)
- Dynamic WMs (Русский)

Hidden categories:

- Pages with broken package links
- Pages with broken section links
- Pages with missing package links