DWM. Часть 1. Первое знакомство

DWM - это оконный менеджер, тайловый, созданный явно перфекцеонистом и простой до предела. Ранее мы ознакомились с ещё одным тайловым менеджером - Awesome, и DWM - ещё проще. Подумать только - весь оконный менеджер не превышает 2000 строк кода и весит меньше мегабайта! Никаких емких зависимостей - конфигурация всей системы производится путем правки исходного кода (на языке C) и последующей перекомпиляции. Пожалуй, это и является главной особенностью данного менеджера, так что в этой статье мы рассмотрим, на что же он способен.

Рассматривая любую легковесную WM из коробки, можно сказать «да в ней же ничего нет» - в Openbox после установки пустой рабочий стол, но есть меню, Awesome - так вообще тяжеловес, прочие WM порой включают в себя даже динамические панели. В DWM «ничего нет» ещё больше. Вот так выглядит рабочий стол после установки из репозитория (DWM доступен в репах большинства систем):

DWM

 

Меню приложений- нет, даже часов нет, лишь 9 рабочих столов, с десяток клавишных сочетаний, да три режима тайловости:

Monocle (Alt-M) - одно окно на весь экран.

Tiled (Alt-T) - тайловый режим

Floating (Alt-F) - в данном режиме можно произвольно менять размер окон, зажав Alt, ПКМ и потянув за край окна:

DWM

 

«Зачем в этом вообще работать» - спросите вы? Ну, работать и правда непривычно - минимализм уж слишком «хардкорный». Но попробовать такую диковинку, по крайней мере, интересно, а если привыкнуть и слегка допилить напильником под собственные нужды - становится даже удобно (серъезно, автор данной статьи, ранее сидевший на Openbox, за пару дней использования успел привыкнуть к DWM и остался на нем). К тому же, работая с WM, которая ест, от силы, пару мегабайт RAM - вы поймете, что ваша система и правда «летает».

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

Если всё же заинтересовались, то давайте рассмотрим, как обуздать такого зверя, как DWM!

Итак, фраза «настройка производится путем редактирования исходников и перекомпиляции» - звучит страшновато, не правда ли? Даже разработчик говорит, что для работы с DWM «you only have to learn C», но на самом деле всё не так сложно - пусть DWM и не для всех, но настраивать его оказалось гораздо легче того же Awesome, для работы с которым знание Lua - чуть ли не обязательный фактор. Да и исходники DWM интуитивно понятны для правки.

Установка

Для того, чтобы просто посмотреть как это и что это такое - можно установить DWM из репозитория вашей системы. Если же намереваетесь изменять в DWM хоть что-то - ставьте из исходников, ведь потребуется частая рекомпиляция. Не будем описывать процесс сборки для каждой из систем, он подробно описан здесь для ArchLinux:

https://wiki.archlinux.org/index.php/Dwm(Русский)

Или здесь для Debian:

https://wiki.debian.org/Dwm

Исходники можно получить здесь:

http://dwm.suckless.org/

После установки и компиляции, в выбранном вами месте должен был появится файл config.h - тот самый исходник, в котором душа и сердце DWM. Рассмотрим его чуть позже, а сейчас - добавьте в файл ~/.xinitrc строки:

exec dwm

Запускайте по startx или через менеджер вроде GDM3, и осмотритесь.

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

Alt-[1,2,3...9] - переключения на рабочий стол по номеру.

Alt - j/k - фокус на следующем-предыдущем окне.

Alt-Shift-[1,2,3...9] - отправить сфокусированное окно на рабочий стол по номеру (можно сделать то же мышкой - зажать Alt на сфокусированном окне и кликнуть на один из девяти тегов).

Alt-Shift-0 - отображать сфокусированное окно на всех рабочих столах.

Alt-Shift-C - закрыть окно.

Alt-Space - смена схемы расположения.

Alt-Return - сделать сфокусированное окно основным, master (master - окно, требующее наибольшего внимания, и stacking - прочие окна) (только в тайловом режиме).

Alt-Shift-Enter - открыть терминал по умолчанию (пожалуй, самое важное сочетания, ведь меню приложений, как мы помним, нет).

Alt-Shift-Q - выйти из DWM.

Полный список хоткеев можно найти по

#man dwm

Компьютерный портал "Компаньон" © 2016.
В случае перепечатки материалов обязательна прямая ссылка на сайт cs-companion.ru.