Exwm: Emacs X Window Manager
116 points
by tosh
6 days ago
| 11 comments
| github.com
| HN
aradox66
6 days ago
[-]
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.
reply
bitwize
6 days ago
[-]
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...
reply
aradox66
6 days ago
[-]
If it seems interesting to you or you're experimenting with keyboard-driven tiling WMs, though, I would highly recommend this particular fling.
reply
dargscisyhp
6 days ago
[-]
Been using it for a couple of years, and in practice it does not cause me much trouble, at least not for me.
reply
Dibby053
5 days ago
[-]
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.
reply
quotemstr
6 days ago
[-]
Single-threaded? Not anymore!
reply
hermitsings
6 days ago
[-]
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.

reply
yjftsjthsd-h
6 days ago
[-]
Is there a visualization of the layout somewhere?
reply
hermitsings
5 days ago
[-]
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!

reply
SuperNinKenDo
6 days ago
[-]
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.
reply
BobbyTables2
6 days ago
[-]
I’m surprised there aren’t Emacs packages for the X server itself and a bootloader…
reply
hulitu
5 days ago
[-]
Emacs hasn't evolved. The browser took further the idea of Emacs becoming the OS.
reply
smitty1e
6 days ago
[-]
Packaged as a Spacemacs layer => https://www.spacemacs.org/layers/LAYERS.html#exwm
reply
jmclnx
6 days ago
[-]
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 :)

reply
zhengyi13
6 days ago
[-]
The other emacs-based WM I'm aware of is stumpwm: https://github.com/stumpwm/stumpwm
reply
kqr
6 days ago
[-]
...which is not Emacs based but written in Common Lisp. It is equally hackable, though.
reply
penguin_booze
5 days ago
[-]
I wished PuTTY offered some kind of tiling window manager for my SSH sessions. Does anyone know something of that sort?
reply
GuinansEyebrows
5 days ago
[-]
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.

reply
Shared404
5 days ago
[-]
For sessions on the same target host you could use tmux.
reply
looofooo0
5 days ago
[-]
You can ssh from emacs.
reply
quotemstr
6 days ago
[-]
I seriously considered making Emacs a wlroots compositor last time I had a chunk of free time.
reply
rahen
6 days ago
[-]
reply
spudlyo
6 days ago
[-]
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.
reply
_emacsomancer_
6 days ago
[-]
reply
rahen
6 days ago
[-]
Try Guix System. The entire system, including PID 1, is configured in Scheme (Guile) and has a very nice Emacs-like hackability.
reply
Y_Y
6 days ago
[-]
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).

reply
spudlyo
6 days ago
[-]
Handling SIGCHLD and doing the right thing is table-stakes for a functioning init, IMHO. This isn't that.
reply
codr7
6 days ago
[-]
Sounds like SystemD to me, all it's missing is a good editor.
reply
hulitu
5 days ago
[-]
> Sounds like SystemD to me, all it's missing is a good editor.

Please, don't give Poettering ideas. He has enough, already. /s

reply
djaouen
6 days ago
[-]
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!
reply
Alive-in-2025
6 days ago
[-]
What does this mean, especially in reference to this story
reply