Love lost: when exwm falls short

Table of Contents

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.
  • Emacs shortcuts in text-editing. C-f, C-n, C-b, M-f, C-w … it wastes brain-space to have to remember the two sets of bindings.
  • Full-screen everywhere. In EXWM, there’s no need for tiling. Just full-screen emacs/browser/Telegram/GIMP everywhere, and no more wrestling to make half my screen a browser and half something else.
  • No need for window bars with buttons like “full screen” and “minimize.”
  • Emacs global bindings. Being able to go from my browser to my email to my agenda all with single keystrokes, and a universal switch-buffer is fantastic (see below).
  • Ability to include the meta (the Windows) key in my shortcuts becase I don’t have to compete with another WM for it.
  • Buffers being the paradigm of navigation, so even finding browser tabs is just a switch-buffer away.

The sometimes-show-stoppers with EXWM

EDIT The most grievous of these are all fixed by the emacs-in-emacs technique

  • Emacs freezes on certain operations and it shuts down my system. This is the big one, and happens alot on Tramp stuff.
  • SOLVED Windows aren’t fully registered so trying to share a single non-browser screen from my in-browser video calls just fails.
  • Tweaking emacs settings that require restarting emacs are costly when this essentially means restarting your whole system.
  • Awkward compatibility with demanding GUI applications such as Android Studio and its virtual devices (virtually impossible in exwm).
  • Sometimes my external monitor fails to reconnect after resuming a session. I have to re-plug.

Conclusions: when to do without

The following tasks look to be sadly without EXWM. emacs-in-emacs solves these issues!

  • Video calls (Zoom or Google Meet, mostly) when I’ll need to share an emacs buffer
  • Remote work using tramp

Resources

Tory Anderson avatar
Tory Anderson
Full-time Web App Engineer, Digital Humanist, Researcher, Computer Psychologist