diff options
-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-08 Elijah Newren <newren@gmail.com> Fix a crash that occurs when removing some virtual desktops and diff --git a/src/place.c b/src/place.c index 5620be2a..25d5de35 100644 --- a/src/place.c +++ b/src/place.c @@ -1056,8 +1056,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; @@ -1074,7 +1074,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; @@ -1131,7 +1133,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 */ @@ -1213,7 +1215,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 */ |