aboutsummaryrefslogtreecommitdiffstats
path: root/xevents.c
diff options
context:
space:
mode:
authoroga2009-12-11 17:51:42 +0000
committeroga2009-12-11 17:51:42 +0000
commitb5e3cdbe512264c453033c02a088bbd72c50bf32 (patch)
tree822f8d789a51066a07ff30d05feb5188352f91a3 /xevents.c
parent640b7c9876ce301eafc3651136e16c191f26dd4b (diff)
downloadcwm-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.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/xevents.c b/xevents.c
index 69bbec4..fb2a136 100644
--- a/xevents.c
+++ b/xevents.c
@@ -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