A more robust solution would be to take the increased gap size out of the
clones' size by applying the necessary scaling. Leaving the clone
container at the same scale as the minimap viewport will then make coordinates
from the original windows translate properly.
For some reason apply_relative_transform_to_point didn't work when changing
workspace. (the _first_ workspace switch when going from only one minimap
visible to all visible)
Even when adjusting for destintationX of minimapActor.. Not really sure why, so
this isn't the most satisfying fix.
A manual transform would be needed if there's multiple actors in the ancestor
chain that is animating though. (ie. to account for destinationX instead of x)
Omitting this has no ill-effect currently, but in the selectionChrome branch[1]
it results in an empty selection when switching to a workspace out of bounds.
[1] 29d2cdfede0172ea4b420e9cae626a8c5f1bc203
Issue: Moving the window isn't actually animated in the multimap.
Note, for some reason doing an ensure on the selectedWindow makes it visible
while we preview the workspace.
This makes folding and revisiting workspaces in the PreviewNavigator work
properly. The changes made will not be undone by escape, however, but that
should probably be handled by acting on copies of the spaces and committing or
throwing them away depending on if we _finish or escape.
st_widget_get_theme_node called on the widget [0x3f47ec0 StWidget "window-clone-container"] which is not in the stage.
This warning is emitted if any information dependent on a widget's style is
requested before the widget is attached to the stage.
In this case the culprit was that St.Widget.get_preferred_width/height call
st_widget_get_theme_node even when its layoutmanager dictate the preferred size.
It's convenient to be able to use the size of the window clones prior to
attachment, and the size should not depend on any styling.
We don't use any St functionality in the clone wrapper so simply use a regular
Clutter actor.
Disables debugging which assumes that there's a window in the workspace.
SwitcherPopup.show requires that _items.length > 0 so we need something else to
fix that.
We delegated to altTab.WindowSwitcherPopup before. Now that we inherit directly
from SwitcherPopup we must return the expected values ourself.
Escape should abort the popup (not properly across workspaces though)
When animating this resulted in the selected entry being folded. Not sure why,
since the subsequent fold should overwrite the fold tween? (try moving a
workspace up from the very first workspace)
Could of course do an early return if we try to reselect the current entry.
Might be cleaner, but the we'll have to ensure we don't use setSelected to
ensure a correct start state.