Налаштування i3WM, Losst

У сучасних графічних оболонках концепція тайліга дуже недооцінюється, примітивний тайлінг є і 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 тому що він легкий та стабільний

losst

losst
Пам'ятка стандартних хоткеїв i3WM

Пристрій конфігу в i3WM

За промовчанням конфіг i3WM знаходиться в папці

  1. Приклад exec compton Під час запуску i3 - запуститися і композитор compton
  2. Приклад exec

/script.sh При запуску i3 — запуститися скрипт, який лежить у домашній папці під ім'ям script.sh

  • Приклад exec nitrogen - -restore При запуску i3 - запустити nitrogen з опцією restore
  • 2) Встановлення змінних. У i3wm можна створити змінні, працює все це як define в C++. На місце змінної стане заданий їй рядок. Змінні можна встановити за допомогою set.

    1. Приклад set $color #023537 Змінною$color встановлено значення #023537
    2. Приклад set $fileManager pcmanfm-qt Змінної$fileManager задане значення pcmanfm-qt

    Змінні зручно використовувати створюючи блок налаштувань,щоб потім не бігати конфігою i3wm і не шукати потрібний пункт.

    3) Комбінації клавіш задаються за допомогою 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 # Установка шрифту для рамок вікна

    Цього було б достатньо якби не кілька проблем, з якими я зіткнувся, коли намагався налаштувати деякі клавіші.

    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 — вікно вимагає уваги (наприклад, спливаюче повідомлення)

    Приклад налаштування кольору;

    Ну і думаю, варто навести приклад налаштування кольорів i3bar - все за тією ж схемою, тільки трохи інші теги.

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

    • focused_workspace — робочий стіл у фокусі;
    • active_workspace - Активний робочий стіл;
    • inactive_workspace - Неактивний робочий стіл;
    • urgent_workspace — На робочому столі є програма, яка потребує уваги;

    Прикладналаштування кольорів для i3bar:

    Зовнішній вигляд додатків

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

    По мимо стандартних тем для Qt можна вибрати движок тем. Раджу звернути увагу наKvantum - це SVG based двигун для Qt. Простий в налаштуванні, тим поки що мало, але те, що є, виглядають дуже круто і футуристично.

    Анімації та VSync

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

    Додамо в конфіг exec compton -f --vsync drm І після перезапуску отримуємо гарні переходи, прозорість та головне вертикальнусинхронізацію, все дуже просто!

    losst

    Про шпалери ми теж домовилися, що будемо використовувати nitrogen. Запускаємо його, вибираємо шпалери і радіємо, все що залишається, це тільки додати в конфіг exec nitrogen --restore

    i3wm

    Conky досить популярний віджет у світі Linux

    Це необов'язковий пункт, але я подумав, що варто і його згадати, тут я просто покажу як треба запускати ковзани в i3wm exec conky -c

    /.config/i3/conky_c Інформації з налаштування ковзанів в інтернеті безліч, від себе додам лише те - що варто виключити їх з обробки тіней в compton.

    Лаунчер Додатків

    Взагалі під Linux є безліч різних лаунчерів, розглянемо найпопулярніші.

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

    налаштування

    Прочитавши цей гайд, ви точно зможете налаштувати віконний менеджер i3WM під себе, і мати неповторне середовище робочого столу. Особисто від себе можу додати, що саме завдяки знайомству з i3WM я усвідомив наскільки гнучкий Linux, і що можна працювати саме з тими інструментами, які тобі зручні. У цьому плані i3WM тебе не обмежує, треба тільки посидіти за конфігом.

    Настійно рекомендую прочитати Офіційний гайд