diff options
author | Elijah Newren <newren@gmail.com> | 2005-02-20 23:38:31 +0000 |
---|---|---|
committer | Elijah Newren <newren@src.gnome.org> | 2005-02-20 23:38:31 +0000 |
commit | 992f2370903daad5f24334f323a4e5953aa6594c (patch) | |
tree | 7b0f8447ef10b49444df0a7c7f80f105d7ef86c3 | |
parent | 8de466b582b6e7150e01b1013f37bbc31e637e96 (diff) | |
download | metacity-992f2370903daad5f24334f323a4e5953aa6594c.tar.gz |
Handle _NET_CURRENT_DESKTOP messages that come with timestamps. Fixes the
2005-02-20 Elijah Newren <newren@gmail.com>
* src/display.c: (event_callback): Handle _NET_CURRENT_DESKTOP
messages that come with timestamps. Fixes the metacity portion of
#161361 other than the portion handled by #128380.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | src/display.c | 15 |
2 files changed, 17 insertions, 4 deletions
@@ -1,5 +1,11 @@ 2005-02-20 Elijah Newren <newren@gmail.com> + * src/display.c: (event_callback): Handle _NET_CURRENT_DESKTOP + messages that come with timestamps. Fixes the metacity portion of + #161361 other than the portion handled by #128380. + +2005-02-20 Elijah Newren <newren@gmail.com> + * src/window.c: (meta_window_activate): when receiving a _NET_ACTIVE_WINDOW message, switch to the desktop where the window is located before activating instead of moving the window to the diff --git a/src/display.c b/src/display.c index a7e18c5b..58400c41 100644 --- a/src/display.c +++ b/src/display.c @@ -2154,18 +2154,25 @@ event_callback (XEvent *event, { int space; MetaWorkspace *workspace; + guint32 time; space = event->xclient.data.l[0]; + time = event->xclient.data.l[1]; - meta_verbose ("Request to change current workspace to %d\n", - space); - + meta_verbose ("Request to change current workspace to %d with " + "specified timestamp of %lu\n", + space, (unsigned long)time); + workspace = meta_screen_get_workspace_by_index (screen, space); + /* Handle clients using the older version of the spec... */ + if (time == 0 && workspace) + time = meta_display_get_current_time_roundtrip (display); + if (workspace) - meta_workspace_activate (workspace, meta_display_get_current_time_roundtrip (display)); + meta_workspace_activate (workspace, time); else meta_verbose ("Don't know about workspace %d\n", space); } |