exwm

How to most accurately update my Window numbers?

I use EXWM and three monitors, so knowing my window numbers is crucial to my navigation. I used to use Ace Window to present a red digit at the corner of emacs screens with which number to press to get there. The two problems with this are that you can’t know your numbers until you invoke Ace Windows, and more damningly, you can’t get these numbers on exwm (non-emacs) windows, such as my ever-present browsers.

Binding keypad numbers for exwm screen shifting

I now have a perfect use for the rarely-used numpad! Because I have three monitors connected and am an exwm/winum user to navigate all those screens from the keyboard, I have bound that rarely-used numpad to quickly allow for switching between screens, up to 9 (I am not sure my brain could handle more than 9 decisions on viewports, anyway…). The magic is that numpad numbers are a different keycodde than the normal numberline at the top of the keyboard.

Adding a new monitor to my exwm setup

I recently shuffled things with my office and found that I have hardware and ports for a third monitor to connect to my exwm setup. So, without further ado, how to get it going and registered with Linux/EXWM? Edit [2022-01-02 Sun] an easier way with arandr Downloading and installing arandr made this whole configuration much simpler than using the raw randr output. I finally made the jump when I was receiving an error at my attempts to load it manually: xrandr: Configure crtc 2 failed.

Emacs in Emacs: A triumph for EXWM

Previously I’ve talked about the inability to refer to my code screens from within exwm if I’m on a video call in my browser; it shows the option fo other browser windows, and the option of the whole screen, but not an emacs buffer. The solution is simple and beautifully recursive: run emacs within your exwm emacs. Do what? Run emacs within your main exwm emacs session. M-S & emacs.

How to send an interrupt without C-c C-c?

Using exwm with emacs-in-emacs I sometimes make a mistake and start a shell-process going that I need to stop. However, C-c is grabbed by my parent exwm session and so doesn’t send anything to my shell. How can I do this manually? Answer C-c C-c is short for comint-interrupt-subjob Resources https://www.reddit.com/r/emacs/comments/ja97xs/weekly_tipstricketc_thread/g8xu647?utm_source=share&utm_medium=web2x&context=3

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 .