]> Pileus Git - wmpus/blobdiff - wm-wmii.c
Move state to win_t
[wmpus] / wm-wmii.c
index 6618adb38b62695f9c969004491af74c51d53ce8..df88527fccb137dc057f4a4b991d3078f445088e 100644 (file)
--- a/wm-wmii.c
+++ b/wm-wmii.c
@@ -657,10 +657,10 @@ static void wm_update_cols(dpy_t *dpy)
                        case tab:
                                sys_move(win, x+MARGIN, 0+MARGIN,
                                        col->width, dpy->geom->h-2*MARGIN);
-                               if (focus == win)
-                                       sys_raise(win);
                                break;
                        }
+                       if (focus == win)
+                               sys_raise(win);
                        ROW(lrow)->height = win->h;
                }
                x += col->width + MARGIN;
@@ -718,7 +718,7 @@ int wm_handle_key(win_t *win, Key_t key, mod_t mod, ptr_t ptr)
                if (move_mode != none && mod.up)
                        return set_move(win,ptr,none),   1;
                if (key == key_mouse1 && !mod.up && win->h == STACK)
-                       return wm_update(),              0;
+                       return set_focus(win), wm_update(), 0;
                return 0;
        }
 
@@ -789,7 +789,7 @@ int wm_handle_key(win_t *win, Key_t key, mod_t mod, ptr_t ptr)
        }
 
        /* Focus change */
-       if (key == key_enter)
+       if (key == key_enter && win->h != STACK)
                return set_focus(win), 1;
 
        if (key_mouse0 <= key && key <= key_mouse7)