‘The half minute which we daily devote to the winding-up of our watches is an exertion of labour almost insensible; yet, by the aid of a few wheels, its effect is spread over the whole twenty-four hours.’
Benjamin Slade

Posts categorized in ‘lisp’ (10)

Group-agnostic previous-focussed-window memory in StumpWM

I’ve started using StumpWM’s groups (like “workspaces” in other window managers) more extensively, but this broke a behaviour I like: the ability to easily switch back to the last focussed window, because StumpWM’s “last focussed” is group-specific. So I wasn’t easily about to switch quickly back and forth between two windows that were inb different groups, which turns out to be something I frequently want to do (e.g. switch back and forth between an emacsclient frame in my “emacs” group and a Firefox instance in my “web” group).

Running pdfpc in StumpWM

pdfpc is a fantastic application for presenting PDF slides, including perhaps especially those produced using LaTeX Beamer. It creates two (full-screen) windows, one a presenter viewer which shows the time elapsed and a preview of the next slide, and one the presentation view which is what is shown to the audience. It also has a bunch of other cool features like being able to draw on slides; highlight areas of slides, &c.

Guix, Nix: You are in a maze of twisty little $PATHs, some undefined

Some notes on interactive fiction/text adventure games and PATHs in Guix, and StumpWM. Maze no. 1 There may (likely is) some way of programmatically setting the X Windows PATH variable in Guix System (née GuixSD) via the base configuration (e.g. config.scm), but I haven’t been able to uncover anything that works. This is relevant for being able to use locally installed static binaries or local shell scripts via the window manager.

Equake(!) Quake-style overlay console in StumpWM

I’ve been alternatively using both KDE Plasma 5 and StumpWM on various machines and have got a working model for using the Equake drop-down in StumpWM. The StumpWM #'invoke-equake command hides (using StumpWM native hide-window, rather than Emacs’s make-frame-invisible as the latter creates various issues in finding and fetching the Equake window) the Equake frame if it’s the currently active window; it searches through all windows in all groups on the current screen/monitor, and calls emacsclient -n -e '(equake-invoke)' to create an Equake frame if no extant Equake window is found; and if an Equake window does already exist for the current screen, it is yanked into the current group, pulled into the current frame, and unhidden (if necessary).

Browsing the Web with Common Lisp

I was a long-time user of Conkeror, a highly-extensible browser with an Emacs ethos. It still exists, but since the changes in the Firefox back-end away from XULRunner, which Conkeror uses, running Conkeror became increasingly difficult to use, so I’ve largely switched to just using plain Firefox. However, John Mercouris has been developing Next Browser (originally styled nEXT Browser), a browser with a Common Lisp front-end, allowing for customisability and extensibility along Conkeror/Emacs lines:

Confusion: PDP-10 Zork

I grew up playing Infocom, Magnetic Scrolls, and Level 9 text adventures, with the Zork trilogy, the Enchanter trilogy, Planetfall, Wishbringer, The Guild of Thieves, The Pawn, Knight Orc, and Silicon Dreams being particularly prominent in my memory (somewhat re-activated through recent listening to the Eaten by a Grue podcast). I would have played all of these on an Atari 8bit or ST computer, and didn’t have any access to anything like a mainframe, and so never actually played the original Zork, which was written in the Lisp-derived MDL language (which formed the basis for the MDL-subset Infocom-specific ZIL language used for their subsequent offerings) for the DEC PDP-10.

Quake-style drop-down terminal in StumpWM

One thing I’ve missed in StumpWM is a Quake-style drop-down terminal, like what Guake provides (and I have a Lua-one in my AwesomeWM config). It may be that I’m still haven’t fully absorbed the StumpWM-mindset and that I should be doing this a different way. But up until now when I’m using StumpWM I’ve tended to end up with a heap of terminal windows that are a pain to navigate through (I have a run-or-raise command associated with xterm, but it starts from the first xterm window and usually I want the last – something else to figure out how to do).

Dockerised Firefox on GuixSD

So GuixSD doesn’t currently package Firefox (though hopefully that is changing), but only IceCat (which is now EOL). On freenode#guix, pkill9 suggested that Firefox (and Chromium etc.) could be installed on Guix via the Nix installer (install as per instructions on their site and then nix-env -i firefox) with the following trick, create a file ~/.local/bin/firefox with the following content: # Wrapper to run the Firefox built and packaged by Nix MESA_LIB=$(dirname $(realpath /run/current-system/profile/lib/libGL.

Managing emacsclient windows in StumpWM

I’m still working on getting my GuixSD machine configured, including working on getting familiar with StumpWM – a windows manager written in Common Lisp – which is the desktop paradigm I’ve decided upon for this Lisp-centric machine. I’m somewhat habituated to (my) AwesomeWM keybindings, which involve the Super key in combination with various other keys, including say s-1 for tag/workspace 1, s-3 for tag/workspace 3, &c., and s-E (i.e. hold Super and Shift and press e) to launch an emacsclient (see below on the Emacs client/daemon configuration).

Guix: You are in a maze of lispy little passages, (map equal? ′(′all ′alike) ′(′all ′alike))

So I finally made a serious go of running GuixSD, a GNU Linux distro which is largely built on GNU Guile Scheme (a dialect of Lisp) on one of my machines (one I had actually put together with GuixSD in mind: an X200 Thinkpad, which I Libreboot‘ed and put a Atheros Wi-Fi card in), and, to increase both the quantity and variety of Lisps involved, am trying to use with StumpWM (which is written in Common Lisp).