exwm

Love lost: when exwm falls short

I find myself going back to regular WMs (my favorite from the past being KDE) because certain tasks are just deeply punishing in EXWM. When I’m doing my regular daily work I can usually make EXWM work for me. But here are the facts I experience with/without emacs as my window manager. Life is worse without EXWM Winum. Looking at a screen and hitting the num to focus there; I miss it dearly and cringe when I need to reach for the mouse.

Rebinding Keys, or, The Horror of Alt+TAB in Emacs

I use exwm so M-TAB is available to me without being hijacked by the OS, but rebinding this failed in surprising places. I want it globally to be set to iflipb-next-buffer (giving familiar alt+tab functionality to exwm), but if any of the buffers I’m travelling past happen to inherit magit or gnus, my tab-sequence gets broken because they have it bound to their own thing and I can’t seem to rebind it.

Building custom x11 cursors for Linux

I wanted to use the sort of Starcraft game cursors I enjoyed on my windows machine as a teenager, and this was my first thought of custom cursors in Linux. Note that I use EXWM as a low-level window manager, so these instructions should work for most any Linux system. Spoiler: I got it working, but it took a good deal of time that I hope you might be saved. Here is my story.

Getting haikarainen light working for screen brightness on OpenSuse and EXWM

I use light for managing my screen brightness in exwm, because the repo-available xbacklight fails for want of a recognizable xserver. One day my exwm just stopped finding “light” after using it for screen brightness for a year or two. When trying to re-install with the instructions on their repo, I kept getting this error: autoreconf: running: automake --add-missing --force-missing --warnings=portability autoreconf: no config.status: cannot re-make The solution turned out to be to skip the autogen part of the instructions and just move on:

Auto-mounting USB drives with EXWM

Use udiskie to auto-mount devices plugged in to your machine, such as flash drives. I found that trying to install it from my OpenSUSE packagemanager didn’t work, alhtough it was listed, but I already had pip installed and that led to simple process. After installation, the following worked beautifully: ~/.local/bin/udiskie --no-notify --tray & notifications did not play nice with exwm, but the tray works great. Then I just put the above into my .

Command-line solutions to laptop functions

Trying to make the jump to exwm, which is a similar experience (though considerably less documented) than switching to i3wm, there are a number of core laptop functionalities that the heavier-weight window managers take care of for you. I’m using this on a laptop that is often used that way – traveling, connecting to multiple different WiFi networks daily, connecting to docking stations and extra monitors and devices, toggling touch pad, etc.