1. 37

  2. 17

    My favourite wm of all time:

    #include <X11/Xlib.h>
    #include <X11/keysym.h>
    #include <unistd.h>
    static const char *term[] = { "x-terminal-emulator", "-maximized", NULL };
    void spawn(Display * disp, const char** com)
        if (fork()) return;
        if (disp) close(ConnectionNumber(disp));
        execvp((char*)com[0], (char**)com);
    int main(void)
        Display * disp;
        XEvent ev;
        if(!(disp = XOpenDisplay(0x0))) return 1;
        XGrabKey(disp, XKeysymToKeycode(disp, XK_F11), Mod1Mask,
            DefaultRootWindow(disp), True, GrabModeAsync, GrabModeAsync);
            XNextEvent(disp, &ev);
            if(ev.type == KeyPress &&(XLookupKeysym(&ev.xkey, 0) == XK_F11))
    	    spawn(disp, term);
    1. 5

      I’ve always meant to use Emacs as my window manager, but this looks just as good!

      1. 2

        I used exwm for a few weeks a year or so ago, and it worked great, but I had some problems with the Swing apps at work. If I didn’t have Java in my life, it would have been amazing and I would have stuck with it. The experience was positive enough that I might try it again soon.

    2. 9

      Longtime user of StumpWM here. I really enjoy using it; it’s very nice to be able to easily extend my window manager while it’s running, and to have a complete Common Lisp environment always available. Highly recommended.

      1. 2

        I’ve been using i3 for years but recently came back to StumpWM because Common Lisp is my favorite language. Going from i3 to StumpWM is a small step (there’s some advantages in both of them compared to the other) and I haven’t run into major issues the last couple of weeks. It is also stable.

        So, recommended as well!

        1. 1

          I switched from Ratpoison to StumpWM just to get Xrandr multihead support. My only problem is that it only supports bitmap fonts, which sucks on HiDPI, but it doesn’t matter that much. I’m planning to switch to EXWM after Christmas…

          1. 2

            My only problem is that [StumpWM] only supports bitmap fonts …

            Luckily, that’s not true. I’m using TrueType with StumpWM just fine.

            Just get ttf-fonts & then throw this at the top of your config:

            (ql:quickload '(#:clx-truetype #:ttf-fonts))
            (set-font (make-instance 'xft:font
                                     :family "Source Code Pro Semibold"
                                     :subfamily "regular"
                                     :size 12))

            (changing the args as you like — I find that Source Code Pro is an awesome font)

            1. 1

              Duh, I’m way too lazy nowadays. Thanks!

        2. 9

          This one blew my mind

          1. 5

            EXWM (the Emacs Lisp one) follows the same approach of compiling the XML spec into lisp code: https://groups.google.com/a/circleci.com/forum/?hl=en#!forumsearch/

            1. 3

              Spacemacsos looks like an interesting working environment.

          2. 7

            Actually, this is a good place to ask this as any:

            The Andrew Project, from Carnegie Mellon, created a distributed computing environment around the same time and of the same scope as MIT’s Project Athena.

            Andrew had a windowing system called “WM” or “Window Manager”. Eventually, Andrew WM was discontinued and the Andrew programming environment was ported to X.

            I have two questions:

            1. Andrew WM was a tiling windowing system. In its first incarnation it used a complex system of constraints to reposition windows, and later it switched to a simpler tiling mechanism after users complained the first system moved windows around too much. I cannot find documentation on either layout algorithm anywhere. Anyone know where I could find it?

            2. They created a window manager for X that mimicked the Andrew interface, but searching for “Andrew WM” doesn’t get me anywhere because that’s also the name of the original system. This would’ve been X11R3 or so, maybe earlier. Does anyone know if there’s still a copy of the X window manager floating around?


            1. 2

              You may be interested in checking through the MIT Athena share, there’s some really old stuff on there. Unfortunately, it’ll be a mess to navigate.

              There’s also the archives on TUHS; there may also be things of interest there.

            2. 5

              I used 2bwm, the first window manager on the list, for a long time and really enjoyed it! It’s nice to be able to edit the pretty miniman c source code whenever you want

              1. 4

                xmonad ftw.

                1. 2

                  That really is a comprehensive list - here’s a bit about my favorite then :)

                  I use i3 since 2011 and never looked back. I was pushing windows around with my mouse since the late 80s (Atari ST, then Windows, then Linux (mainly KDE)) and got tired of it.

                  i3 is a keyboard driven tiling window manager with very good multi monitor support. The default is to always fill up the whole display when you open a new window with some extra handling for floating windows like file dialogues and such. Workspaces are bound to displays and can be switched indepently from each other.

                  The configuration is quite simple but powerful enough to do everything I need. the only thing I was a bit unhappy with where some dynamic aspects and wanted auto reload functionality, so I wrote my own little tool do that: http://oliver.bestwalter.de/i3configger/ - here is my config using that tool: https://github.com/obestwalter/i3config

                  1. 1

                    It’s been a while, but I used to swear by wmx. Simple, not terribly ugly, and with just enough features to do what I needed. The virtual desktop format (switch back and forth linearly, always have one empty at the end) ended up being the default mode for Gnome 3, if I understand correctly, and beat it by 15 years.

                    Don’t get me wrong, I shopped around quite a bit. Started with twm, spent a lot of time in blackbox, kept trying different wm’s, but wmx was the one that stuck.