added tab selecting with mouse

This commit is contained in:
Enno Boland (tox) 2009-09-08 11:53:32 +02:00
parent 21ae332817
commit 0f67f586b1

View file

@ -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,
};
@ -132,6 +135,20 @@ autostart() {
autostarts[i].func(&(autostarts[i].arg));
}
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)