Skip to content

KCM: Fix glitch when disabling north-west output

ivan tkachenko requested to merge work/ratijas/loop into master

When toggling south or east positioned outputs, canvas will automatically shrink or grow as needed. But disabling north-west output does not trigger repositioning, thus leaving multiscreen canvas in a weird state with other screens positioned to the right or bottom of an empty gap.

This fix has a downside that re-enabling north-west output right after disabling it won't revert the canvas to the state it had before: other outputs were already repositioned to coordinate {0,0}, and this one would appear again at the same {0;0} overlapping some of them.


new commits:

KCM: Use std::optional instead of magic value for output's reset position

KCM: Implement better position restoration for re-enabled outputs

Using negative posReset values to indicate that an output was left-most or top-most, and that all other outputs should be shifted to the bottom by that amount of distance when re-enabling it.

Edited by ivan tkachenko

Merge request reports