UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

127 lines (79 loc) 10.8 kB
Ссылки по теме * [dmenu](/index.php/Dmenu "Dmenu") * [wmii](/index.php/Wmii "Wmii") [DWM](http://dwm.suckless.org/) — это динамический [фреймовый](https://ru.wikipedia.org/wiki/Фреймовый_оконный_менеджеррежиме) оконный менеджер для [X](/index.php/Xorg_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Xorg (Русский)"). Его функционал может быть значительно расширен различными [Дополнениями](#.D0.94.D0.BE.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F). Режимы работы могут переключаться динамически, в зависимости от приложения и поставленной задачи. **dwm** - чрезвычайно легковесный и быстрый, написан на Си при условии не выходить за рамки 2000 строк исходного кода. Он обеспечивает поддержку нескольких видео-выходов для [xrandr (Русский)](/index.php/Xrandr_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9) "Xrandr (Русский)") и Xinerama. ## Contents * [1 Установка](#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0) * [1.1 Требования](#.D0.A2.D1.80.D0.B5.D0.B1.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F) * [1.2 Применение изменений](#.D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.B8.D0.B7.D0.BC.D0.B5.D0.BD.D0.B5.D0.BD.D0.B8.D0.B9) * [1.3 Инструкции по использованию](#.D0.98.D0.BD.D1.81.D1.82.D1.80.D1.83.D0.BA.D1.86.D0.B8.D0.B8_.D0.BF.D0.BE_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8E) * [2 Настройка](#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0) * [3 Советы и рекомендации](#.D0.A1.D0.BE.D0.B2.D0.B5.D1.82.D1.8B_.D0.B8_.D1.80.D0.B5.D0.BA.D0.BE.D0.BC.D0.B5.D0.BD.D0.B4.D0.B0.D1.86.D0.B8.D0.B8) * [3.1 Дополнения](#.D0.94.D0.BE.D0.BF.D0.BE.D0.BB.D0.BD.D0.B5.D0.BD.D0.B8.D1.8F) * [3.2 Строка состояния](#.D0.A1.D1.82.D1.80.D0.BE.D0.BA.D0.B0_.D1.81.D0.BE.D1.81.D1.82.D0.BE.D1.8F.D0.BD.D0.B8.D1.8F) * [3.3 Перезапуск dwm без закрытия программ](#.D0.9F.D0.B5.D1.80.D0.B5.D0.B7.D0.B0.D0.BF.D1.83.D1.81.D0.BA_dwm_.D0.B1.D0.B5.D0.B7_.D0.B7.D0.B0.D0.BA.D1.80.D1.8B.D1.82.D0.B8.D1.8F_.D0.BF.D1.80.D0.BE.D0.B3.D1.80.D0.B0.D0.BC.D0.BC) * [3.4 Пространство вокруг шрифта в строке состояния](#.D0.9F.D1.80.D0.BE.D1.81.D1.82.D1.80.D0.B0.D0.BD.D1.81.D1.82.D0.B2.D0.BE_.D0.B2.D0.BE.D0.BA.D1.80.D1.83.D0.B3_.D1.88.D1.80.D0.B8.D1.84.D1.82.D0.B0_.D0.B2_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B5_.D1.81.D0.BE.D1.81.D1.82.D0.BE.D1.8F.D0.BD.D0.B8.D1.8F) * [3.5 Конфликт горячих клавиш между st и dwm](#.D0.9A.D0.BE.D0.BD.D1.84.D0.BB.D0.B8.D0.BA.D1.82_.D0.B3.D0.BE.D1.80.D1.8F.D1.87.D0.B8.D1.85_.D0.BA.D0.BB.D0.B0.D0.B2.D0.B8.D1.88_.D0.BC.D0.B5.D0.B6.D0.B4.D1.83_st_.D0.B8_dwm) * [4 Устранение проблем](#.D0.A3.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B5.D0.BD.D0.B8.D0.B5_.D0.BF.D1.80.D0.BE.D0.B1.D0.BB.D0.B5.D0.BC) * [4.1 Java приложения](#Java_.D0.BF.D1.80.D0.B8.D0.BB.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D1.8F) * [4.2 Firefox(полноэкранное html5(видео))](#Firefox.28.D0.BF.D0.BE.D0.BB.D0.BD.D0.BE.D1.8D.D0.BA.D1.80.D0.B0.D0.BD.D0.BD.D0.BE.D0.B5_html5.28.D0.B2.D0.B8.D0.B4.D0.B5.D0.BE.29.29) * [5 Смотрите также](#.D0.A1.D0.BC.D0.BE.D1.82.D1.80.D0.B8.D1.82.D0.B5_.D1.82.D0.B0.D0.BA.D0.B6.D0.B5) ## Установка **Примечание:** Если вы собрались использовать [dwm](https://aur.archlinux.org/packages/dwm/), учтите что для любой конфигурации требуется компиляция из исходных кодов. С примерами конфигурации можно ознакомится в разделе [#Настройка](#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0). Основным способ получения исходных кодов **dwm** является использование [ABS](/index.php/ABS "ABS")([asp](https://www.archlinux.org/packages/?name=asp)). Однако для ознакомления(или в случаи отсутствия необходимости конфигурации) можно установить пакет [dwm](https://aur.archlinux.org/packages/dwm/) из официального репозитория. ### Требования Для компиляции и сборки пакета **dwm** требуются пакеты [base-devel](https://www.archlinux.org/groups/x86_64/base-devel/) и [asp](https://www.archlinux.org/packages/?name=asp): `# pacman -S base-devel asp` Для навигации по списку приложений (рекомендуется) использовать [dmenu](https://www.archlinux.org/packages/?name=dmenu). Для вывода информации в строку состояния (рекомендуется) [xorg-xsetroot](https://www.archlinux.org/packages/?name=xorg-xsetroot). ### Применение изменений Все изменения вносимый в исходный код, будут доступны только после установки заново собранного пакета и перезапуска **dwm** `Mod1+Shift+Q`. **Примечание:** После правки конфигурационных файлов для сборки и установки пакета используйте: `$ makepkg -efi ` ### Инструкции по использованию Основная [инструкция](http://dwm.suckless.org/tutorial) доступна на официальном сайте, а дополнительную информацию можно получить из: `$ man dwm` ## Настройка Настройка **dwm** заключается в правке исходных файлов. Все основные конфигурации собраны в файле `config.h`. Подробная информация о конфигурации хранится в хорошо прокомментированном файле `config.def.h`. Для получения дополнительной информации можно обратится к [официальному сайту](http://dwm.suckless.org/customisation/). **Примечание:** Рекомендуем сделать копию файла config.h перед тем, как изменять его. ## Советы и рекомендации ### Дополнения На официальном сайте имеется множество [дополнений](http://dwm.suckless.org/patches/), которые изменяют имеющийся функционал **dwm** внося изменения в `dwm.c` и `config.h`. ### Строка состояния Оконный менеджер **dwm** использует имя основного окна работающего в фоне, в качестве [строки состояния](http://dwm.suckless.org/dwmstatus/). С помощью `xsetroot -name ""` можно вывести любую информацию в строку состояния. Чтобы информация выводилась при старте **dwm** можно использовать `~/.xinitrc` или `~/.xprofile`. Пример ниже: `xsetroot -name "Thanks for all the fish!"` Для динамического обновления информации необходимо использовать цикл. Пример ниже: ``` while true; do xsetroot -name "$( date +"%F %R" )" sleep 1m # Время обновления done & ``` **Примечание:** Также для вывода информации можно использовать conky, dzen и пр. ### Перезапуск dwm без закрытия программ Для того что бы перезапустить **dwm** без закрытия приложений, **dwm** можно запустить в цикле. Пример ниже: ``` while true; do dwm >/dev/null 2>&1 done ``` После этого можно будет перезапустить **dwm** `Mod1+Shift+Q`не затрагивая при этом остальные приложения. **Примечание:** В случаи использования подобного подхода прийдётся использовать `killall xinit` для закрытия **dwm** ### Пространство вокруг шрифта в строке состояния По умолчанию это расстояние составляет 2px. Изменить можно в файле `dwm.c`: `bh = dc.h = dc.font.height + 2;` ### Конфликт горячих клавиш между st и dwm В **dwm** по умолчанию для закрытие окон используется комбинация клавиш `Mod1+Ctrl+C` , в **st** эта же комбинация используется для копирования. Для нормальной работы необходим её переназначить в **st** либо же в **dwm**. ## Устранение проблем ### Java приложения [Java#Non-reparenting window managers](/index.php/Java#Non-reparenting_window_managers "Java"). ### Firefox(полноэкранное html5(видео)) При работе с html5(видео) в полноэкранном режиме не пропадает строка состояния. [Патч.](https://github.com/indeviral/dwm/blob/master/path/dwm-firefox-fs.diff) [Источник.](https://bbs.archlinux.org/viewtopic.php?id=212528) ## Смотрите также * [dwm's official website](http://dwm.suckless.org/) * [Introduction to dwm video](http://www.youtube.com/watch?v=GQ5s6T25jCc) * [dmenu](/index.php/Dmenu "Dmenu") - Simple application launcher from the developers of dwm * The [dwm thread](https://bbs.archlinux.org/viewtopic.php?id=57549/) on the forums * [Hacking dwm thread](https://bbs.archlinux.org/viewtopic.php?id=92895/) * Check out the forums' [wallpaper thread](https://bbs.archlinux.org/viewtopic.php?id=57768/) for a selection of dwm wallpapers * [Show off your dwm configuration forum thread](https://bbs.archlinux.org/viewtopic.php?id=74599)