[x61]
:.: OpenBSD Desktop
Yes, this is the year of the OpenBSD Desktop!
I am a minimalist, and I tend to always keep it as small as I can, so I try to use all I have in base (if it fits), plus of course some other tools needed.
My general list is:
WM: cwm(1)
Statusbar: termbar
Mail: aerc (now) - neomutt (former)
Browser: Firefox - ungoogled-chromium
FileManager: walk (former llama)
Editor: emacs - mg
Photo Viewer: geeqie
PDFs: mupdf and foliate (for ebooks or more complex stuff)
Others: tmux(1), got, duf, sysclean, tor, remmina, feh, sct, scrot among others
Finally I unslack myself and tried to write some C code to convert my old termbar into a new one in C. There is still a lot to fix and adjust, but so far it works on my machines and it shows all I need and want without any weird error.
Yes, I like anime and those colours are trying to emulate the eva 01, my .Xresources looks something like this:
!!! Colours *color0: rgb:2a/3b/4d *color1: rgb:c4/67/6c *color2: rgb:66/ff/66 *color3: rgb:ff/ff/66 *color4: rgb:15/f4/ee *color5: rgb:9c/6c/d3 *color6: rgb:4b/8f/77 *color7: rgb:9f/a2/a6 *color8: rgb:55/79/9c *color9: rgb:c4/67/6c *color10: rgb:66/ff/66 *color11: rgb:ff/ff/66 *color12: rgb:15/f4/ee *color13: rgb:9c/6c/d3 *color14: rgb:4b/8f/77 *color15: rgb:ff/ff/ff *color16: rgb:ff/99/66 # Base 09 *color17: rgb:bb/64/a9 # Base 0F *color18: rgb:3d/56/6f # Base 01 *color19: rgb:4b/69/88 # Base 02 *color20: rgb:7e/90/a3 # Base 04 *color21: rgb:d6/d7/d9 # Base 06
My console is xterm(1) and I really don't need much more than that, my bits for it in the .Xresources are:
!!! Xterm XTerm*background: black XTerm*foreground: rgb:9f/a2/a6 XTerm*eightBitInput: false XTerm*loginShell: true XTerm*scrollBar: false XTerm*saveLines: 2000 XTerm*faceName: dejavu sans mono:size=12 XTerm*internalBorder: 10 XTerm*locale: true XTerm*pointerMode: 2 XTerm*allowTitleOps: true XTerm*termName: xterm-256color
I also have some love for termbar in there, which will show the right font, size, etc:
!!! termbar termbar*faceName: dejavu sans mono:size=12 termbar*geometry: 3840x1+0+0 termbar*internalBorder: 6 termbar*saveLines: 0 termbar*locale: true termbar*scrollBar: false termbar*title: termbar
Those are colours, and I have my "setup" on my .xsession, I have it pretty much all commented to here it is:
#!/bin/sh -x ## Cleanup stuff on exit cleanup() { pkill -9 sctd pkill -9 xidle pkill -9 lock rm -rf ~/TorBrowser-Data rm -f ~/.Xauthority rm -rf ~/.local/share/Trash chmod 700 ~ } . $HOME/.profile ## Load colours xrdb -merge $HOME/.Xresources ## DBus if [ -x /usr/local/bin/dbus-launch -a -z "${DBUS_SESSION_BUS_ADDRESS}" ]; then eval `dbus-launch --sh-syntax --exit-with-x11` fi ## fonts xset -b & for font in /usr/local/share/fonts/*; do xset +fp "${font}" done xset fp rehash ## Fix resolution xrandr --dpi 96 ## Turn off mic sndioctl input.mute=1 sndioctl input.level=0.0 ## Turn down sound sndioctl output.level=0.0 ## External Monitor ## this is the output ## of arandr to arrange ## my monitor ~/bin/monitores & ## Select Keyboard layout ## depending on the host if [ X`hostname` = X"tomato" ]; then setxkbmap jp else setxkbmap de fi ## LANG export LANG=en_US.UTF-8 export LC_CTYPE=en_US.UTF-8 ## Browser shitz export MOZ_USE_XINPUT2=1 export MOZ_ACCELERATED=1 export MOZ_WEBRENDER=1 ## WASM for Chromium export ENABLE_WASM=1 ## jp ## ctrl+space ## F6 & F7 hiragana katakana export GTK_IM_MODULE="xim" export QT_IM_MODULE="xim" export XMODIFIERS="@im=SCIM" /usr/local/bin/scim -d & export BLOCKSIZE=1m ## no bell xset b 0 0 0 xset -dpms xset s off xset s noblank ## ~/bin/lock does some protections and runs slock xidle -timeout 9000 -ne -program ~/bin/lock & ## screen control ~/bin/sctd & # Termbar exec xterm -fs 12 -bg "black" -fg "grey" -name termbar -class termbar -T termbar -e ~/bin/termbar & # Wallpaper feh --bg-center ~/themes/blade-runner--wallpaper.jpg & exec cwm cleanup
My WM is cwm(1) since a long time and combined with termbar it fits all my needs, my cwmrc(5) looks like:
# Autogroups for windows autogroup 0 "termbar,termbar" autogroup 0 "xconsole,XConsole" autogroup 0 "termbar,termbar" autogroup 1 "firefox,firefox-bin" autogroup 9 "tor-browser,tor-browser" # Add missing keybindings. bind-key M-1 group-only-1 bind-key M-2 group-only-2 bind-key M-3 group-only-3 bind-key M-4 group-only-4 bind-key M-5 group-only-5 bind-key M-6 group-only-6 bind-key M-7 group-only-7 bind-key M-8 group-only-8 bind-key M-9 group-only-9 bind-key MS-1 window-movetogroup-1 bind-key MS-2 window-movetogroup-2 bind-key MS-3 window-movetogroup-3 bind-key MS-4 window-movetogroup-4 bind-key MS-5 window-movetogroup-5 bind-key MS-6 window-movetogroup-6 bind-key MS-7 window-movetogroup-7 bind-key MS-8 window-movetogroup-8 bind-key MS-9 window-movetogroup-9 bind-key MS-space window-htile bind-key M-space window-vtile bind-key C-Up pointer-move-up bind-key C-Down pointer-move-down bind-key C-Right pointer-move-right bind-key C-Left pointer-move-left bind-key CS-Up pointer-move-up-bigbind-key bind-key CS-Down pointer-move-down-big bind-key CS-Right pointer-move-right-big bind-key CS-Left pointer-move-left-big bind-key 4-l /home/gonzalo/bin/lock bind-key 4-r restart bind-key 4-q quit bind-key MS-Return terminal bind-key MS-p menu-exec ## Windows borderwidth 4 color activeborder '#202060' color font '#000000' color selfont '#e9ffe9' color inactiveborder 'rgb:31/31/31' color menubg '#494949' color menufg '#202060' fontname "dejavu sans mono:size=12" gap 35 5 5 5 ignore "termbar" command firefox firefox command xterm xterm moveamount 4 snapdist 25 sticky yes
And that is pretty much the "core" of my configs, the rest are probably default or some very basic changes.
The clean desktop looks a bit like this:
And this is busy:
As a final note, I saw a lot of people following tutorials on "OpenBSD Desktops" that changed a lot of flags totally blindly without any real test or comparison after/before. About this, I would say that my user is part of the staff and I didn't change anything in the login class, and also my sysctl.conf(5) is the default with the normal changes like machdep.allowaperture=2 (Update: tb@ made me realize that machdep.allowaperture is not needed anymore, thanks!) or net.inet.ip.forwarding=1, my daily laptop is a thinkpad x395.