made tag/view/toggle{tag,view} work on pointer to tags-array, there was the need to define Key key[] not static to do this. split focusclient into focusnext/prev, fixed config.*.h's

This commit is contained in:
Anselm R. Garbe
2007-08-16 17:55:55 +02:00
parent e8792d95a1
commit 10bc0ce912
6 changed files with 127 additions and 112 deletions

20
event.c
View File

@ -1,6 +1,5 @@
/* See LICENSE file for copyright and license details. */
#include "dwm.h"
#include <stdio.h>
#include <stdlib.h>
#include <X11/keysym.h>
#include <X11/Xatom.h>
@ -15,8 +14,6 @@ typedef struct {
const char *arg;
} Key;
KEYS
#define CLEANMASK(mask) (mask & ~(numlockmask | LockMask))
#define MOUSEMASK (BUTTONMASK | PointerMotionMask)
@ -112,29 +109,26 @@ resizemouse(Client *c) {
static void
buttonpress(XEvent *e) {
static char buf[32];
unsigned int i, x;
Client *c;
XButtonPressedEvent *ev = &e->xbutton;
buf[0] = 0;
if(barwin == ev->window) {
x = 0;
for(i = 0; i < ntags; i++) {
x += textw(tags[i]);
if(ev->x < x) {
snprintf(buf, sizeof buf, "%d", i);
if(ev->button == Button1) {
if(ev->state & MODKEY)
tag(buf);
tag(tags[i]);
else
view(buf);
view(tags[i]);
}
else if(ev->button == Button3) {
if(ev->state & MODKEY)
toggletag(buf);
toggletag(tags[i]);
else
toggleview(buf);
toggleview(tags[i]);
}
return;
}
@ -257,7 +251,8 @@ expose(XEvent *e) {
static void
keypress(XEvent *e) {
static unsigned int len = sizeof key / sizeof key[0];
KEYS
unsigned int len = sizeof key / sizeof key[0];
unsigned int i;
KeySym keysym;
XKeyEvent *ev = &e->xkey;
@ -362,7 +357,8 @@ void (*handler[LASTEvent]) (XEvent *) = {
void
grabkeys(void) {
static unsigned int len = sizeof key / sizeof key[0];
KEYS
unsigned int len = sizeof key / sizeof key[0];
unsigned int i;
KeyCode code;