We override these methods so this will work from the typical launchers:
Shell.App.open_new_window
Shell.App.launch_action('new-window', ...)
Gio.DesktopAppInfo.launch
Gio.DesktopAppInfo.launch_action('new-window', ...)
NOTE: overridden `launch` can act somewhat strange with single process many
window apps if the process. If the process is launched with a specific directory
new windows might inherit this on non-overridden `new-window`. (seen in Tilix)
These just doesn't work well and are easy to trigger while scrolling with the
touchpad. (it doesn't help that the overview can be slow as hell)
Thankfully this variable was exposed as a `var` so we override it :)
If you want these you can add this in your `user.js` enable function:
```
Kludges.disableOverride(imports.ui.viewSelector, 'PINCH_GESTURE_THRESHOLD');
```
Not in full use yet.
But the main point is saving the original method on init, supplying an optional
override which will take effect on enable. We reset all properties to their
original form on disable.
NOTE: a property is only ever saved the first time, but new overrides can be
supplied as much as you want.
Use the tiling to sort the overview. Floating windows are sorted the regular way
among themselves and put before the tiled windows.
We also report the correct coordinates so animation to and from the overview is
correct.
ref #4
Having the hot corner activate the overview works rather poorly with scrolling
through the workspaces.
We disable the functionality by default. The preference `override-hot-corner`
controls the functionality, so set it to false if you want it back.
A possibility is having the hot-corner force the top bar to be visible when
a fullscreen window has focus, but it's not yet implemented.
We're assessing all top level declarations from outside the original scope when
we're evaluating code. So everything should be `var`.
Classes are `let` bound so we should use var for `ClickOverlay` too, but there's
a bug in gnome-shell-mode making such statements not evaluate. We therefor wait
for that to be fixed.