diff options
author | Anders Carlsson <andersca@gnu.org> | 2002-05-11 06:59:54 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@src.gnome.org> | 2002-05-11 06:59:54 +0000 |
commit | af83598ad3aed753b73ee9e851d6c56cee84928b (patch) | |
tree | 6d68a627540ab9cad34839a9db6bb174c195a91b /src/screen.c | |
parent | 41e99288b58b74ad2bd8e49b1b0020b1ff842173 (diff) | |
download | metacity-af83598ad3aed753b73ee9e851d6c56cee84928b.tar.gz |
Add screen argument to meta_display_get_tab_next, since we only want
2002-05-11 Anders Carlsson <andersca@gnu.org>
* src/display.c: (find_tab_forward), (find_tab_backward),
(meta_display_get_tab_next):
* src/display.h:
* src/keybindings.c: (handle_tab_forward), (handle_focus_previous):
Add screen argument to meta_display_get_tab_next, since we only
want windows on the same screen to appear in the tab chain.
* src/screen.c: (meta_screen_new):
Or the event mask with existing events since gtk+ may listen to
certain events and we don't want to disable those events.
(meta_screen_ensure_tab_popup):
* src/tabpopup.c: (meta_ui_tab_popup_new):
* src/tabpopup.h:
Add a screen number argument to meta_ui_tab_popup_new so we
can position the popup on the correct screen.
Diffstat (limited to 'src/screen.c')
-rw-r--r-- | src/screen.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/screen.c b/src/screen.c index 98c7a425..c765eda4 100644 --- a/src/screen.c +++ b/src/screen.c @@ -165,6 +165,8 @@ meta_screen_new (MetaDisplay *display, MetaScreen *screen; Window xroot; Display *xdisplay; + XWindowAttributes attr; + int xinerama_event_base, xinerama_error_base; /* Only display->name, display->xdisplay, and display->error_traps @@ -191,13 +193,18 @@ meta_screen_new (MetaDisplay *display, /* Select our root window events */ meta_error_trap_push (display); + + /* We need to or with the existing event mask since + * gtk+ may be interested in other events. + */ + XGetWindowAttributes (xdisplay, xroot, &attr); XSelectInput (xdisplay, xroot, SubstructureRedirectMask | SubstructureNotifyMask | ColormapChangeMask | PropertyChangeMask | LeaveWindowMask | EnterWindowMask | ButtonPressMask | ButtonReleaseMask | - FocusChangeMask); + FocusChangeMask | attr.your_event_mask); if (meta_error_trap_pop (display) != Success) { meta_warning (_("Screen %d on display '%s' already has a window manager\n"), @@ -683,7 +690,7 @@ meta_screen_ensure_tab_popup (MetaScreen *screen, GSList *tmp; int len; int i; - + if (screen->tab_popup) return; @@ -747,8 +754,8 @@ meta_screen_ensure_tab_popup (MetaScreen *screen, ++i; tmp = tmp->next; } - - screen->tab_popup = meta_ui_tab_popup_new (entries); + + screen->tab_popup = meta_ui_tab_popup_new (entries, screen->number); g_free (entries); g_slist_free (tab_list); |