diff options
author | Elijah Newren <newren@gmail.com> | 2005-07-23 23:18:01 +0000 |
---|---|---|
committer | Elijah Newren <newren@src.gnome.org> | 2005-07-23 23:18:01 +0000 |
commit | 2dddd20096c53ad1c0d0416869d5104470bfde11 (patch) | |
tree | b04e932be5cb4543eff1a9e3dce209882bf9b043 | |
parent | 1e95e6ad7032027194852f30ac599f3537ec38d3 (diff) | |
download | libwnck-2dddd20096c53ad1c0d0416869d5104470bfde11.tar.gz |
Revert the portion of the patch from bug 161361 related to the behavioral
2005-07-23 Elijah Newren <newren@gmail.com>
Revert the portion of the patch from bug 161361 related to the
behavioral change of _NET_ACTIVE_WINDOW as that behavioral change
is being reverted in metacity (see bug 128380)
* libwnck/selector.c (wnck_selector_activate_window): send a
_net_current_desktop and _net_active_widow message. See FIXME in
the code about how this is sick and wrong and needs to be
fixed--but happens to work fine for now.
* libwnck/tasklist.c (wnck_tasklist_activate_task_window): no need
to move the window manually to the current workspace under default
behavior, need to manually send a _net_current_desktop message
first if user has stupid option set. See FIXME in the code about
how the latter change is sick and wrong and needs to be fixed--but
happens to work fine for now.
-rw-r--r-- | ChangeLog | 18 | ||||
-rw-r--r-- | libwnck/selector.c | 14 | ||||
-rw-r--r-- | libwnck/tasklist.c | 14 |
3 files changed, 43 insertions, 3 deletions
@@ -1,3 +1,21 @@ +2005-07-23 Elijah Newren <newren@gmail.com> + + Revert the portion of the patch from bug 161361 related to the + behavioral change of _NET_ACTIVE_WINDOW as that behavioral change + is being reverted in metacity (see bug 128380) + + * libwnck/selector.c (wnck_selector_activate_window): send a + _net_current_desktop and _net_active_widow message. See FIXME in + the code about how this is sick and wrong and needs to be + fixed--but happens to work fine for now. + + * libwnck/tasklist.c (wnck_tasklist_activate_task_window): no need + to move the window manually to the current workspace under default + behavior, need to manually send a _net_current_desktop message + first if user has stupid option set. See FIXME in the code about + how the latter change is sick and wrong and needs to be fixed--but + happens to work fine for now. + 2005-06-28 Vincent Untz <vuntz@gnome.org> * configure.in: post-release bump to 2.10.3. diff --git a/libwnck/selector.c b/libwnck/selector.c index 796fb02..65d2402 100644 --- a/libwnck/selector.c +++ b/libwnck/selector.c @@ -357,8 +357,20 @@ wnck_selector_active_window_changed (WnckScreen *screen, static void wnck_selector_activate_window (WnckWindow *window) { + WnckWorkspace *workspace; + guint32 timestamp; + /* We're in an activate callback, so gtk_get_current_time() works... */ - wnck_window_activate (window, gtk_get_current_event_time ()); + timestamp = gtk_get_current_event_time (); + + /* FIXME: THIS IS SICK AND WRONG AND BUGGY. See the end of + * http://mail.gnome.org/archives/wm-spec-list/2005-July/msg00032.html + * There should only be *one* activate call. + */ + workspace = wnck_window_get_workspace (window); + wnck_workspace_activate (workspace, timestamp); + + wnck_window_activate (window, timestamp); } #define SELECTOR_MAX_WIDTH 50 /* maximum width in characters */ diff --git a/libwnck/tasklist.c b/libwnck/tasklist.c index 0461a6f..895fc45 100644 --- a/libwnck/tasklist.c +++ b/libwnck/tasklist.c @@ -1949,8 +1949,8 @@ wnck_tasklist_activate_task_window (WnckTask *task, window_ws = wnck_window_get_workspace (task->window); if (window_ws && active_ws != window_ws && - tasklist->priv->switch_workspace_on_unminimize) - wnck_window_move_to_workspace (task->window, active_ws); + !tasklist->priv->switch_workspace_on_unminimize) + wnck_workspace_activate (window_ws, timestamp); wnck_window_activate_transient (task->window, timestamp); } @@ -1964,6 +1964,16 @@ wnck_tasklist_activate_task_window (WnckTask *task, } else { + WnckWorkspace *window_ws; + + /* FIXME: THIS IS SICK AND WRONG AND BUGGY. See the end of + * http://mail.gnome.org/archives/wm-spec-list/2005-July/msg00032.html + * There should only be *one* activate call. + */ + window_ws = wnck_window_get_workspace (task->window); + if (window_ws) + wnck_workspace_activate (window_ws, timestamp); + wnck_window_activate_transient (task->window, timestamp); } } |