News for hackers. Stuff that matters.
Re:EXWM (Emacs X Window Manager) by omnicognate on Friday November 20, 2020 @02:02AM (#25157952)
This sounds like a comedy hack but isn't. I tried it out for a lark and now it's been my only wm for 3 years. Absolute genius.
Re:EXWM (Emacs X Window Manager) by samvher on Friday November 20, 2020 @02:40AM (#25158143)
What makes it worthwhile to you?

It’s not entirely clear to me from the page what features set it apart. I guess part is familiar keybindings if you’re an emacs user?

The screenshots look like it does some tiling, is that a good experience? I use i3 so would be curious to know how this would compare.

Re:EXWM (Emacs X Window Manager) by omnicognate on Friday November 20, 2020 @04:45AM (#25158891)
It's primarily useful to people who already use emacs a lot, I think. Not sure I'd recommend using emacs just for EXWM, as some people seem to do with magit or org-mode.

The main problem it solves is that emacs is a tiling window manager (in a loose, non X-specific sense), so if you spend the majority of your time in emacs it gets quite annoying that you're having to use two different paradigms to manage windows: one for managing emacs "windows" and the "buffers" that they "visit" and one for managing X windows, of which emacs itself is one. EXWM makes X windows behave (mostly) as if they are emacs buffers, so you can use the same powerful tools to manage them.

As an example, I use ivy (https://github.com/abo-abo/swiper) so for switching between buffers I get a nice incremental fuzzy-matched buffer list. With EXWM that same buffer list also contains my web browser and other X applications.

I've written a toy window manager so I have some sense for what making a real one would entail. I've been using emacs for 20 years or so, so have some insight into that. I am in awe at the dedication and attention to detail it must have taken to turn EXWM from a crazy idea into a solid WM that is completely usable as a daily driver.

Re:EXWM (Emacs X Window Manager) by olufnaese on Friday November 20, 2020 @06:08AM (#25159312)
> it gets quite annoying that you're having to use two different paradigms to manage windows

I can imagine that EXWM eliminates the need for SUPER, which for me would free a modifier pair for a useful LVL3.

Re:EXWM (Emacs X Window Manager) by leveleer323 on Saturday November 21, 2020 @12:23AM (#25168015)
What is LVL3 ?
Re:EXWM (Emacs X Window Manager) by olufnaese on Saturday November 21, 2020 @07:50AM (#25169419)
Sorry: level 3. It's the modifier that ``comes after shift'' and accesses special symbols. Some operating systems call it `option' and `alt gr'.

I currently have a super on both sides and need to shift super in order to get level 3. Some pedals would be nice.

Re:EXWM (Emacs X Window Manager) by skulk on Friday November 20, 2020 @04:16AM (#25158732)
Every X window is a buffer, so you have all of emacs's powerful buffer switching programs (see: ido, helm [1], ivy [2]) for focusing windows. Also there are multiple interesting solutions to managing window splits [6], moving windows [3][4], saving their configuration [5], etc.

[1]: https://github.com/emacs-helm/helm

[2]: https://github.com/abo-abo/swiper

[3]: https://www.emacswiki.org/emacs/WindMove

[4]: https://github.com/abo-abo/ace-window

[5]: https://github.com/Bad-ptr/persp-mode.el

[6]: winner-mode, one of my favorite things. https://www.emacswiki.org/emacs/WinnerMode

Re:EXWM (Emacs X Window Manager) by leveleer323 on Saturday November 21, 2020 @12:24AM (#25168023)
Interesting side note, WindMove was originally authored by founder of wiki leaks Jullian Assange.
Re:EXWM (Emacs X Window Manager) by segfaultbuserr on Friday November 20, 2020 @02:36AM (#25158122)
> This sounds like a comedy hack but isn't.

A true comedy hack could be running and editing files in gvim, but to manage gvim's windows in Emacs.

Re:EXWM (Emacs X Window Manager) by smitty1e on Friday November 20, 2020 @04:07AM (#25158677)
Re:EXWM (Emacs X Window Manager) by harrygeez on Friday November 20, 2020 @03:02AM (#25158267)
you could just run vim in eshell
Re:EXWM (Emacs X Window Manager) by dan-robertson on Friday November 20, 2020 @03:37AM (#25158483)
Not really. You could run ex I guess but that would be awful. I suppose you mean running it in M-x term.
Re:EXWM (Emacs X Window Manager) by sea6ear on Friday November 20, 2020 @05:07AM (#25159000)
At one point before Spacemacs was a thing, I had my 'stupid Emacs trick' - I had set up keybindings to invoke Vim as an external editor for Emacs. It took an open buffer and opened ansi-term and executed Vim on the file from the original buffer. I got some perverse pleasure in running Vim in my Emacs instance.

I don't remember if I got as far as saving non-file buffers as temp files so they would be accessible to Vim or not. That would have been the next logical enhancement. Maybe it would also be possible to pipe the buffer directly into Vim? I'm not sure if Vim would display in the foreground if you did that or not. I feel like I've had situations where piping things into Vim managed to wedge it in the background, but some of that was on Windows where console process communication is a wasteland of broken dreams.

Re:EXWM (Emacs X Window Manager) by alpaca128 on Friday November 20, 2020 @04:48AM (#25158913)
Vim doesn't run in Emacs' terminal because it doesn't have ncurses support. It is possible to start Vim inside Vim's terminal buffer, but it's often not usable, as the outer Vim tends to catch all the input. I usually tend to remember that after I ran `git commit`...
Re:EXWM (Emacs X Window Manager) by terinjokes on Friday November 20, 2020 @05:09AM (#25159008)
vim is definitely runnable in emacs's vterm, which is more similar to the terminal in Vim than any of emacs's shell, eshell, or eterm modes.

As an evil user, I tended to remember this after I ran `git commit` and then try to remember how to pause evil so I could address vim. (I now use `with-editor` to set $EDITOR back to the parent emacs, and have mostly switched to magit)

Re:EXWM (Emacs X Window Manager) by rusticpenn on Friday November 20, 2020 @02:23AM (#25158067)
I should try this out on my home pc.