From 28bb0c1fb2fe6e8f8f6560fe885af46a13d37e6f Mon Sep 17 00:00:00 2001 From: Rui Matos Date: Thu, 21 Jul 2011 18:58:43 +0100 Subject: [PATCH] altTab: make thumbnails scroll to right if needed at first Alt+Shift+Above_Tab Force an allocation at thumbnails creation so we can figure out whether we need to scroll when selecting. We also need to show() the whole AltTabPopup before calling _select() so that, when computing the scrolling offset, the widgets already have their styles loaded. Otherwise we will miss the switcher list item container's spacing. https://bugzilla.gnome.org/show_bug.cgi?id=655069 --- js/ui/altTab.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/js/ui/altTab.js b/js/ui/altTab.js index 0d2ae3960..cbe6f6c48 100644 --- a/js/ui/altTab.js +++ b/js/ui/altTab.js @@ -147,6 +147,8 @@ AltTabPopup.prototype = { // Need to force an allocation so we can figure out whether we // need to scroll when selecting + this.actor.opacity = 0; + this.actor.show(); this.actor.get_allocation_box(); // Make the initial selection @@ -186,7 +188,7 @@ AltTabPopup.prototype = { // disturbed by the popup briefly flashing. this._initialDelayTimeoutId = Mainloop.timeout_add(POPUP_DELAY_TIMEOUT, Lang.bind(this, function () { - this.actor.show(); + this.actor.opacity = 255; this._initialDelayTimeoutId = 0; })); @@ -479,6 +481,10 @@ AltTabPopup.prototype = { this.actor.add_actor(this._thumbnails.actor); + // Need to force an allocation so we can figure out whether we + // need to scroll when selecting + this._thumbnails.actor.get_allocation_box(); + this._thumbnails.actor.opacity = 0; Tweener.addTween(this._thumbnails.actor, { opacity: 255,