this post was submitted on 17 Oct 2023
1 points (100.0% liked)

Emacs

305 readers
3 users here now

A community for the timeless and infinitely powerful editor. Want to see what Emacs is capable of?!

Get Emacs

Rules

  1. Posts should be emacs related
  2. Be kind please
  3. Yes, we already know: Google results for "emacs" and "vi" link to each other. We good.

Emacs Resources

Emacs Tutorials

Useful Emacs configuration files and distributions

Quick pain-saver tip

founded 1 year ago
MODERATORS
 

I use dwm in my laptop, but previously used i3wm for a few years. I'm curious about:

  • How well EXWM performs nowadays?
  • Is it resource heavy compared to other tiling window managers?
  • Is it still an issue EXWM not being multi-threaded?

My daily tasks involves just opening chrome, telegram and/or slack, watching movies and coding of course. Would it be a good fit for my needs?

I'd love to know your thoughts if you use or have some previous experience with EXWM. Thank you in advance!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 10 months ago

Would I recommend EXWM as a daily driver? Not really. I say that as someone who has chosen to use exwm exclusively for years and tens of thousands of hours. I tried I3 for a while, and have used EXWM under OpenSuse several years and now under Guix, almost always with 3 monitors.

I find that exwm is a glass cannon. Like Linux and emacs, it has a learning curve and appeals to those who tolerate or enjoy that. Why do I get huge benefits from exwm?

  • Universal buffer-paradigm even for all my browser tabs. C-x b and I can go to any buffer, any app. This is one of the biggest benefits for me, and is absolutely huge.
  • Universal orgmode modeline/shortcuts. From anywhere I can see what task I am currently logged in, switch to my agenda, and make captures.
  • Universal emacs commands. Start eww, swap to shell or calculator or Dired or Tramp, or execute an arbitrary shell command, etc.
  • Emacs interfaces become even better. I recently started using emm for audio, for example, and I can anywhere get to a command prompt and enter emm-pause etc. It's not wrong to say that emacs is truly just a good text interface to things, and no where is that highlighted more than in making it your window manager.
  • Universal emacs-style editing. I don't need to bother with the frequent question, "can I use emacs keys in my browser?" because EXWM takes care of that (with some minor caveats).
  • Maximizing screen real-estate and screen usage. This is true of other tiling window managers, too, but it is very emacs-philosophy to not worry about icons and homescreens and always be full-screen emacs. My setup with multiple monitors, winmove, and Telephone modeline work beautifully, too.

But as for the "Glass" part of the "glass cannon", there are several concerns that mean that EXWM is not good for general recommendation to, say, my colleagues, or my student developers.

  • Substantial learning curve. For some of us this is enjoyable, but not for everyone.

  • Customization needed. For some users (ie Linux users) this is a given, but those deep in Windows, Mac, and even Ubuntu may not have the taste for this.

  • Threading. Despite those who say otherwise, I have taken the habit of starting sub-emacs processes for the two emacs programs I run that can freeze the main thread. I have shortcuts for my Telega (= superb Telegram front-end) and Elfeed (which freezes on retrieval of some of my RSS feeds). In the past I've also needed to use sub-processes for TRAMP, but I've been able to stop this with 1) better internet connections 2) remembering to actually clean up all tramp connections when I finish using them, so they don't sleep and freeze.

  • More likely catastrophes. I have lost times when a syntax error in my emacs init file causes things to fail to even boot, when I need to use command-line to debug my emacs init (often imbalanced parenthesis). An even tougher debug was necessary when I switched to GUIX and exwm kept silently failing to start for days. Eventually I found out that I was missing the image for one of my custom cursors (nothing emacs is normally concerned with) and this was causing exwm to fail without a helpful error message.

    So, Glass Cannon, and the Glass means I cannot recommend exwm generally, but the Cannon part is one I would hate to live without.