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:
parent
387184b052
commit
1dfc38d078
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user