~kris/suckless

tabbed

0f67f586b1a95c0f006f50738bf8b418968076c8 — Enno Boland (tox) 17 years ago 21ae332
added tab selecting with mouse
1 files changed, 17 insertions(+), 0 deletions(-)

M tabbed.c
M tabbed.c => tabbed.c +17 -0
@@ 76,12 76,14 @@ typedef struct Listener {

/* function declarations */
static void autostart(void);
static void buttonpress(XEvent *e);
static void cleanup(void);
static void configurenotify(XEvent *e);
static void die(const char *errstr, ...);
static void drawbar();
static void drawtext(const char *text, unsigned long col[ColLast]);
static void expose(XEvent *e);
static void focus(Client *c);
static unsigned long getcolor(const char *colstr);
static Client *getclient(Window w);
static Client *getfirsttab();


@@ 109,6 111,7 @@ static void (*handler[LASTEvent]) (XEvent *) = {
	[ConfigureNotify] = configurenotify,
	[PropertyNotify] = propertynotify,
	[UnmapNotify] = unmapnotify,
	[ButtonPress] = buttonpress,
	[KeyPress] = keypress,
	[Expose] = expose,
};


@@ 133,6 136,20 @@ autostart() {
}

void
buttonpress(XEvent *e) {
	int i;
	Client *c;
	XButtonPressedEvent *ev = &e->xbutton;

	for(i = 0, c = getfirsttab(); c; c = c->next, i++) {
		if(i * tabwidth < ev->x && (i + 1) * tabwidth > ev->x) {
			focus(c);
			break;
		}
	}
}

void
cleanup(void) {
	if(dc.font.set)
		XFreeFontSet(dpy, dc.font.set);