You need to install just the Emacs package Emacs Desktop Window Manager (dwin) https://github.com/lsth/dwin, for example from MELPA. Currently it works with X11 window managers as well as with KDE/KWin on Wayland or X11 (using xdotool and kdotool, resp.). I am using it all day myself on KDE/KWin Wayland in my standard setup and there it works fine.
(I am the author.)
Once you have that taste of freedom - there's no going back. The traditional way of "write, save, reload/restart" would feel so clunky, annoying and stupid.
And you can absolutely do this as long your WM supports some kind of IPC. I'm slowly building my Hyprland config in Clojure using babashka. I wish I could share it publicly, but it's still in early experimental stage - too messy, too opinionated, there are some bugs, and I still may decide to switch to Janet, CL, nbb or some other Lisp option, I'm glad we have numerous options to choose from.
I've been using it for a w while, and recently finally got fed up about terminals on my macbook not behaving as nicely as the ones on my linux box with proper tiling window managers, so spent some effort to make SSH into a terminal with completion easy from emacs, and now mostly handle terminals in emacs.
I struggled quite a bit with the xinit ath the start, and I had to switch to other terminals to get back to any UI. But now I have a pretty consistently well-running EXWM, only from time to time (once a month) it freezes. Most of the time, because I quickly want to do sth. Mess up pressing multiple wrong key combinations and am stuck with a frozen ui :D For login I use lightdm, that will then load emacs.
What my key pain points still are:
- char and line mode Switching between them is easy, but having different modes, in different buffers can still sometimes mess up with my keys. Esp. when pressing Ctrl-q for escaping, just to realize that this is in line mode, and closing the window, instead of staring a actual sequence, like C-q C-y. Also, when coing through my buffer list, while having the preview active. So in buffer list, use C-n, and when the preview then shows a buffer, that is in line mode, that will capture the focus, and the next C-n will be send to the buffer, instead of the buffer list. Leaving me with a open buffer list in the minibuffer, that I have to manually close.
- some webpages e.g. payment providers open up a popup for confirming. From time to time, this popup is - in the background somehwhere - or floating - or not findable at all, even in my buffer list This is rare, but it happens. And when it happens, it's very annoying to interact with it
- when altering my emacs init config, and rebooting, and I messed things up. Then there is no way other than switching to tty1 and roll back the changes. Though I guess I could change that, through having some kind of check before saving.
- Not a pain point, but I still haven't gotten to the part of using it with multiple monitors. Looking at the config I always say that "I'll do it soon" >D
But overall happy! And thanks to howardism.org for all the wonderfull great emacs write-ups he has. My all time fav. is still the Literate DevOps article, to which I came back often in the past. And now that I think about it, I should re-read it! Thanks Howard!
That said, i did not give it a fair shot. Does anyone have any good resources to get started? E.g lazygit has a good 15min vid to get u up to speed
To the eyes of his employer installing a personal VM is probably exactly the same.
I have the same problem, but I'm not sure if a VM is a good solution. The work OS has full access to the VM and I don't trust putting my personal things even in the VM. (I consider the work laptop backdoored and full with spyware.)
The author mentions in the footnotes he mostly uses this setup for note taking. That makes sense as he probably remains in one window for extended periods of time.
Something like:
# start other stuff
emacs &
exec kittyGUIX, EXWM, and Emacs are home for now :)
Is there a live release/support/discussion ecosystem for ratpoison in 2025 ?