DWM. Часть 1. Первое знакомство
- Подробности
- Опубликовано 11.03.2016 23:55
DWM - это оконный менеджер, тайловый, созданный явно перфекцеонистом и простой до предела. Ранее мы ознакомились с ещё одным тайловым менеджером - Awesome, и DWM - ещё проще. Подумать только - весь оконный менеджер не превышает 2000 строк кода и весит меньше мегабайта! Никаких емких зависимостей - конфигурация всей системы производится путем правки исходного кода (на языке C) и последующей перекомпиляции. Пожалуй, это и является главной особенностью данного менеджера, так что в этой статье мы рассмотрим, на что же он способен.
Рассматривая любую легковесную WM из коробки, можно сказать «да в ней же ничего нет» - в Openbox после установки пустой рабочий стол, но есть меню, Awesome - так вообще тяжеловес, прочие WM порой включают в себя даже динамические панели. В DWM «ничего нет» ещё больше. Вот так выглядит рабочий стол после установки из репозитория (DWM доступен в репах большинства систем):
Меню приложений- нет, даже часов нет, лишь 9 рабочих столов, с десяток клавишных сочетаний, да три режима тайловости:
Monocle (Alt-M) - одно окно на весь экран.
Tiled (Alt-T) - тайловый режим
Floating (Alt-F) - в данном режиме можно произвольно менять размер окон, зажав Alt, ПКМ и потянув за край окна:
«Зачем в этом вообще работать» - спросите вы? Ну, работать и правда непривычно - минимализм уж слишком «хардкорный». Но попробовать такую диковинку, по крайней мере, интересно, а если привыкнуть и слегка допилить напильником под собственные нужды - становится даже удобно (серъезно, автор данной статьи, ранее сидевший на 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