summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElijah Newren <newren@gmail.com>2005-10-23 21:19:22 +0000
committerElijah Newren <newren@src.gnome.org>2005-10-23 21:19:22 +0000
commitf2acdda740eaddc0656bf9fe7aa28a7ce6be9a86 (patch)
tree3349437fceb6fbf75c29df8728594740935d0325
parent7c70749ae83050cac8001e6e8f62db9a7b2941b9 (diff)
downloadmetacity-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--ChangeLog12
-rw-r--r--src/place.c12
2 files changed, 19 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index e6ac6f5b..f69929c2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 */