~kris/suckless

tabbed

34baef933d0bba6dad20e1b9f24878b63756e443 — Markus Teich 12 years ago 14beaab
select tab with X ClientMessage event

Signed-off-by: Christoph Lohmann <20h@r-36.net>
1 files changed, 6 insertions(+), 3 deletions(-)

M tabbed.c
M tabbed.c => tabbed.c +6 -3
@@ 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;