sowm

An itsy bitsy floating window manager (220~ sloc!).
git clone git://mfeller.io/sowm.git
Log | Files | Refs | README | LICENSE

commit 893b45b2ded9481d2df8be40fd88ea31721369f0
parent 85ee7ec48e9309a0dce2db3d5c2e23702815b7b2
Author: dylan <dylan.araps@gmail.com>
Date:   Wed, 15 Jan 2020 10:01:37 +0200

Merge pull request #43 from SeungheonOh/master

Fix: issue #42: Workspaces(Shiftmask) + Scary warnings
Diffstat:
MMakefile | 2+-
Msowm.c | 10+++-------
2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/Makefile b/Makefile @@ -1,4 +1,4 @@ -CFLAGS+= -std=c99 -Wall -Wextra -Wmissing-prototypes -pedantic +CFLAGS+= -std=c99 -Wall -Wextra -pedantic LDADD+= -lX11 LDFLAGS= PREFIX?= /usr diff --git a/sowm.c b/sowm.c @@ -49,7 +49,7 @@ static void ws_go(const Arg arg); static int xerror() { return 0;} static client *list = {0}, *ws_list[10] = {0}, *cur; -static int ws = 1, sw, sh, wx, wy, numlock; +static int ws = 1, sw, sh, wx, wy; static unsigned int ww, wh; static Display *d; @@ -71,7 +71,6 @@ static void (*events[LASTEvent])(XEvent *e) = { #define win (client *t=0, *c=list; c && t!=list->prev; t=c, c=c->next) #define ws_save(W) ws_list[W] = list #define ws_sel(W) list = ws_list[ws = W] -#define mask(M) (M & ~(numlock | LockMask)) #define win_size(W, gx, gy, gw, gh) \ XGetGeometry(d, W, &(Window){0}, gx, gy, gw, gh, \ @@ -112,13 +111,10 @@ void notify_motion(XEvent *e) { void key_press(XEvent *e) { KeySym keysym = XkbKeycodeToKeysym(d, e->xkey.keycode, 0, 0); - for (unsigned int i=0; i < sizeof(keys)/sizeof(*keys); ++i) { - numlock = ((e->xkey.state & keys[i].mod) == keys[i].mod); - - if (mask(keys[i].mod) == mask(e->xkey.state) && + for (unsigned int i=0; i < sizeof(keys)/sizeof(*keys); ++i) + if (keys[i].mod == e->xkey.state && keys[i].keysym == keysym) keys[i].function(keys[i].arg); - } } void button_press(XEvent *e) {