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...
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.
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.
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.
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.
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!
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.
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...
If it seems interesting to you or you're experimenting with keyboard-driven tiling WMs, though, I would highly recommend this particular fling.
Been using it for a couple of years, and in practice it does not cause me much trouble, at least not for me.
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.
Single-threaded? Not anymore!
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.
Is there a visualization of the layout somewhere?
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!
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.
I’m surprised there aren’t Emacs packages for the X server itself and a bootloader…
Emacs hasn't evolved. The browser took further the idea of Emacs becoming the OS.
Packaged as a Spacemacs layer => https://www.spacemacs.org/layers/LAYERS.html#exwm
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 :)
The other emacs-based WM I'm aware of is stumpwm: https://github.com/stumpwm/stumpwm
...which is not Emacs based but written in Common Lisp. It is equally hackable, though.
I wished PuTTY offered some kind of tiling window manager for my SSH sessions. Does anyone know something of that sort?
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.
For sessions on the same target host you could use tmux.
You can ssh from emacs.
I seriously considered making Emacs a wlroots compositor last time I had a chunk of free time.
Obligatory System Crafter videos:
- https://www.youtube.com/watch?v=f7xB2fFk1tQ
- https://www.youtube.com/watch?v=9gfKrrTtyOk
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.
almost: https://github.com/a-schaefers/systemE
Try Guix System. The entire system, including PID 1, is configured in Scheme (Guile) and has a very nice Emacs-like hackability.
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).
Handling SIGCHLD and doing the right thing is table-stakes for a functioning init, IMHO. This isn't that.
Sounds like SystemD to me, all it's missing is a good editor.
> Sounds like SystemD to me, all it's missing is a good editor.
Please, don't give Poettering ideas. He has enough, already. /s
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!
What does this mean, especially in reference to this story
[flagged]
[flagged]
[flagged]