summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElijah Newren <newren@gmail.com>2005-07-23 23:18:01 +0000
committerElijah Newren <newren@src.gnome.org>2005-07-23 23:18:01 +0000
commit2dddd20096c53ad1c0d0416869d5104470bfde11 (patch)
treeb04e932be5cb4543eff1a9e3dce209882bf9b043
parent1e95e6ad7032027194852f30ac599f3537ec38d3 (diff)
downloadlibwnck-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--ChangeLog18
-rw-r--r--libwnck/selector.c14
-rw-r--r--libwnck/tasklist.c14
3 files changed, 43 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 9b9b31d..548387c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);
}
}