Exwm: Emacs X Window Manager

(github.com)

116 points | by tosh 2 days ago ago

35 comments

  • aradox66 a day ago

    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.

    • aradox66 a day ago

      If it seems interesting to you or you're experimenting with keyboard-driven tiling WMs, though, I would highly recommend this particular fling.

    • dargscisyhp a day ago

      Been using it for a couple of years, and in practice it does not cause me much trouble, at least not for me.

      • Dibby053 6 hours ago

        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.

    • quotemstr a day ago

      Single-threaded? Not anymore!

    • bitwize a day ago

      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...

  • hermitsings a day ago

    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.

    • yjftsjthsd-h a day ago

      Is there a visualization of the layout somewhere?

      • hermitsings 17 hours ago

        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!

  • BobbyTables2 a day ago

    I’m surprised there aren’t Emacs packages for the X server itself and a bootloader…

    • hulitu a day ago

      Emacs hasn't evolved. The browser took further the idea of Emacs becoming the OS.

  • jmclnx a day ago

    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 :)

  • penguin_booze a day ago

    I wished PuTTY offered some kind of tiling window manager for my SSH sessions. Does anyone know something of that sort?

    • Shared404 a day ago

      For sessions on the same target host you could use tmux.

    • looofooo0 a day ago

      You can ssh from emacs.

    • GuinansEyebrows 17 hours ago

      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.

    • a day ago
      [deleted]
  • SuperNinKenDo a day ago

    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.

  • rahen a day ago
  • spudlyo 2 days ago

    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.

    • _emacsomancer_ a day ago
    • rahen a day ago

      Try Guix System. The entire system, including PID 1, is configured in Scheme (Guile) and has a very nice Emacs-like hackability.

    • Y_Y a day ago

      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).

      • spudlyo a day ago

        Handling SIGCHLD and doing the right thing is table-stakes for a functioning init, IMHO. This isn't that.

    • codr7 a day ago

      Sounds like SystemD to me, all it's missing is a good editor.

      • hulitu a day ago

        > Sounds like SystemD to me, all it's missing is a good editor.

        Please, don't give Poettering ideas. He has enough, already. /s

  • quotemstr a day ago

    I seriously considered making Emacs a wlroots compositor last time I had a chunk of free time.

  • smitty1e a day ago

    Packaged as a Spacemacs layer => https://www.spacemacs.org/layers/LAYERS.html#exwm

  • djaouen a day ago

    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!

    • Alive-in-2025 a day ago

      What does this mean, especially in reference to this story

      • djaouen a day ago

        Basically, whenever I post to a thread, that thread gets buried by HN's algorithm. Thus, the intention of me posting means that I can keep Guix and EXWM under wraps and all to myself. Edit: Forgot to add: MUAHAHAHAHAHA

        Edit 2: Pikachu uses GROWL. It's ULTRA EFFECTIVE!

        • hsbauauvhabzb 21 hours ago

          I’m going to guess that a lot of your posts are of similarly low quality.

          • djaouen 21 hours ago

            Yes, because clicking on a username and then "comments" is clearly too much work for you. *rolls eyes*

            Edit: Sorry for the prior wording choice, I am not yet fluent in Total Asshole.