- Make the header more robust. If we need to add more argumetns to the scsh
command-line this will let us do that more easily in the future without having
to change the header again.
- Don't ‘display’ the result of the call to ‘run’ because that should always be
‘0’, unless something went wrong. Regardless, it doesn't belong in the output
of this program.
- Use ‘rx’ in Emacs to build the regular expression. This is easier to read,
especially considering how many times a single ‘\’ has to be escaped (once for
the string in scsh, and once more for the string in Emacs).
Other file headers come with caveats:
- ‘#!/usr/bin/scsh -s’ :: Now that scsh is installed through Guix, this is not
where this file lives.
- ‘#!/usr/bin/env -S scsh -s’ :: This doesn't work when we need to specify move
arguments on the command line and need to use the meta-argument.
‘env -S scsh \’ doesn't work.
Write a small DSL for converting a simple lisp expression to an MPD query
format. This turns, for example:
(and (= artist "Katatonia") (= album "Last Fair Deal Gone Down"))
Into:
((artist == "Katatonia") AND (album == "Last Fair Deal Gone Down"))
The expressions inside ‘query’ are quasi-quoted, so that variable substitution
is possible.
- Add the ‘dunst’, ‘zsh’, ‘mcron’, and ‘mbsync’ modules.
- Tell Make that any ‘*.el’ files ar “precious”, meaning that when a ‘.elc’ file
was generated from a ‘.el’ file that was itself generated from a ‘.org’ file,
the ‘.el’ file isn't just an intermediate file and should not be deleted.
- Change the ‘install’ and ‘clean’ to use the ‘*-stow’ and ‘*-clean’ rules set
up for each module.
- Add configuration for ‘outline-minor-mode’ and change the headings to adhere
to that configuration.
- Stop using the ‘build/’ directory, tangle all the files to the same directory
as the source files, and use stow, not cp, to install them. The only exception
is the XDG files, which now have their specific ‘xdg-stow’ rule. This is
necessary because programs using these files will overwrite a symbolic link
they find and replace it with a new file, overwriting my settings.
- Add some files that were missing, and rename some files to follow the existing
convention to make them easy to tangle.
Add a ‘wm.target’ file that services can hook into and that Herbstluftwm starts
at the end of its startup script. This way different services can be sure that
the window manager itself has started up, and can be dependent on one another.
Hopefully this makes managing these background processes easier.
- Remove _some_ unused variables.
- Fix the font, height, and padding for the bar itself, and the modules inside.
- Remove the monitor, I always only have one now.
Instead of using my custom Python script that looks them up, just use the
command-line application included in the ‘libsecret’ package on Archlinux.
Remove the custom helper script that I’d written for them.