/stumpwm-d

Primary LanguageCommon LispMIT LicenseMIT

The structure of this configuration is substantially derived from the excellent work defined in Phoebe’s super sexy stumpwm config … it had not previously occured to me to use asdf’s support for package inferred systems to organize a stump configuration, but having read Phoebe’s config, I could immediately see that the effect was salubrious. This organisation should immediately reveal how to extend itself to the user. Should you have any questions, feel free to file an issue on this repository at github, and I will do my best to ameliorate the problem.

Phoebe uses xsetroot to handle setting the background (wallpaper) image. In my use this is not sufficient, because I have a large collection of thematically sorted, wallpaper quality images, so I have included a small function and a command/keybind for setting the background. The image source pathing assumes that the directory ==$HOME/Desktop_pics/<image_directories>== exists, but you can override this in theme.lisp. This hardcoding should be made configurable, but I have not done it yet. When I do, I will remove this note.

Installation

mkdir -p ~/common-lisp
git clone https://github.com/fade/stumpwm-d.git ~/common-lisp/stumpwm-d
mkdir -p ~/.stumpwm.d
ln -s ~/common-lisp/stumpwm-d/init.lisp ~/.stumpwm.d/init.lisp

theme

Phoebe uses the colours defined by dracula. My own relationship to colour is unique to my capacity to perceive it, and while I have my own specific preferences as you can see in theme.lisp, where a choice was ambiguous or unknowable (by me) I have followed the choice made upstream. In this case I’m also using the dracula Xresoures for colours, which are better than the defaults.

setting .Xresources

clone the dracula xresources repository:

git clone https://github.com/dracula/xresources.git ~/dracula-xresources

symlink it in place:

ln -s ~/dracula-xresources/Xresources ~/.Xresources

load it into your current session:

xrdb -load ~/.Xresources

when that works, you can put it in your userinit, either like:

(stumpwm:run-shell-command "xrdb -load ~/.Xresources")

or you can (as I do) start stumpwm from a shell script which for me handles low level X initialization for multiple heads and window manager compositing. I have included my script in this repository start_tumpwm.sh , but it will require you to edit it to match your own system, if only because your heads are not likely to be numbered the same as mine. I rely upon several programs and services provided by the KDE software distribution, so I call kdeinit5 here to set up various plumbing resources required by that environment. I also use a Corsair K-95 keyboard, the lighting and mapping for which are handled by an external application called ckb-next. Unless you also have one of these keyboards, you will want to kill the call that starts this process. This keyboard, which has along the left side a column of ‘extra’ macro keys, allows me to remap several keys, the most important of which is ‘G4’ which I have mapped to a left Super. This is reflected in the heavy use of Super in the keybindings defined in this configuration. This is a possible reason for you to rethink how all of those Super maps are defined on your system.