diff --git a/ChangeLog b/ChangeLog index 316b4df96..b0689a273 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2002-06-20 Mark McLoughlin + + * src/window.c: (meta_window_visible_on_workspace): sticky + windows aren't visibile on all screens. Check the workspace + is on the same screen as the window. + + * src/workspace.c: (meta_workspace_list_windows): use + meta_window_visible_on_workspace here. + 2002-06-19 Havoc Pennington * src/display.c (meta_resize_gravity_from_grab_op): handle UNKNOWN diff --git a/src/window.c b/src/window.c index 35bbbf6a6..0a7fbc05c 100644 --- a/src/window.c +++ b/src/window.c @@ -953,7 +953,7 @@ gboolean meta_window_visible_on_workspace (MetaWindow *window, MetaWorkspace *workspace) { - return window->on_all_workspaces || + return (window->on_all_workspaces && window->screen == workspace->screen) || meta_workspace_contains_window (workspace, window); } diff --git a/src/workspace.c b/src/workspace.c index 9b46976a4..2a2c6ed60 100644 --- a/src/workspace.c +++ b/src/workspace.c @@ -285,8 +285,7 @@ meta_workspace_list_windows (MetaWorkspace *workspace) { MetaWindow *window = tmp->data; - if (window->on_all_workspaces || - meta_workspace_contains_window (workspace, window)) + if (meta_window_visible_on_workspace (window, workspace)) workspace_windows = g_list_prepend (workspace_windows, window);