altTab: Skip unminimize effect when cycling to a window
Similar to windows on another workspace, selecting a minimized window doesn't look quite right - the selected window disappears, then animates back in. Fix this by adding support for skipping the next effect to the wm and use it to bypass the unminimize animation. https://bugzilla.gnome.org/show_bug.cgi?id=771536
This commit is contained in:
parent
a029a35050
commit
becd29c50a
@ -448,6 +448,11 @@ const CyclerPopup = new Lang.Class({
|
||||
let ws = window.get_workspace();
|
||||
let activeWs = global.screen.get_active_workspace();
|
||||
|
||||
if (window.minimized) {
|
||||
Main.wm.skipNextEffect(window.get_compositor_private());
|
||||
window.unminimize();
|
||||
}
|
||||
|
||||
if (activeWs == ws) {
|
||||
Main.activateWindow(window);
|
||||
} else {
|
||||
|
@ -683,6 +683,8 @@ const WindowManager = new Lang.Class({
|
||||
|
||||
this._dimmedWindows = [];
|
||||
|
||||
this._skippedActors = [];
|
||||
|
||||
this._allowedKeybindings = {};
|
||||
|
||||
this._isWorkspacePrepended = false;
|
||||
@ -1035,6 +1037,10 @@ const WindowManager = new Lang.Class({
|
||||
this._workspaceTracker.keepWorkspaceAlive(workspace, duration);
|
||||
},
|
||||
|
||||
skipNextEffect: function(actor) {
|
||||
this._skippedActors.push(actor);
|
||||
},
|
||||
|
||||
setCustomKeybindingHandler: function(name, modes, handler) {
|
||||
if (Meta.keybindings_set_custom_handler(name, handler))
|
||||
this.allowKeybinding(name, modes);
|
||||
@ -1061,6 +1067,9 @@ const WindowManager = new Lang.Class({
|
||||
},
|
||||
|
||||
_shouldAnimateActor: function(actor, types) {
|
||||
if (this._removeEffect(this._skippedActors, actor))
|
||||
return false;
|
||||
|
||||
if (!this._shouldAnimate())
|
||||
return false;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user