Title : OpenBSD - лёгкий тюнинг DWM и xterm
Author: Толстоевский
Date : 20 May 2022
i3, присутствующий в репозиториях, безусловно прекрасен, но душа моя жаждала dwm, присутствующего в портах Опёнка. Характерная для него аскетичность дефолта, конечно хороша, но удобств мне тоже хотелось, а именно: базовой информации в статусбаре, симпатичных цветов и регулировки громкости с клавиатуры. Собирал я его из портов, все изменения вносились в config.h.
Штош.
Тут банально - взял схему dracula из ентих вашых интернетов:
static const char col_gray1[] = "#282a36"; static const char col_gray2[] = "#ffb86c"; static const char col_gray3[] = "#ff79c6"; static const char col_gray4[] = "#ffb86c"; static const char col_cyan[] = "#282a36"; static const char *colors[][3] = { /* fg bg border */ [SchemeNorm] = { col_gray3, col_gray1, col_cyan }, [SchemeSel] = { col_gray4, col_cyan, col_gray2 }, };
OpenBSD использует sndio для управления звуком. Решил так и оставить - не нужен нам пшшшаудио ваш.
Изменяем тот же config.h дальше:
Вначале импортируем поддержку мультимедиа-клавиш:
#include <X11/XF86keysym.h>
Я поместил в самом начале файла, так кошернее.
Дальше добавим команды, дёргающие интерфейс sndio (логичнее разместить там же, где termcmd:
static const char *raisevolume[] = {"sndioctl output.level=+0.1", NULL }; static const char *lowervolume[] = {"sndioctl output.level=-0.1", NULL };
И объявим вызов этих команд с помошью нужных клавиш (само собой в блоке с клавиатурными сокращениями):
{ 0, XF86XK_AudioLowerVolume, spawn, {.v = lowervolume } }, { 0, XF86XK_AudioRaiseVolume, spawn, {.v = raisevolume } },
That's all, folks! make&&make install
(ну разве что я лично предпочитаю использовать Super вместо Alt для упарвления окнами - для этого всё там же надо заменить Mod1Mask на Mod4Mask).
Товарищи из suckless предлагают пихать всю нужную информацию через xsetroot, а кто я такой, чтоб с ними спорить?
Создаём файлик ~/.local/bin/dwmstatus (ах, да, я использую bash - он есть в репозитории - с родным для Опёнка ksh я не подружился) :
#!/usr/local/bin/bash while true; do datee=$(date +"%a, %Y-%m-%d") timee=$(date +"%H:%M") getvolume=$(sndioctl | grep output.level | cut -d "=" -f2) temp=$(sysctl hw.sensors.lm1.temp1 | cut -d "=" -f2 | awk '{print $1}') xsetroot -name "📆 $datee 🕖 $timee | 🔊 $getvolume | $temp " sleep 2 done
Теперь просто допишем запуск dwm и dwmstatus в ~/.xsession:
.local/bin/dwmstat& exec dwm
Готовенько, можно заходить в красивый DWM. Но минуточку, к красивому оконному манагеру должен прилагаться симпатичный терминал, а в коробке у нас только xterm, по умолчанию выглядящий как соседова тёща с похмелья.
В файле ~/.Xresources достаточно проделать что-то подобное (в приведённом примере, опять же, цветовая схема Dracula):
Вот теперь - точно всё, перезаходим в X11 и наслаждаемся ^_^
---