Some windows apparently report the wrong frame.y value when they've just
been maximized, leaving us with the old incorrect value. Simply hardcode
the correct y value instead.
When unlocking the desktop with a fullscreen window focused we'd incorrectly
show the topbar.
Run fixTopBar after all spaces have been fully setup to fix it.
If there's already a fullscreen window in the workspace, gnome-shell
won't trigger a hide on the topbar. Meaning fixTopBar won't run
automatically, so we need to run on any fullscreen changes.
- Simply move the fullscreen clone if not visible
- Do not start a new animation one is already in progress
- Do not run animateDown when starting navigation
It looks like mutter doesn't maintain override_redirect on wayland windows (ie.
it doesn't try to emulate the X11-only(?) concept)
This caused many menues (eg. gtk menues) to be registered by us (creating clone,
registering resize signals, etc.)
Particularily noticable in libreoffice - the menus was very delayed and
sometimes didn't show up at all. (Observed in GS 3.34.3, libreoffice 6.2.6.2)
(TOOLTIP is checked preemptively)
For some reason after a successful `move_frame`, and `position-changed`,
the window is moved back to it's original position. This only happens
sporadically...
Anyway, just do the simply thing and make sure all `position-changed`
signals are correct.
NOTE: need a grab guard or something for non-clutter dnd
Windows on a workspace can be placed on another monitor. Having the
clickoverlay active means it's impossible to interact with these
windows.
This is a quick fix to make the overview somewhat more acceptable when
using multiple monitors.
onComplete only runs if the animation actually finishes. While there
shouldn't be anything that runs a new scale animation on the clone, or
removes transitions. It doesn't hurt to be on the safe side and use
onStopped which is guaranteed to run, since the complete function is
essential.
ref https://github.com/paperwm/PaperWM/issues/248
Moving a space to another monitor with different fractional scaling
will mess up the background scale/size. Simply recreate the background
when moving monitors.
closes https://github.com/paperwm/PaperWM/issues/247