summaryrefslogtreecommitdiff
path: root/src/display.h
diff options
context:
space:
mode:
authorElijah Newren <newren@gmail.com>2006-01-05 23:56:05 +0000
committerElijah Newren <newren@src.gnome.org>2006-01-05 23:56:05 +0000
commit5af843f65b9bc1b3d0e739ce7dc9ee4ddaee6cfc (patch)
treed3f80c4a6004ebcd9366788abdd6a40f44a3f651 /src/display.h
parent10f774d2b4104a4fdb6c0abf7b65a4311636274a (diff)
downloadmetacity-5af843f65b9bc1b3d0e739ce7dc9ee4ddaee6cfc.tar.gz
Make the workspace switcher work with dual-head (non-xinerama) setups.
2006-01-05 Elijah Newren <newren@gmail.com> Make the workspace switcher work with dual-head (non-xinerama) setups. Fixes #319423. * src/display.c (meta_display_open, event_callback, meta_display_focus_the_no_focus_window): * src/display.h (struct MetaDisplay, meta_display_focus_the_no_focus_window): * src/keybindings.c (primary_modifier_still_pressed): * src/screen.c (meta_screen_new): * src/screen.h (struct MetaScreen): * src/window.c (meta_window_new_with_attrs, meta_window_show): * src/workspace.c (meta_workspace_focus_default_window): Replace display->no_focus_window with a no_focus_window for each screen. * src/display.[ch] (meta_display_xwindow_is_a_no_focus_window, event_callback): * src/window.c (meta_window_new_with_attrs): New utility function, meta_display_xwindow_is_a_no_focus_window(), for checking if the given xwindow is a no_focus_window for one of the screens.
Diffstat (limited to 'src/display.h')
-rw-r--r--src/display.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/display.h b/src/display.h
index fef38d69..a27a0a14 100644
--- a/src/display.h
+++ b/src/display.h
@@ -223,11 +223,6 @@ struct _MetaDisplay
XErrorEvent *error);
int server_grab_count;
- /* This window holds the focus when we don't want to focus
- * any actual clients
- */
- Window no_focus_window;
-
/* for double click */
Time last_button_time;
Window last_button_xwindow;
@@ -418,6 +413,9 @@ void meta_display_register_x_window (MetaDisplay *display,
MetaWindow *window);
void meta_display_unregister_x_window (MetaDisplay *display,
Window xwindow);
+/* Return whether the xwindow is a no focus window for any of the screens */
+gboolean meta_display_xwindow_is_a_no_focus_window (MetaDisplay *display,
+ Window xwindow);
GSList* meta_display_list_windows (MetaDisplay *display);
@@ -548,6 +546,7 @@ void meta_display_set_input_focus_window (MetaDisplay *display,
* same as meta_display_set_input_focus_window
*/
void meta_display_focus_the_no_focus_window (MetaDisplay *display,
+ MetaScreen *screen,
Time timestamp);
void meta_display_queue_autoraise_callback (MetaDisplay *display,