commit 34baef933d0bba6dad20e1b9f24878b63756e443
parent 14beaabe6ccbdf12546f31edf931e30cbe9c0c82
Author: Markus Teich <markus.teich@stusta.mhn.de>
Date:   Thu, 28 Nov 2013 02:24:58 +0100
select tab with X ClientMessage event
Signed-off-by: Christoph Lohmann <20h@r-36.net>
Diffstat:
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/tabbed.c b/tabbed.c
@@ -48,7 +48,7 @@
 
 enum { ColFG, ColBG, ColLast };                         /* color */
 enum { WMProtocols, WMDelete, WMName, WMState, WMFullscreen,
-	XEmbed, WMLast };                               /* default atoms */
+	XEmbed, WMSelectTab, WMLast };                      /* default atoms */
 
 typedef union {
 	int i;
@@ -237,6 +237,9 @@ clientmessage(const XEvent *e) {
 	if(ev->message_type == wmatom[WMProtocols]
 			&& ev->data.l[0] == wmatom[WMDelete]) {
 		running = False;
+	} else if(ev->message_type == wmatom[WMSelectTab]) {
+		Arg a = {.i = ev->data.l[0]};
+		move(&a);
 	}
 }
 
@@ -892,8 +895,8 @@ setup(void) {
 	wmatom[XEmbed] = XInternAtom(dpy, "_XEMBED", False);
 	wmatom[WMName] = XInternAtom(dpy, "_NET_WM_NAME", False);
 	wmatom[WMState] = XInternAtom(dpy, "_NET_WM_STATE", False);
-	wmatom[WMFullscreen] = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN",
-			False);
+	wmatom[WMFullscreen] = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False);
+	wmatom[WMSelectTab] = XInternAtom(dpy, "_TABBED_SELECT_TAB", False);
 
 	/* init appearance */
 	wx = 0;