On Thu, Dec 16, 2021 at 04:23:35PM +0000, Hegel3DReloaded wrote: > I have opened an issue about PositionPlacement Center style: after > the recent changes, in multi monitor mode, this centers window > split between left and right monitor, while with latest fvwm3 > release, this was not the case. Using dv/pager-noaspect where the > current issues have been resolved couple days ago. It is > repeatable on the current master.
Actually that never worked, it only looked like it did - by accident. When __pl_position_get_pos_simple() enconters a "center" argument it replaces it with DEFAULT_PLACEMENT_POS_CENTER_STRING which is defined to "screen $[w.screen] 50-50w 50-50w" as of commit id 71c57858ffebdede86c2097464339b65b5742864: > PositionPlacement: include screen for Center > > When using "PositionPlacement Center", take into account the screen the > window is on, so it's centered appropriately. > > Fixes #211 This string is passed to GetMoveArguments() for interpretation. However, $[w.screen] never gets expanded because that line is not passed through the parser. FScreenGetScrRect() later looks for a screen with the name "$[w.screen]", finds non and falls back to the global monitor for placement (since a recent patch) but seems to have used the "current" monitor before. One way to fix this woud be to replace "$[w.screen]" with "c" for the current screen, but that ignores the window's screen if specified. Also, some places of the code expect screens specified as "@g", " @c", "@p" while others use "g", "c" and "p". Ciao Dominik ^_^ ^_^ -- Dominik Vogt