remove the unused tab stuff
2002-04-05 Havoc Pennington <hp@pobox.com> * src/stack.c: remove the unused tab stuff * src/display.c: implement tab list among panels * src/keybindings.c: fill in move-between-panels keybindings
This commit is contained in:

committed by
Havoc Pennington

parent
a500a7e668
commit
fa0592ebc7
176
src/stack.c
176
src/stack.c
@@ -929,182 +929,6 @@ meta_stack_get_default_focus_window (MetaStack *stack,
|
||||
return topmost_dock;
|
||||
}
|
||||
|
||||
#define GET_XWINDOW(stack, i) (g_array_index ((stack)->windows, \
|
||||
Window, (i)))
|
||||
|
||||
static MetaWindow*
|
||||
find_tab_forward (MetaStack *stack,
|
||||
MetaWorkspace *workspace,
|
||||
int start)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* start may be -1 to find any tab window at all */
|
||||
|
||||
i = start + 1;
|
||||
while (i < (int) stack->windows->len)
|
||||
{
|
||||
MetaWindow *window;
|
||||
|
||||
window = meta_display_lookup_x_window (stack->screen->display,
|
||||
GET_XWINDOW (stack, i));
|
||||
|
||||
if (window && META_WINDOW_IN_TAB_CHAIN (window) &&
|
||||
(workspace == NULL ||
|
||||
meta_window_visible_on_workspace (window, workspace)))
|
||||
return window;
|
||||
|
||||
++i;
|
||||
}
|
||||
|
||||
i = 0;
|
||||
while (i < start)
|
||||
{
|
||||
MetaWindow *window;
|
||||
|
||||
window = meta_display_lookup_x_window (stack->screen->display,
|
||||
GET_XWINDOW (stack, i));
|
||||
|
||||
if (window && META_WINDOW_IN_TAB_CHAIN (window) &&
|
||||
(workspace == NULL ||
|
||||
meta_window_visible_on_workspace (window, workspace)))
|
||||
return window;
|
||||
|
||||
++i;
|
||||
}
|
||||
|
||||
/* no window other than the start window is in the tab chain */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static MetaWindow*
|
||||
find_tab_backward (MetaStack *stack,
|
||||
MetaWorkspace *workspace,
|
||||
int start)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* start may be stack->windows->len to find any tab window at all */
|
||||
|
||||
i = start - 1;
|
||||
while (i >= 0)
|
||||
{
|
||||
MetaWindow *window;
|
||||
|
||||
window = meta_display_lookup_x_window (stack->screen->display,
|
||||
GET_XWINDOW (stack, i));
|
||||
|
||||
if (window && META_WINDOW_IN_TAB_CHAIN (window) &&
|
||||
(workspace == NULL ||
|
||||
meta_window_visible_on_workspace (window, workspace)))
|
||||
return window;
|
||||
|
||||
--i;
|
||||
}
|
||||
|
||||
i = stack->windows->len - 1;
|
||||
while (i > start)
|
||||
{
|
||||
MetaWindow *window;
|
||||
|
||||
window = meta_display_lookup_x_window (stack->screen->display,
|
||||
GET_XWINDOW (stack, i));
|
||||
|
||||
if (window && META_WINDOW_IN_TAB_CHAIN (window) &&
|
||||
(workspace == NULL ||
|
||||
meta_window_visible_on_workspace (window, workspace)))
|
||||
return window;
|
||||
|
||||
--i;
|
||||
}
|
||||
|
||||
/* no window other than the start window is in the tab chain */
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* This ignores the dock/desktop layers */
|
||||
MetaWindow*
|
||||
meta_stack_get_tab_next (MetaStack *stack,
|
||||
MetaWorkspace *workspace,
|
||||
MetaWindow *window,
|
||||
gboolean backward)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (workspace && window)
|
||||
{
|
||||
/* This is a paranoia check, because races can happen where
|
||||
* you get a key shortcut or something on a window just as you
|
||||
* are moving workspaces to one the window isn't on
|
||||
*/
|
||||
if (!meta_window_visible_on_workspace (window, workspace))
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (stack->windows->len == 0)
|
||||
return NULL;
|
||||
|
||||
if (window != NULL)
|
||||
{
|
||||
i = 0;
|
||||
while (i < (int) stack->windows->len)
|
||||
{
|
||||
Window w;
|
||||
|
||||
w = g_array_index (stack->windows, Window, i);
|
||||
|
||||
if (w == window->xwindow)
|
||||
{
|
||||
if (backward)
|
||||
return find_tab_backward (stack, workspace, i);
|
||||
else
|
||||
return find_tab_forward (stack, workspace, i);
|
||||
}
|
||||
|
||||
++i;
|
||||
}
|
||||
}
|
||||
|
||||
/* window may be NULL, or maybe the origin window was already the last/first
|
||||
* window and we need to wrap around
|
||||
*/
|
||||
if (backward)
|
||||
return find_tab_backward (stack, workspace,
|
||||
stack->windows->len);
|
||||
else
|
||||
return find_tab_forward (stack, workspace, -1);
|
||||
}
|
||||
|
||||
GSList*
|
||||
meta_stack_get_tab_list (MetaStack *stack,
|
||||
MetaWorkspace *workspace)
|
||||
{
|
||||
GSList *list;
|
||||
int i;
|
||||
|
||||
list = NULL;
|
||||
|
||||
i = 0;
|
||||
while (i < (int) stack->windows->len)
|
||||
{
|
||||
MetaWindow *window;
|
||||
|
||||
window = meta_display_lookup_x_window (stack->screen->display,
|
||||
GET_XWINDOW (stack, i));
|
||||
|
||||
if (window && META_WINDOW_IN_TAB_CHAIN (window) &&
|
||||
(workspace == NULL ||
|
||||
meta_window_visible_on_workspace (window, workspace)))
|
||||
list = g_slist_prepend (list, window);
|
||||
|
||||
++i;
|
||||
}
|
||||
|
||||
list = g_slist_reverse (list);
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
int
|
||||
meta_stack_windows_cmp (MetaStack *stack,
|
||||
MetaWindow *window_a,
|
||||
|
Reference in New Issue
Block a user