diff options
author | oga | 2009-12-11 17:51:42 +0000 |
---|---|---|
committer | oga | 2009-12-11 17:51:42 +0000 |
commit | b5e3cdbe512264c453033c02a088bbd72c50bf32 (patch) | |
tree | 822f8d789a51066a07ff30d05feb5188352f91a3 /xevents.c | |
parent | 640b7c9876ce301eafc3651136e16c191f26dd4b (diff) | |
download | cwm-b5e3cdbe512264c453033c02a088bbd72c50bf32.tar.gz |
Implement _NET_DESKTOP_NAMES, this one was a bit tricky since thespec
says that a pager can change the property at any time (most need a
clientmessage). So deal with property updates.
Needed to shuffle some of the other code around since we can't just use
shortcut_to_name[] everywhere now.
ok okan@
Diffstat (limited to 'xevents.c')
-rw-r--r-- | xevents.c | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: xevents.c,v 1.46 2009/12/10 23:14:58 oga Exp $ + * $Id: xevents.c,v 1.47 2009/12/11 17:51:42 oga Exp $ */ /* @@ -170,6 +170,7 @@ static void xev_handle_propertynotify(XEvent *ee) { XPropertyEvent *e = &ee->xproperty; + struct screen_ctx *sc; struct client_ctx *cc; if ((cc = client_find(e->window)) != NULL) { @@ -184,7 +185,17 @@ xev_handle_propertynotify(XEvent *ee) /* do nothing */ break; } + } else { + TAILQ_FOREACH(sc, &Screenq, entry) + if (sc->rootwin == e->window) + goto test; + return; + +test: + if (e->atom == _NET_DESKTOP_NAMES) + group_update_names(sc); } + } void |