window manager development thread - Desktop Customization & Workflow

Users browsing this thread: 1 Guest(s)
I am also developing my own window manager. It's really a good way to learn about X, but I do admire the architecture of Wayland more. I think Wayland works in a more intuitive way. What I dislike about Wayland is that the concept of composite manager and window manager are merged into the concept of compositor, which is less flexible in terms of composition effects, and is less friendly for people who want to implement a very simple WM.

I am getting much inspiration from subtle (sadly it looks unmaintained now, and the homepage seems dead). The "gravity" mechanism seems to me a good way of placing windows efficiently, without the need to structure windows in some not-completely-intuitive tway (like a tree. Surely tiling layouts are visible, but sometimes they are not so intuitive. For example, a 2x2 grid can be either a tree, two columns or two rows internally, but visually, it is just a 2x2 grid). Currently my design is based on some user-defined regions on the screen, called anchors. The user can perform operations like placing a window on the region covered by one or more anchors, or focusing the top-most window on an anchor.

(30-08-2020, 09:10 PM)phillbush Wrote: Focus handling is one of the hardest parts of writing a wm.
Totally agree. The Alt-Tab cycle way also seem unsatisfactory for me as the order is implicit. But I do have an idea that may improve focusing a little, both for Alt-Tab cycle and window closing. If the WM draw different border color for not only the focused window, but also the "next" and "prev" window (based on the internal order), then Alt-Tab in a setting with 3 to 4 windows become much more intuitive. And if the "prev" window is always focused when current focus is closed, this behavior also becomes visible and more intuitive.

The last thing is configuration. I like the way bspwm, herbstluwm, berry, etc. handle configuration: IPC. Because this way of configuration is not only convenient (simulation of simple text based config, as well as config modification on-the-fly, is possible), but also highly scriptable. AFAIK these WMs typically use domain sockets as the way of configuration. But I wonder if the configuration can be done via X client message towards the root window. This way configuration events and X events can trivially be merged into one event loop (X events and domain sockets don't seem to play well with each other).

Also, I am not very fond of sxhkd, because it lacks the feature of modal key bindings. I have been a long time i3 user, and i3's modal key binding feature is very convenient for me.

Messages In This Thread
window manager development thread - by phillbush - 30-08-2020, 09:10 PM
RE: window manager development thread - by venam - 31-08-2020, 03:36 AM
RE: window manager development thread - by Guest0x0 - 09-02-2021, 06:00 AM
RE: window manager development thread - by movq - 22-02-2021, 08:37 AM