Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3
gnome-shell
gnome-shell-774381-app-window-overlay-app-list....
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gnome-shell-774381-app-window-overlay-app-list.patch of Package gnome-shell
From 13a9c5aa5fb26ccadde5d39d6a1d868b5bf66fe1 Mon Sep 17 00:00:00 2001 From: Xiaoguang Wang <xwang@suse.com> Date: Thu, 24 Nov 2016 09:22:16 +0800 Subject: [PATCH] appDisplay: Use correct view for animation We currently assume that the current view matches the 'app-picker-view' setting. While that is usually the case, there is one notable exception: While there isn't sufficient usage data (yet), we show all applications instead of an empty frequent view regardless of the setting. We should animate the actually visible icons in that case, not the (non-existent) ones from the hidden frequent view. [PATCH] appDisplay: Fix completion handler for empty animations If an onComplete handler is passed to animate(), it is set to run at the end of the animation via the icon grid's ::animation-done signal. Currently the signal is connected after starting the animation, with the result that the handler doesn't run when the animation completes immediately (because there are no icons to animate). Fix this by only starting the animation after connecting the signal. https://bugzilla.gnome.org/show_bug.cgi?id=774381 --- js/ui/appDisplay.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index 58adf3a..337bcc4 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -198,6 +198,14 @@ const BaseAppView = new Lang.Class({ }, animate: function(animationDirection, onComplete) { + if (onComplete) { + let animationDoneId = this._grid.connect('animation-done', Lang.bind(this, + function () { + this._grid.disconnect(animationDoneId); + onComplete(); + })); + } + if (animationDirection == IconGrid.AnimationDirection.IN) { let toAnimate = this._grid.actor.connect('notify::allocation', Lang.bind(this, function() { @@ -213,14 +221,6 @@ const BaseAppView = new Lang.Class({ } else { this._doSpringAnimation(animationDirection); } - - if (onComplete) { - let animationDoneId = this._grid.connect('animation-done', Lang.bind(this, - function () { - this._grid.disconnect(animationDoneId); - onComplete(); - })); - } }, animateSwitch: function(animationDirection) { @@ -972,7 +972,7 @@ const AppDisplay = new Lang.Class({ }, animate: function(animationDirection, onComplete) { - let currentView = this._views[global.settings.get_uint('app-picker-view')].view; + let currentView = this._views.filter(v => v.control.has_style_pseudo_class('checked')).pop().view; // Animate controls opacity using iconGrid animation time, since // it will be the time the AllView or FrequentView takes to show -- 2.10.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor