DWM тайлінг

Ну чим можна зайнятися лінуксоїду, у якого в системі все, все рішуче працює? Звичайно ж, довести до ладу свій віконний менеджер. Або спробувати новий.

Наприклад, dwm – динамічний фреймовий віконний менеджер. Написаний мовою C. Налаштування проводиться за допомогою редагування заголовного файлу, для чого необхідно мати вихідні коди dwm. Якщо вас не лякає перспектива витратити годину-другу на налаштування цієї штуки під свої потреби, то приступимо.

Тут поміняємо каталог /var/abs на якийсь інший. Можна залишити за замовчуванням, але тоді всі вихідники ляжуть в директорію /var, що не є добре, якщо під розділ розділу виділено мало місця.

Синхронізуємо дерево abs:

Якщо вам не потрібна вся колекція abs, можна отримати лише dwm:

Чудово. Тепер знаходимо dwm і починаємо розбиратися з його налаштуванням. Перейдіть у потрібну директорію

Вносимо потрібні редагування (про це нижче) і збираємо пакет для встановлення. Але заждіть! Адже ми порушимо цілісність файлу, змінивши його, відповідно, не пройдемо перевірку на контрольні суми. Що ж, відключимо цю перевірку. Отже, встановлення:

Додайте у ваш .xinitrc запис

І заходьте по startx - ласкаво просимо!

Можна приступати до налаштування, але... спочатку дозвольте розпалити ваш апетит. Погляньмо, що ми можемо отримати в результаті. Насамперед тайлові wm проповідують принцип “нічого зайвого”:

вікна

Як налаштувати ?

Подивимося, що можна змінити у файлі config.h

Насамперед це шрифт. Тут потрібно трохи змінити налаштування, оскільки в іншому випадку у статус-барі будуть кумедні “кракозябри” замість кирилиці.

Для визначення підтримки тим чи іншим шрифтом кирилиці, використовуйте утилітуxfontsel.

Вам може знадобитися явно вказати шляхи до шрифтів у файлі /etc/X11/xorg.conf :

Далі йде налаштування кольорів статус-бару:

  • normbordercolorp[] = колір меж вікна
  • normbgcolor[] = колір тла
  • normfgcolor[] = колір тексту в статус-барі
  • selbordercolor[] = колір меж активного вікна
  • selbgcolor[] = колір фону заголовка вікна
  • selfgcolor[] = колір тексту заголовка вікна
  • borderpx = ширина меж вікна

Налаштуємо як нам подобається наші теги (це щось на зразок робочих столів в інших менеджерах вікон)

Тепер замість цифр ми маємо зрозумілі позначення для кожного тега.

Як і у всіх – мені відомих – віконних менеджерах, dwm використовує клавішу-модифікатор. За замовчуванням це Mod1Mask - клавіша Alt . Щоб змінити її на клавішу super (там, де логотип windows) - змінимо запис #define MODKEY :

Налаштування гарячих клавіш. З наведеного нижче коду ясно, що натискання кнопки-модифікатора + p викличе dmenu , натискання кнопки-модифікатора + Return (Enter) викличе емулятор терміналу, ну і так далі. В принципі, стандартні позначення цілком зручні і навряд чи вам захочеться їх змінювати. Ми повернемося до цього трохи пізніше, далі буде наведено повніший перелік гарячих клавіш.

Налаштування правил для додатків

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

1 "0 - запуск на першому тезі 1" 2 - запуск на третьому тезі 1 "3 - запуск на четвертому тезі і так далі

isfloating вказує на те, чи будуть вікна програми плаваючими

Розташування вікон. Гарячі клавіші

За замовчуванням DWM підтримує три режими розташування вікон, плитковий []= , монокль [M] , плаваючий><>. Як правило, цього досить.

За замовчуванням під час запуску dwm відображається режим плитки вікон. Щоб поставити замість нього свій улюблений режим, просто знайдіть вказані нижче рядки і поставте потрібний режим на перше місце:

колір

Поєднання гарячих клавіш з модифікацією MODKEY у нас вийшло таким:

Super + M - монокль

Super + T - плитка

Super + F - плаваючі вікна

Super + N – перейти на тег, N – номер тега

Super + p – dmenu, якщо встановлено

Super + Shift + q - вихід із dwm

Super + Shift + N - перенести вікно на відповідний тег

Super + Shift + C - закрити вікно

Super + K – перехід на неактивне вікно

Super + J - те саме, загалом переміщення між вікнами

Alt + Tab - перехід до наступного/попереднього тега

Додаткові плюшки та запуск

Dwm не має спеціальних налаштувань для запуску додатків. Все, що запускав ваш openbox (вірно?) з файлу autostart, прописується просто в .xinitrc

Звичайно, якщо ви захочете відображати інформацію з conky, потрібно буде зробити його коротшим ;) Так, щоб він вміщався в статус бар dwm.