added tab selecting with mouse
This commit is contained in:
parent
21ae332817
commit
0f67f586b1
17
tabbed.c
17
tabbed.c
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue