diff options
author | Elijah Newren <newren@gmail.com> | 2005-10-23 21:19:22 +0000 |
---|---|---|
committer | Elijah Newren <newren@src.gnome.org> | 2005-10-23 21:19:22 +0000 |
commit | f2acdda740eaddc0656bf9fe7aa28a7ce6be9a86 (patch) | |
tree | 3349437fceb6fbf75c29df8728594740935d0325 | |
parent | 7c70749ae83050cac8001e6e8f62db9a7b2941b9 (diff) | |
download | metacity-f2acdda740eaddc0656bf9fe7aa28a7ce6be9a86.tar.gz |
Fix edge snapping for multi-screen (non-xinerama) setups. #319425
2005-10-23 Elijah Newren <newren@gmail.com>
Fix edge snapping for multi-screen (non-xinerama) setups. #319425
* src/place.c (get_windows_showing_on_same_screen,
get_vertical_edges, get_horizontal_edges): rename
get_windows_on_same_workspace() to
get_windows_showing_on_same_screen()
* src/place.c (get_windows_showing_on_same_screen): exclude windows
in the list that are on a different screen
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | src/place.c | 12 |
2 files changed, 19 insertions, 5 deletions
@@ -1,3 +1,15 @@ +2005-10-23 Elijah Newren <newren@gmail.com> + + Fix edge snapping for multi-screen (non-xinerama) setups. #319425 + + * src/place.c (get_windows_showing_on_same_screen, + get_vertical_edges, get_horizontal_edges): rename + get_windows_on_same_workspace() to + get_windows_showing_on_same_screen() + + * src/place.c (get_windows_showing_on_same_screen): exclude windows + in the list that are on a different screen + 2005-10-20 Elijah Newren <newren@gmail.com> * HACKING: Clarify why METACITY_VERBOSE=1 is bad without diff --git a/src/place.c b/src/place.c index ae05a0f7..05426f5d 100644 --- a/src/place.c +++ b/src/place.c @@ -1057,8 +1057,8 @@ meta_window_place (MetaWindow *window, * would be weird otherwise. */ static GSList* -get_windows_on_same_workspace (MetaWindow *window, - int *n_windows) +get_windows_showing_on_same_screen (MetaWindow *window, + int *n_windows) { GSList *windows; GSList *all_windows; @@ -1075,7 +1075,9 @@ get_windows_on_same_workspace (MetaWindow *window, { MetaWindow *w = tmp->data; - if (meta_window_should_be_showing (w) && w != window) + if (meta_window_should_be_showing (w) && + w->screen == window->screen && + w != window) { windows = g_slist_prepend (windows, w); ++i; @@ -1132,7 +1134,7 @@ get_vertical_edges (MetaWindow *window, MetaRectangle rect; MetaRectangle work_area; - windows = get_windows_on_same_workspace (window, &n_windows); + windows = get_windows_showing_on_same_screen (window, &n_windows); edges = g_array_sized_new (FALSE, FALSE, sizeof (int), n_windows * 2 + 4 /* 4 = workspace/screen edges */ @@ -1214,7 +1216,7 @@ get_horizontal_edges (MetaWindow *window, MetaRectangle rect; MetaRectangle work_area; - windows = get_windows_on_same_workspace (window, &n_windows); + windows = get_windows_showing_on_same_screen (window, &n_windows); edges = g_array_sized_new (FALSE, FALSE, sizeof (int), n_windows * 2 + 4 /* 4 = workspace/screen edges */ |