Hacker News new | ask | show | jobs
by olufnaese 2042 days ago
Doesn't this mean that, if EMACS freezes, your window manager freezes? How does it compare to XMonad and StumpWM?
3 comments

Correct. It does. I was on EXWM for one and a half year, with all it's pros and cons.

I gave a lightningtalk on EXWM at Congress last year: https://media.ccc.de/v/36c3-10525-lightning_talks_day_3#t=14...

Note: I'm not the developer, I'm not involved with the project, I was just a huge fan of it. And still is. But it's too slow and buggy for me these days.

With the new native-comp branch (aka gccemacs) at least the slowness should go away.
If it's buggy I'll stick to XMonad. What are you using now?
I was using i3 before, so kinda went back to that and when that was set up I decided to try out sway again which actually did stick this time. So been on Sway for a couple of months :)
You are not supposed to use the same instance for working and window-managing. Using a dedicated setup for EXWM and another for the rest is somewhat mandatory with this, to prevent exactly this problem.
EXWM has been my daily driver for years and I use the same Emacs for window management, email, text editing, IRC and a few other things.

This can be a problem if you choose applications (like Gnus) which are known to have slow, blocking operations but those usually have modern alternatives.

I was thinking the same, but as the pictures on the EXWM site suggest: could you not run a dedicated instance for the window manager? And do all your other Emacs tasks in embedded instances, so that the former is not so likely to crash?
The Emacs instance running as the WM is just Emacs in fullscreen. You can use it as your editor. But you can also launch X11 programs and manage them as you do with text buffers. Kill a program, kill a buffer. Same thing.

But you can, of course, launch a graphical Emacs within EXWM. There you get a second Emacs thread.

One can also put X11 buffers in char-mode to pass through keybinds directly to that window. That way you don't have to do weird sequences to pass through emacs keybinds to another Emacs.