app: Stop using window visibility when comparing apps

shell_app_compare() (which is only used as sort function for
shell_app_system_get_running() nowadays) currently takes the
visibility of an app's windows into account, e.g. applications
with visible windows (non-minimized windows on current workspace)
sort earlier than applications without.
This translate traditional window-switcher behavior to applications,
but we stopped sorting by workspace in the app-switcher a while ago,
and with the new auto-minimization behavior of fullscreen windows
it is more confusing than helpful - in fact, since mutter commit
7e61ef09369a we no longer do this for the window list, so it
makes sense to apply the same to application sorting.

https://bugzilla.gnome.org/show_bug.cgi?id=707663
This commit is contained in:
Florian Müllner 2013-09-06 22:21:12 +02:00
parent 387184b052
commit 1dfc38d078

View File

@ -841,9 +841,7 @@ shell_app_get_last_user_time (ShellApp *app)
* *
* Compare one #ShellApp instance to another, in the following way: * Compare one #ShellApp instance to another, in the following way:
* - Running applications sort before not-running applications. * - Running applications sort before not-running applications.
* - If one of them has visible windows and the other does not, the one * - The application which the user interacted with most recently
* with visible windows is first.
* - Finally, the application which the user interacted with most recently
* compares earlier. * compares earlier.
*/ */
int int
@ -859,14 +857,6 @@ shell_app_compare (ShellApp *app,
return 1; return 1;
} }
vis_app = shell_app_has_visible_windows (app);
vis_other = shell_app_has_visible_windows (other);
if (vis_app && !vis_other)
return -1;
else if (!vis_app && vis_other)
return 1;
if (app->state == SHELL_APP_STATE_RUNNING) if (app->state == SHELL_APP_STATE_RUNNING)
{ {
if (app->running_state->windows && !other->running_state->windows) if (app->running_state->windows && !other->running_state->windows)