altTab: try to avoid showing the switcher when "flipping"
Use a longer fade-in time, but with an inout transition, so that the dialog starts fading in very slowly and then picks up speed after 150ms or so. That way if the user releases Alt+Tab right away, they'll never actually see the dialog. https://bugzilla.gnome.org/show_bug.cgi?id=652346
This commit is contained in:
parent
8db1ff8aef
commit
7596fdb460
@ -14,7 +14,8 @@ const Tweener = imports.ui.tweener;
|
||||
|
||||
const POPUP_APPICON_SIZE = 96;
|
||||
const POPUP_SCROLL_TIME = 0.10; // seconds
|
||||
const POPUP_FADE_TIME = 0.1; // seconds
|
||||
const POPUP_FADE_IN_TIME = 0.4; // seconds
|
||||
const POPUP_FADE_OUT_TIME = 0.1; // seconds
|
||||
|
||||
const APP_ICON_HOVER_TIMEOUT = 200; // milliseconds
|
||||
|
||||
@ -182,10 +183,15 @@ AltTabPopup.prototype = {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Using easeInOutExpo over 400ms gives us 150ms of "nearly
|
||||
// invisible" (less than 10% opacity), followed by a 100ms
|
||||
// tween in (to 90% opacity, with the last 10% coming over the
|
||||
// next 150ms). So if the user releases Alt quickly after we
|
||||
// start tweening, they'll never see the switcher.
|
||||
Tweener.addTween(this.actor,
|
||||
{ opacity: 255,
|
||||
time: POPUP_FADE_TIME,
|
||||
transition: 'easeOutQuad'
|
||||
time: POPUP_FADE_IN_TIME,
|
||||
transition: 'easeInOutExpo'
|
||||
});
|
||||
|
||||
return true;
|
||||
@ -368,7 +374,7 @@ AltTabPopup.prototype = {
|
||||
if (this.actor.visible) {
|
||||
Tweener.addTween(this.actor,
|
||||
{ opacity: 0,
|
||||
time: POPUP_FADE_TIME,
|
||||
time: POPUP_FADE_OUT_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: Lang.bind(this,
|
||||
function() {
|
||||
|
Loading…
Reference in New Issue
Block a user