sulami / FrankenWM

🖼️ Fast dynamic tiling X11 window manager
https://bbs.archlinux.org/viewtopic.php?id=189060
Other
263 stars 34 forks source link

Fullscreen #87

Closed ghost closed 8 years ago

ghost commented 8 years ago

Okay, I think the new fullscreen code is ready for approval. What did I do the last few days?

New: Desktop 1 to Desktop X Monitor 1 to Monitor X

Default Display to Display X | Clients

Reason: FrankenWM is now ready for MultiMonitor. (Sadly I own only one monitor) Fullscreen clients create a new display and may have their own clients. As soon as the fullscreen mode is left, the display is destroyed and all clients are moved to the previous display. (This idea is borrowed from one of my own "Fingerübungen" in writing an X11 wm.)

I know, it's quite a heavy code change, so take your time :).

Another important info: each display now saves the global values (master_size, mode, growth, etc) directly in its internal structure. This makes save_desktop(); superfluous.

sulami commented 8 years ago

Yep, this is going to take a while to review, hang tight.

sulami commented 8 years ago

So I had a thorough look at the code and also ran some quick tests. The display abstractions are nice and most things seem to work. There is one minor regression I noted, that is when you drag the current master window, floating it, it gets stuck behind the other windows and cannot be brought back to the foreground. I confirmed that this worked before, so something in here breaks this.

I also tested basic multi-monitor functionality, and there seems to be no major breakage, the desktop is still expanded across all monitors.

ghost commented 8 years ago

Taking a closer look at that regression. EDIT: When I thought of MultiMonitor Support, it wasn't "span the desktop over all monitors". It was Zaphod style MultiMonitor. For example: vlc running in fullscreen mode on Monitor 1 and few urxvts on Monitor 2. These Monitors do not need to have the same resolutions. EDIT: Theoretically, we can even use Zaphod on Desktop 1, and XRandR, Xinerama, w/e on the other Desktops

ghost commented 8 years ago

Regression fixed. Thanks for pointing that one out.