tabbed

tab interface for application supporting Xembed
git clone git://git.suckless.org/tabbed
Log | Files | Refs | README | LICENSE

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:
Mtabbed.c | 9++++++---
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;