You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace ClickOverlay enterMonitor reactive actor approach with much simpler implementation (#751)
@Lythenas, @Thesola10, I've been thinking about this one for a while:
PaperWM uses a very curious approach to implement a "one space per
monitor" paradigm (see [my
response](peterfajdiga/karousel#3 (comment))
to a question of how PaperWM does this).
Unfortunately this approach is quite complex and exhibits many
side-effects that have required many workarounds (which often causes
further issues).
This PR replaces this approach with a simpler `PointerWatcher`
implementation (a Gnome supported implementation to monitor mouse
pointer movements). Moving to this approach provides the following
advantages:
- switch to a Gnome supported feature to detect when mouse pointer moves
to another monitor (instead of an unsupported, custom, error-prone
implementation);
- significantly simplifies the codebase for PaperWM's multimonitor
support;
- replaces around ~164 lines of (now) unneeded code with ~31 lines;
- removes a complex part of multimonitor support and would allow us to
add simple behaviours (based on user preference) like
#389;
_Note: we actually already use the `PointerWatcher` approach for
multi-monitor drag/drop support - so this PR is essentially removing the
other approach and adding a "activate space" method to the
`PointerWatcher`._
@Lythenas and @Thesola10 - could you give this PR branch a test? I'll
set it as a draft atm given it's quite a large change and I'm sure there
might be some side-effects from this.
@Thesola10 - I note that this may impact some of your touch signals,
although, we no longer have the ClickOverlay element blocking actions so
it may turn out better (just a hypothesis).
0 commit comments