X-Git-Url: http://pileus.org/git/?p=wmpus;a=blobdiff_plain;f=wm-wmii.c;fp=wm-wmii.c;h=b5b09806a893752353cb4a0880fdaf79645dca33;hp=f842f19116eec033bb6e08f2ab670fcd9728c17f;hb=ffae19d0b7ffb85f14e1b598630a42cddbb0ffde;hpb=d7962431c1e307cc50a744b23b5aac314f4cda75 diff --git a/wm-wmii.c b/wm-wmii.c index f842f19..b5b0980 100644 --- a/wm-wmii.c +++ b/wm-wmii.c @@ -699,9 +699,9 @@ void wm_update(void) for (list_t *tag = wm ->tags; tag; tag = tag->next) if (tag->data != wm_tag) { tag_foreach_col(TAG(tag), dpy, col, row, win) - sys_show(win, ST_HIDE); + sys_show(win, ST_HIDE); tag_foreach_flt(TAG(tag), dpy, flt, win) - sys_show(win, ST_HIDE); + sys_show(win, ST_HIDE); } /* Set focused window */ @@ -714,7 +714,8 @@ void wm_update(void) *******************************/ int wm_handle_event(win_t *win, event_t ev, mod_t mod, ptr_t ptr) { - if (!win || win == wm_dpy->geom) return 0; + if (!win || win == wm_dpy->geom) + return 0; //printf("wm_handle_event: %p - %x %c%c%c%c%c\n", win, ev, // mod.up ? '^' : 'v', // mod.alt ? 'a' : '-', @@ -740,7 +741,7 @@ int wm_handle_event(win_t *win, event_t ev, mod_t mod, ptr_t ptr) /* Only handle key-down */ if (mod.up) - return 0; + return mod.MODKEY || ev == EV_ALT; /* Misc */ if (mod.MODKEY) { @@ -822,7 +823,7 @@ int wm_handle_event(win_t *win, event_t ev, mod_t mod, ptr_t ptr) if (ev == EV_FOCUS) sys_focus(wm_focus ?: wm->root); - return 0; + return mod.MODKEY; } int wm_handle_ptr(win_t *cwin, ptr_t ptr) @@ -880,7 +881,7 @@ int wm_handle_state(win_t *win, state_t prev, state_t next) if (!row && !flt && next == ST_SHOW) return wm_insert(win), 1; - if ((row || flt) && next == ST_HIDE) + if ((row || flt) && (next == ST_HIDE || next == ST_ICON)) return wm_remove(win), 1; if (row) row->state = next;