Skip to content

pointer_input: position cursor on the active output after a placeholder

Harald Sitter requested to merge work/sitter/cursor-on-primary-screen into master

this improves the out of the box behavior which has regressed a bit over time. since we default to kcfg_ActiveMouseScreen=true the active screen by default follows the pointer. during early startup we position the pointer on a Placeholder output, this output does eventually get replaced by the real output(s). because of the update logic we'd re-position the pointer on the closest real output, but that isn't necessarily the intended primary output.

e.g. consider an eDP + HDMI setup depending on the geometries involved the cursor may end up on the HDMI screen by default rather than the eDP resulting in plasma-welcome opening on the HDMI output.

to mitigate this problem we now track whether the last output was a placeholder and if so we instead try to position the pointer on the current active output (should be the primary output)

Merge request reports