Dwm (Русский)
dwm — это динамический мозаичный оконный менеджер для X. Он управляет окнами в плавающем, неперекрывающемся и полноэкранном режимах так же, как и в других (для них требуются дополнительные патчи). Режимы могут переключаться динамически, в зависимости от приложения и поставленной задачи. dwm - чрезвычайно легковесный и быстрый, написан на Си и содержит около 2000 строк исходного кода. Он обеспечивает поддержку нескольких видео-выходов для xrandr и Xinerama.
Contents
Установка
Следующие инструкции помогают установить dwm с помощью makepkg и ABS. Такой вид установки позволяет переконфигурировать dwm позже без компиляции. Если же целью стоит познакомиться или побаловаться с dwm, то можно установить бинарный пакет из стандартного репозитория:
# pacman -S dwm
Заметьте, что пропуск компиляции из исходников ведет к потере гибкости, потому что настройка dwm заключается в правке его исходного кода. Остальная часть статьи написана с предположением, что dwm был установлен из исходного кода, в точности, как описано в этом разделе.
Возможно, Вы также захотите установить и dmenu, быстрое и легковесное динамическое меню для X:
# pacman -S dmenu
Требования
Для компиляции и сборки пакета dwm требуются базовый инструментарий, перечисленный в метапакете base-devel, а также abs - для получения сборочных скриптов:
# pacman -S base-devel abs
Загрузка сборочных скриптов с помощью ABS
После установки необходимых пакетов, требуется получить последние скрипты для сборки из репозиториев с помощью ABS:
# abs
Скопируйте скрипт для сборки dwm из дерева ABS во временную папку, например:
$ cp -r /var/abs/community/dwm ~/dwm
Сборка и установка пакета
Используйте cd
чтобы перейти в папку, содержащую сборочные скрипты (в предыдущем примере это была ~/dwm
). Затем наберите:
$ makepkg -i
Эта команда откомпилирует dwm, соберет из полученных файлов пакет и установит его - все одним действием. Если возникли проблемы - внимательно прочитайте вывод отладочной информации.
Настройка
dwm, как ранее говорилось, настраивается во время компиляции через пару файлов, а именно - config.h
и config.mk
. Начальная настройка хороша, но вы скорее всего захотите настроить dwm под себя. Для этого лучше всего пользоваться ABS. Для дополнительной информации посмотрите документацию по dwm и ABS
Способ 1: Пересобрать с помощью ABS (рекомендуется)
Сконфигурировать dwm очень легко. Просто следуйте нашим советам.
Правка config.h
Зайдите в папку с исходниками, которую указали во время Установки; в примере это ~/dwm
. Файл config.h
, находящийся в этой директории - это основной файл конфигурации dwm. Большинство опций в этом файле ясны, в то время как другие требуют пояснений. Для информации загляните на сайт dwm.
После редактирования добавьте контрольную сумму md5 в PKGBUILD:
$ makepkg -g >> PKGBUILD
Это устранит разницу в контрольных суммах между официальным config.h и нашей модифицированной версией. Откомпилируем и переустановим:
$ makepkg -efi
Если наши изменения правильны, эта команда откомпилирует dwm, создаст установочный пакет и установит его в систему. В случае возникновения проблем внимательно прочитайте отладочную информацию.
Наконец перезапустите dwm, чтобы применить изменения (по умолчанию shift+alt+q завершает сеанс dwm).
Замечания
Теперь, вместо обновления md5sums при каждом изменении config.h
, которые будут происходить довольно часто, можно удалить список md5sums и собрать dwm c опцией --skipinteg
:
$ makepkg -efi --skipinteg
А с добавлением нескольких строк в загрузочный скрипт dwm, можно будет выполнять перезапуск dwm без выхода из системы и закрытия программ[broken link: invalid section].
Способ 2: Mercurial (для продвинутых)
dwm разрабатывается с помощью системы контроля версий Mercurial на сайте suckless.org. Кто знаком с Mercurial, могут найти более удобным способ разработки конфигураций и патчей в системе. На сайте dwm предлагает подробное описание (англ.) для этого метода.
Перед сборкой dwm из исходных кодов Mercurial, проверьте правильность config.mk
, иначе это может привести к краху X. Эти значения необходимо изменить:
Измените PREFIX
:
PREFIX = /usr
Папку X11 include:
X11INC = /usr/include/X11
И папку библиотек X11:
X11LIB = /usr/lib/X11