From f2acdda740eaddc0656bf9fe7aa28a7ce6be9a86 Mon Sep 17 00:00:00 2001 From: Elijah Newren Date: Sun, 23 Oct 2005 21:19:22 +0000 Subject: [PATCH] Fix edge snapping for multi-screen (non-xinerama) setups. #319425 2005-10-23 Elijah Newren 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 --- ChangeLog | 12 ++++++++++++ src/place.c | 12 +++++++----- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index e6ac6f5b6..f69929c22 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2005-10-23 Elijah Newren + + 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 * HACKING: Clarify why METACITY_VERBOSE=1 is bad without diff --git a/src/place.c b/src/place.c index ae05a0f74..05426f5db 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 */