I work with multi-head set-ups and have grown accustomed to sizing windows vertically so they take up the whole available height via a keyboard shortcut. I don't mind toggling that state back off manually before dragging a window to a different screen, because that's a relatively rare event.
Somewhere after 4.11.2 a change must have been introduced that causes a side-effect I find very annoying: windows lose the vertical-maximised state as soon as you grab their titlebar. With v4.11.2 build I could move such windows around as I liked without having to resize the window again afterwards (horizontally but really it should be my choice if I want to move part of a window off-screen). It's not just that I have to hit the shortcut key again, the (potential) effects on window content, forced redrawing cycles etc. are not really acceptable to me either.
I'd appreciate a pointer to the relevant changes in the code or if possible even a commit to reverse, that's more important to me than getting this reverted officially (though I'd be happy to help work out a solution that works for everyone).
I'd say it's most likely related to tiling, look into ssrc/moveresize.c maybe.
That's where I've started looking, but it's got quite a few places where CLIENT_FLAG_MAXIMISED is being turned off that aren't there in the 4.11.2 code. Not trivial to figure out which one to deactivate (without at least a 3rd hand to facilitate stepping a WM through a debugger).
I think I'll try replacing all those CLIENT_FLAG_MAXIMIZED instances with `CLIENT_FULLY_MAXIMIZED`, where
#define CLIENT_FLAG_FULLY_MAXIMIZED (CLIENT_FLAG_MAXIMIZED_VERT & \
and see how that works out. I expect that dropping full-screen maximisation to move a window would be more acceptable. That would depend a bit though on the extent to which the maximised flag is dropped if you resize a window even slightly. I got the impression that's not the case currently.
Created attachment 6922
In the end I had to figure out how to set an appropriate watchpoint in LLDB (thankfully running locally because X11 is a 2ndary display driver on Mac OS).
The attached patch appears to be a sufficient workaround for me. Feel free to adapt it if you also think windows shouldn't lose horizontal and/or vertical maximisation when moving them.
(And please disregard the rambling about a CLIENT_FLAG_FULLY_MAXIMIZED token above, I clearly wasn't fully awake when I dreamt that one up!)
-- GitLab Migration Automatic Message --
This bug has been migrated to xfce.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.xfce.org/xfce/xfwm4/-/issues/239.
Please create an account or use an existing account on one of our supported OAuth providers.
If you want to fork to submit patches and merge requests please continue reading here: https://docs.xfce.org/contribute/dev/git/start#gitlab_forks_and_merge_requests
Also feel free to reach out to us on the mailing list https://mail.xfce.org/mailman/listinfo/xfce4-dev