Live data from Hacker News

Mwm – The smallest usable X11 window manager

github.com

41–50 of 96 posts

Re: Mwm – The smallest usable X11 window manager

#42
post #29
post #23

While this leaves a lot to be desired as a window manager, it illustrates one of my main gripes about the Wayland ecosystem: By effectively bundling the window manager and X server, it makes it much harder for more niche/experimental window managers to come about and stay alive. Even with things like wlroots, you have to invest a lot more work to get even the basics working that X11 will give you for free.

YAGN more experimental/niche window managers. Windows and macOS get by fine on one apiece, in fact their desktop story is better because their WM and toolkit is standardized. The developers of Wayland (who are identical to the developers of Xorg) aspire to more of a Windows/Mac-like ecosystem for Linux, in which standardization, performance, and support for modern graphics hardware without hacks or workarounds are pr…

Terrible window management is a huge reason I will not use Mac OS or Windows. I immediately lose so much productivity. I am coming up on my 30th year of using Linux, and I can't imagine moving to an OS with such limited window capabilities. No sloppy mouse focus? No always on top? No sticky windows? No marking windows as utility windows to skip alt-tab?

I watch my colleagues on Mac OS and Windows during peer programming, and am flabbergasted as they fumble around trying to find the right window.

I am interacting with my computers interface for 10+ hours every single day. I do not stare at a single application, but am constantly jumping between windows and tasks. The one size fits all approach is the same as the lowest common denominator approach, and it hinders people who need to do real work.

Re: Mwm – The smallest usable X11 window manager

#43

> No title bars, no status bars, no buttons, no borders, no menus, etc. > All windows are full-screen, just one is visible at any given time. Oh, it's like cage ( https://github.com/cage-kiosk/cage ) for X11. I was wondering ex. how you'd even move windows around in that little code; the answer is "you don't":)

No it's not. It lets you cycle through active windows with a hotkey, lets you close the current window, and launches dmenu to let you open more applications.

Re: Mwm – The smallest usable X11 window manager

#44
post #5
post #4

This is the entire source: #include #include #define stk(s) XKeysymToKeycode(d, XStringToKeysym(s)) #define on(_, x) if (e.type == _) { x; } #define map(k, x) if (e.xkey.keycode == stk(k)) { x; } #define grab(...) const char *l[] = { __VA_ARGS__, 0 }; \ for (int i = 0; l[i]; i++) XGrabKey(d, stk(l[i]), Mod4Mask, r, 1, 1, 1); int main() { Display *d = XOpenDisplay(0); Window r = DefaultRootWindow(d); XEvent e; XSelect…

Is it really that much better than this: #include #include int GetKeyCode(Display* d, char* s) { return XKeysymToKeycode(d, XStringToKeysym(s)); } int main() { Display* d = XOpenDisplay(0); Window r = DefaultRootWindow(d); XSelectInput(d, r, SubstructureRedirectMask); XGrabKey(d, GetKeyCode(d, "n"), Mod4Mask, r, 1, 1, 1); XGrabKey(d, GetKeyCode(d, "q"), Mod4Mask, r, 1, 1, 1); XGrabKey(d, GetKeyCode(d, "e"), Mod4Mask,…

Just for fun I reformatted it minimally in the conservative way I write code that is intended to be easy to read and understand to improve the odds of future contributors (or future me) introducing a bug in it due to misunderstanding it.

It's painfully verbose but I think it's worth it considering that we're in 2025 and we're not limited to one character variable names.

https://gist.github.com/leonardo-albertovich/984fff0825ff8fe...

Re: Mwm – The smallest usable X11 window manager

#45

> No title bars, no status bars, no buttons, no borders, no menus, etc. > All windows are full-screen, just one is visible at any given time. Oh, it's like cage ( https://github.com/cage-kiosk/cage ) for X11. I was wondering ex. how you'd even move windows around in that little code; the answer is "you don't":)

This one lets you move windows around:

https://github.com/mackstann/tinywm/blob/master/tinywm.c

Re: Mwm – The smallest usable X11 window manager

#47
post #42
post #29

Earlier quoted context omitted.

YAGN more experimental/niche window managers. Windows and macOS get by fine on one apiece, in fact their desktop story is better because their WM and toolkit is standardized. The developers of Wayland (who are identical to the developers of Xorg) aspire to more of a Windows/Mac-like ecosystem for Linux, in which standardization, performance, and support for modern graphics hardware without hacks or workarounds are pr…

Terrible window management is a huge reason I will not use Mac OS or Windows. I immediately lose so much productivity. I am coming up on my 30th year of using Linux, and I can't imagine moving to an OS with such limited window capabilities. No sloppy mouse focus? No always on top? No sticky windows? No marking windows as utility windows to skip alt-tab? I watch my colleagues on Mac OS and Windows during peer programm…

Linux already has GNOME and KDE as solid mainstream platforms (which is already twice as good as MacOS/Windows), and it also already has Sway, Hyprland, Niri. If an idea is worth implementing, it gets implemented even with Wayland.

Re: Mwm – The smallest usable X11 window manager

#48
post #46

This name conflicts with the original Motif Window Manager, part of OSF Motif. I don't know if mwm is found in modern Motif binary packages. https://en.m.wikipedia.org/wiki/Motif_Window_Manager The dtvwm eclipsed this in CDE.

MWM is included in modern Motif binary packages.

Re: Mwm – The smallest usable X11 window manager

#50

I wish things were as easy as they were with X11. Being able to ssh into a box and “export DISPLAY=192.168.0.7:0.0” then start an app and have it show up locally is just magical.

This still works if X11 is installed on the remote. I have a remote that runs Wayland locally, and I run Wayland in the client machine as well, but I have X11 installed on the remote and X11 forwarding still works, it just opens the remote application in an XWayland window inside the local Wayland session. No biggie
Post reply on HN