Push the tab/workspace popup abstraction completely into screen.c

Also, use MetaWindows as the tab_popup keys rather than using (X) Windows
and then having to map back and forth everywhere, which is silly since
we never actually want the X Window.

http://bugzilla.gnome.org/show_bug.cgi?id=580917
This commit is contained in:
Dan Winship
2009-04-27 11:19:08 -04:00
parent 7b522c0de8
commit 99d0f41d98
4 changed files with 88 additions and 53 deletions

View File

@@ -164,12 +164,21 @@ void meta_screen_set_cursor (MetaScreen *scree
MetaCursor cursor);
void meta_screen_update_cursor (MetaScreen *screen);
void meta_screen_ensure_tab_popup (MetaScreen *screen,
MetaTabList list_type,
MetaTabShowType show_type);
void meta_screen_destroy_tab_popup (MetaScreen *screen);
void meta_screen_ensure_workspace_popup (MetaScreen *screen);
void meta_screen_destroy_workspace_popup (MetaScreen *screen);
void meta_screen_ensure_tab_popup (MetaScreen *screen,
MetaTabList list_type,
MetaTabShowType show_type,
MetaWindow *initial_window);
void meta_screen_tab_popup_forward (MetaScreen *screen);
void meta_screen_tab_popup_backward (MetaScreen *screen);
MetaWindow* meta_screen_tab_popup_get_selected (MetaScreen *screen);
void meta_screen_tab_popup_destroy (MetaScreen *screen);
void meta_screen_ensure_workspace_popup (MetaScreen *screen,
MetaWorkspace *initial_selection);
void meta_screen_workspace_popup_select (MetaScreen *screen,
MetaWorkspace *workspace);
MetaWorkspace*meta_screen_workspace_popup_get_selected (MetaScreen *screen);
void meta_screen_workspace_popup_destroy (MetaScreen *screen);
MetaWindow* meta_screen_get_mouse_window (MetaScreen *screen,
MetaWindow *not_this_one);