The herbstluftwm configuration isn't complete yet, it's only the package so far,
but it does extend the xsession service to include a line in xsession to execute
the window manager in a bit of a hacky way.
This also adds a ‘mixed-executable-file’ function which is the same as the
‘mixed-text-file’ except that it also sets the executable bit for the computed
file.
- 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.