Exwm: Emacs X Window Manager
35 comments
·April 13, 2025aradox66
aradox66
If it seems interesting to you or you're experimenting with keyboard-driven tiling WMs, though, I would highly recommend this particular fling.
dargscisyhp
Been using it for a couple of years, and in practice it does not cause me much trouble, at least not for me.
Dibby053
Can you share more about your particular setup? I use a pretty vanilla setup of Doom emacs on Linux, and while I really wish to give exwm a try my experience with emacs has been too unstable so far. E.g. it sometimes crashes when it gets an I/O error trying to write a file (which happens when a USB drive is removed by accident). A more common annoyance is the entire program freezing while waiting for plugins that should be asynchronous, like Tramp or some LSP servers.
quotemstr
Single-threaded? Not anymore!
bitwize
The commonly accepted solution, if this is an issue for you, is to run two instances of Emacs: one to edit in, and one to run EXWM. The days of "Eight Megs And Constantly Swapping" are well behind us; one can easily afford to run two (or many more) emacsen. And it can't be that much more bloated than, say, kwin...
hermitsings
I created this custom keymap that goes well with EXWM: https://codeberg.org/hermitsings/Kmonad_ISO_keymap_for_minim...
This is to reduce lateral wrist movement (to protect from Carpal Tunnel) and general finger movement. Just posting here if folks wanna check it out.
yjftsjthsd-h
Is there a visualization of the layout somewhere?
hermitsings
Yup, the files in the repo--the layout is in there.
It's currently for ISO keyboards (I have ISO), but you can modify it for ANSI!
BobbyTables2
I’m surprised there aren’t Emacs packages for the X server itself and a bootloader…
hulitu
Emacs hasn't evolved. The browser took further the idea of Emacs becoming the OS.
jmclnx
I played with this decades ago (maybe another Emacs based WM?). It was fun for a while but I moved on. I thought it was abandoned.
I will need to give it another go and glad to see it back among the living :)
zhengyi13
The other emacs-based WM I'm aware of is stumpwm: https://github.com/stumpwm/stumpwm
kqr
...which is not Emacs based but written in Common Lisp. It is equally hackable, though.
penguin_booze
I wished PuTTY offered some kind of tiling window manager for my SSH sessions. Does anyone know something of that sort?
Shared404
For sessions on the same target host you could use tmux.
looofooo0
You can ssh from emacs.
GuinansEyebrows
PuTTY, probably not. But if you're using Windows, the built-in Terminal supposedly supports panes: https://learn.microsoft.com/en-us/windows/terminal/panes
Combine that with the built-in ssh client, that might be good enough for you. Personally, I have to run Windows at work but I'm allowed a local linux VM, so I run that headless, ssh into it, and run tmux for pane/window support.
null
SuperNinKenDo
Really enjoyed my time using EXWM. Had to move to Wayland for a number of reasons, and really miss it. KDE Plasma has been fantastic, but I do miss the integrated scripting environment. Ironically I now use a heavily frames-based Emacs set up, and eschew most of Emacs internal window management capabilities.
rahen
Obligatory System Crafter videos:
spudlyo
Pfft, I'll be impressed when Emacs runs as pid 1, has an inittab.el, mounts filesystems, sets up swap, starts daemons, launches X, reaps zombines, and deals with shutdown. I'm sort of surprised nobody's done that yet.
rahen
Try Guix System. The entire system, including PID 1, is configured in Scheme (Guile) and has a very nice Emacs-like hackability.
Y_Y
That's old news: https://web.archive.org/web/20190118221826/https://www.infor...
Fwiw I use EXWM in Guix and only interact with the computer through emacs (though I do need to use terminal and eshell).
spudlyo
Handling SIGCHLD and doing the right thing is table-stakes for a functioning init, IMHO. This isn't that.
quotemstr
I seriously considered making Emacs a wlroots compositor last time I had a chunk of free time.
smitty1e
Packaged as a Spacemacs layer => https://www.spacemacs.org/layers/LAYERS.html#exwm
djaouen
I hesitated to post here (because it seems like I have been flagged as only posting on troll topics), but decided to anyway because I don't want anyone else to know about this overpowered setup!
Alive-in-2025
What does this mean, especially in reference to this story
djaouen
Basically, whenever I post to a thread, that thread gets buried by HN's algorithm. Thus, the intention of me posting means that I can keep Guix and EXWM under wraps and all to myself. Edit: Forgot to add: MUAHAHAHAHAHA
Edit 2: Pikachu uses GROWL. It's ULTRA EFFECTIVE!
hsbauauvhabzb
I’m going to guess that a lot of your posts are of similarly low quality.
I had a fun fling with EXWM, but having your window manager sharing its single-thread with emacs just doesn't really make any sense.