Оконный менеджер i3. Тайловый оконный менеджер i3. Погода в строке состояния

Но по факту они были признаны негодными для использования. Первый - потому что конфигурируется через правки исходников, второй - потому что конфиг на lua и требует слишком много бубнов. (Мне любопытно, сколько времени на настройку потратили те, кто сидят под этими wm).

i3 - по слухам, требует сильно меньше усилий для настройки. Ну, чтоже...посмотрим.

Ставим i3, а также дополнительные пакеты:

$ sudo apt-get install i3 i3status i3lock dmenu

После логинимся под i3 … вуаля. При первом запуске i3 задаст несколько вопросов (где хранить конфиг и что считать mod-клавишей, то есть клавишей - модификатором. Я назначил win-клавишу, это, кстати, предлагается по умолчанию).

Основные сочетания клавиш:

  • Mod + Enter - открыть новый терминал;
  • Mod + D - запустить любую программу через dmenu;
  • Mod + 0..9 - переключение между workspace’ами (их, кстати, 10. Номер текущего высвечивается в левом нижнем углу);
  • 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;
Настраивается i3 через простые конфиг-файлы: ~/.i3/config и ~/.i3status.conf (ура! никакого lua и пересборки исходников!!!)

Кстати, ~/.i3/config - получаем путем копирования из /etc/i3.. по умолчанию ~/.i3/config отсутствует.

$ cp /etc/i3status.conf ~/.i3/i2status.conf

Ставим xxkb и загоняем его в автостарт (exec в ~/.i3/config):

Exec xxkb &

Также ставим и вписываем на автозапуск необходимые апплеты:

Exec nm-applet & exec blueman-applet &

Затем - клавиши управления звуком:

# Volume settings bindsym XF86AudioRaiseVolume exec amixer -q sset Master 3%+ bindsym XF86AudioLowerVolume exec amixer -q sset Master 3%- bindsym XF86AudioMute exec amixer -q set Master toggle

Там в общем - всё понятно. Вообще, i3 отличается редкой юзабельностью и понятностью конфигов.

Но и это, как говорится, “еще не всё”. Конфиги хорошо документированы. Достаточно посмотреть на http://i3wm.org/i3status/manpage.html (для затравки: там описано, например, как использовать dzen2 с i3) и http://i3wm.org/docs/userguide.html , чтобы понять - документировано всё, достаточно хорошо. Да, и всё, что описано в документации - работает!

  • Если хочется попробовать тайлинговый менеджер, то имеет смысл посмотреть на i3 - он, на данный момент, по моему скромному мнению, наиболее прост с точки зрения настройки
  • Придется чуть “перестроить голову”. Тайлинговый менеджер - это другой способ организации взаимодействия ПК - человек, хотим мы этого или нет. Просто - другой. Больше клавиатуры, минимум мыши. На рабочий стол файл не положить (да и сам рабочий стол так… весьма относителен).
  • Тем не менее, жить можно, и достаточно комфортно. Хотя по первости кажется - ну его нафиг! Но если это пережить (до состояния “пальцы помнят”), то становится достаточно удобно.

Лично я поработал под i3 около недели, вернулся назад (openbox и панели xfce), но вот серьезно подумыаю, что на нетбуке (стареньком 8" sony, широкоформатном до безобразия) i3 пропишется основным менеджером... причем, видимо, надолго.

Недавно мы сделали базовую настройку гик-десктопа на базе i3, но за кадром осталось множество более мелких и не совсем очевидных вещей. Сегодня мы закончим доводку рабочего стола до состояния идеала: научим dmenu управлять яркостью, громкостью и SSH-подключениями, установим правильный менеджер паролей, внедрим в десктоп переводчик любых выбранных слов и фраз, добавим в статусную панель информацию о погоде, установим блокировщик экрана и быстрый, управляемый хоткеями браузер.

Напомню, что в данный момент у тебя уже должна быть базовая инсталляция i3 с окном логина slim, терминалом lilyterm, демоном автомонтирования devmon, системой показа уведомлений twmnd, апплетом переключения раскладки gxkb и композитным менеджером compton. Это вполне самодостаточный десктоп, которым можно без проблем пользоваться. Но есть множество более мелких вещей, которые мы не затронули в предыдущей статье. Например, у нас до сих пор нет блокировщика экрана, той самой штуки, которая требует пароль после простоя или пробуждения компа от спячки.

Блокировщик экрана slock

Slock - чрезвычайно простой блокировщик экрана. Настолько простой, что в нем нет даже поля ввода для пароля. Он просто показывает черный экран, цвет которого меняется на синий, когда ты вводишь пароль, и на красный, если пароль неверен.

Slock доступен во многих дистрибутивах в форме обычного пакета. В Arch Linux его можно установить так:

$ sudo pacman -S slock

После этого выполни команду slock , чтобы заблокировать экран. Чтобы экран блокировался перед уходом компа в сон, следует создать юнит systemd следующего содержания:

Description=Lock X session using slock for user %i Before=sleep.target User=%i Environment=DISPLAY=:0 ExecStartPre=/usr/bin/xset dpms force suspend ExecStart=/usr/bin/slock WantedBy=sleep.target

Помести эти строки в файл /etc/systemd/system/[email protected] , а затем активируй юнит для текущего пользователя:

$ sudo systemctl enable slock@ИМЯ_ЮЗЕРА.service

Теперь slock будет автоматически активирован при переходе ноутбука в сон.

Настройка строки состояния

Многие пользователи i3 рекомендуют менять стандартную строку состояния i3status на нечто более прогрессивное, функциональное, красивое и замечательное. В этом есть определенный смысл, но стоит учитывать, что, в отличие от простого i3status, многие другие реализации написаны на языках bash и Python, что делает их менее эффективными и более требовательными к ресурсам.

Поэтому я рекомендую использовать i3status, но несколько расширить его функциональность. Первое, что стоит сделать, - это разместить в строке не только время, но и текущую дату и день недели. Для этого надо всего лишь исправить директиву tztime local в файле ~/.i3status.conf так, чтобы она выглядела следующим образом:

Tztime local { format = "%a %Y-%m-%d %H:%M:%S" }

Также ты можешь отключить ненужные тебе разделы строки состояния, просто закомментировав строки, начинающиеся с order:

#order += "run_watch DHCP"

Эта строка отключает показ информации о статусе DHCP. Меняя местами строки order , можно поменять расположение элементов в строке.

Ты можешь столкнуться с тем, что строка не отображает информацию о состоянии сети. Обычно проблема заключается в неверных именах сетевых устройств в конфиге. Стоит запустить команду ifconfig , чтобы узнать правильные имена, а затем прописать их в конфиг i3status. Устройства с именами, начинающимися на en, - это Ethernet-адаптеры, wl - Wi-Fi.

Вот пример настроек i3status для моего ноутбука:

Wireless wlp3s0 { format_up = "W: (%quality at %essid) %ip" format_down = "W: down" } ethernet enp0s25 { format_up = "E: %ip (%speed)" format_down = "E: down" }

Кроме статуса сети, батареи, времени, тебе также может понадобиться инфа о текущем уровне громкости. Ее легко добавить с помощью такого блока:

Volume master { format = "♪ %volume" format_muted = "♪ muted (%volume)" device = "default" mixer = "Master" mixer_idx = 0 }

и соответствующей строки в начале конфига:

Order += "volume master"

Погода в строке состояния

Строка может отображать огромное количество разной информации. Но чего в ней нет, так это средств для вывода информации о погоде. К счастью, проблему можно решить с помощью скриптов.

Для начала скачаем скрипт weather.py:

$ mkdir ~/bin $ cd ~/bin $ wget https://raw.githubusercontent.com/calzoneman/i3-weather/master/weather.py $ chmod +x weather.py

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «сайт», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!

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.

Как вы, должно быть, помните, моим первым тайловым оконным менеджером был 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 тред в комментариях будет не лишнем.
Спасибо за внимание!



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: