X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=scrotwm.c;h=55bf753bd425679fcbb7d944b486bec2f3da98ae;hb=50549aa1ce477c30031aeed2580f9cd71d40881e;hp=740c3f23b748d551e633ea83540687a80dc7d4fe;hpb=64075b7af175e867e8e8d2d1ef280529bc303847;p=spectrwm.git diff --git a/scrotwm.c b/scrotwm.c index 740c3f2..55bf753 100644 --- a/scrotwm.c +++ b/scrotwm.c @@ -3353,10 +3353,13 @@ resize(struct ws_win *win, union arg *args) { XEvent ev; Time time = 0; - struct swm_region *r = win->ws->r; + struct swm_region *r = NULL; int relx, rely; int resize_step = 0; + if (win == NULL) + return; + r = win->ws->r; DNPRINTF(SWM_D_MOUSE, "resize: win %lu floating %d trans %lu\n", win->id, win->floating, win->transient); @@ -3471,7 +3474,7 @@ resize_step(struct swm_region *r, union arg *args) { struct ws_win *win = NULL; - if (r && r->ws) + if (r && r->ws && r->ws->focus) win = r->ws->focus; else return; @@ -3508,7 +3511,11 @@ move(struct ws_win *win, union arg *args) XEvent ev; Time time = 0; int move_step = 0; - struct swm_region *r = win->ws->r; + struct swm_region *r = NULL; + + if (win == NULL) + return; + r = win->ws->r; DNPRINTF(SWM_D_MOUSE, "move: win %lu floating %d trans %lu\n", win->id, win->floating, win->transient); @@ -3605,7 +3612,7 @@ move_step(struct swm_region *r, union arg *args) { struct ws_win *win = NULL; - if (r && r->ws) + if (r && r->ws && r->ws->focus) win = r->ws->focus; else return; @@ -4821,7 +4828,8 @@ setautorun(char *selector, char *value, int flags) int setlayout(char *selector, char *value, int flags) { - int ws_id, st, i, x, mg, ma, si, raise; + int ws_id, i, x, mg, ma, si, raise; + int st = SWM_V_STACK; char s[1024]; struct workspace *ws; @@ -5428,15 +5436,14 @@ void keypress(XEvent *e) { unsigned int i; - KeySym keysym, skeysym; + KeySym keysym; XKeyEvent *ev = &e->xkey; DNPRINTF(SWM_D_EVENT, "keypress: window: %lu\n", ev->window); keysym = XKeycodeToKeysym(display, (KeyCode)ev->keycode, 0); - skeysym = XKeycodeToKeysym(display, (KeyCode)ev->keycode, 1); for (i = 0; i < keys_length; i++) - if ((keysym == keys[i].keysym || skeysym == keys[i].keysym) + if (keysym == keys[i].keysym && CLEANMASK(keys[i].mod) == CLEANMASK(ev->state) && keyfuncs[keys[i].funcid].func) { if (keys[i].funcid == kf_spawn_custom) @@ -5462,7 +5469,6 @@ buttonpress(XEvent *e) DNPRINTF(SWM_D_EVENT, "buttonpress: window: %lu\n", ev->window); - action = root_click; if ((win = find_window(ev->window)) == NULL) return;