put minimized windows at the end of Alt+Tab, #89416

2002-10-24  Havoc Pennington  <hp@pobox.com>

	* src/display.c (meta_display_get_tab_list): put minimized windows
	at the end of Alt+Tab, #89416
This commit is contained in:
Havoc Pennington 2002-10-24 05:15:28 +00:00 committed by Havoc Pennington
parent 0041f49d3f
commit 15a05467bd
3 changed files with 33 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2002-10-24 Havoc Pennington <hp@pobox.com>
* src/display.c (meta_display_get_tab_list): put minimized windows
at the end of Alt+Tab, #89416
2002-10-23 Havoc Pennington <hp@redhat.com>
* src/theme.c (meta_frame_layout_calc_geometry): initialize the

View File

@ -4,3 +4,5 @@ Keep panel always on top: http://bugzilla.gnome.org/show_bug.cgi?id=81551
Edge flipping: http://bugzilla.gnome.org/show_bug.cgi?id=82917
Opaque resize: http://bugzilla.gnome.org/show_bug.cgi?id=92618
Super+click to resize: http://bugzilla.gnome.org/show_bug.cgi?id=79315
minimized windows in Alt+tab: http://bugzilla.gnome.org/show_bug.cgi?id=89416

View File

@ -3009,7 +3009,9 @@ meta_display_get_tab_list (MetaDisplay *display,
/* workspace can be NULL for all workspaces */
/* Windows sellout mode - MRU order */
/* Windows sellout mode - MRU order. Collect unminimized windows
* then minimized so minimized windows aren't in the way so much.
*/
{
GList *tmp;
@ -3019,7 +3021,8 @@ meta_display_get_tab_list (MetaDisplay *display,
{
MetaWindow *window = tmp->data;
if (window->screen == screen &&
if (!window->minimized &&
window->screen == screen &&
IN_TAB_CHAIN (window, type) &&
(workspace == NULL ||
meta_window_visible_on_workspace (window, workspace)))
@ -3027,9 +3030,29 @@ meta_display_get_tab_list (MetaDisplay *display,
tmp = tmp->next;
}
tab_list = g_slist_reverse (tab_list);
}
{
GList *tmp;
tmp = screen->display->mru_list;
while (tmp != NULL)
{
MetaWindow *window = tmp->data;
if (window->minimized &&
window->screen == screen &&
IN_TAB_CHAIN (window, type) &&
(workspace == NULL ||
meta_window_visible_on_workspace (window, workspace)))
tab_list = g_slist_prepend (tab_list, window);
tmp = tmp->next;
}
}
tab_list = g_slist_reverse (tab_list);
return tab_list;
}