diff options
author | okan <okan> | 2014-01-28 20:22:21 +0000 |
---|---|---|
committer | okan <okan> | 2014-01-28 20:22:21 +0000 |
commit | 2b233f0548bb026eebb336bcdac57e48f0839e5c (patch) | |
tree | f4a0233043a95850cea77fd62df694e17984251a /xevents.c | |
parent | 5fd119daea8de1e84f382e7651c996fd861974b9 (diff) | |
parent | c28467cda5323f2251ed16a407fd77b7ec9e5ba6 (diff) | |
download | cwm-2b233f0548bb026eebb336bcdac57e48f0839e5c.tar.gz cwm-2b233f0548bb026eebb336bcdac57e48f0839e5c.tar.xz cwm-2b233f0548bb026eebb336bcdac57e48f0839e5c.zip |
cvsimport
Diffstat (limited to 'xevents.c')
-rw-r--r-- | xevents.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/xevents.c b/xevents.c index 6844f98..df5169c 100644 --- a/xevents.c +++ b/xevents.c @@ -346,8 +346,17 @@ xev_handle_clientmessage(XEvent *ee) client_ptrwarp(cc); } - if (e->message_type == ewmh[_NET_WM_DESKTOP] && e->format == 32) - group_movetogroup(cc, e->data.l[0]); + if (e->message_type == ewmh[_NET_WM_DESKTOP] && e->format == 32) { + /* + * The EWMH spec states that if the cardinal returned is + * 0xFFFFFFFF (-1) then the window should appear on all + * desktops, which in our case is assigned to group 0. + */ + if (e->data.l[0] == (unsigned long)-1) + group_movetogroup(cc, 0); + else + group_movetogroup(cc, e->data.l[0]); + } if (e->message_type == ewmh[_NET_WM_STATE] && e->format == 32) xu_ewmh_handle_net_wm_state_msg(cc, |