diff options
-rw-r--r-- | calmwm.h | 7 | ||||
-rw-r--r-- | conf.c | 123 | ||||
-rw-r--r-- | xevents.c | 8 |
3 files changed, 61 insertions, 77 deletions
@@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: calmwm.h,v 1.244 2014/01/20 22:31:53 okan Exp $ + * $OpenBSD: calmwm.h,v 1.245 2014/01/20 23:03:51 okan Exp $ */ #ifndef _CALMWM_H_ @@ -83,6 +83,8 @@ #define CWM_GAP 0x0001 #define CWM_NOGAP 0x0002 +#define CWM_WIN 0x0001 + union arg { char *c; int i; @@ -247,7 +249,6 @@ struct keybinding { union arg argument; unsigned int modmask; KeySym keysym; -#define KBFLAG_NEEDCLIENT 0x0001 int flags; int argtype; }; @@ -259,8 +260,6 @@ struct mousebinding { union arg argument; unsigned int modmask; unsigned int button; -#define MOUSEBIND_CTX_ROOT 0x0001 -#define MOUSEBIND_CTX_WIN 0x0002 int flags; }; TAILQ_HEAD(mousebinding_q, mousebinding); @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: conf.c,v 1.158 2014/01/20 22:31:53 okan Exp $ + * $OpenBSD: conf.c,v 1.159 2014/01/20 23:03:51 okan Exp $ */ #include <sys/param.h> @@ -324,15 +324,15 @@ static struct { int flags; union arg argument; } name_to_kbfunc[] = { - { "lower", kbfunc_client_lower, KBFLAG_NEEDCLIENT, {0} }, - { "raise", kbfunc_client_raise, KBFLAG_NEEDCLIENT, {0} }, + { "lower", kbfunc_client_lower, CWM_WIN, {0} }, + { "raise", kbfunc_client_raise, CWM_WIN, {0} }, { "search", kbfunc_client_search, 0, {0} }, { "menusearch", kbfunc_menu_search, 0, {0} }, - { "hide", kbfunc_client_hide, KBFLAG_NEEDCLIENT, {0} }, + { "hide", kbfunc_client_hide, CWM_WIN, {0} }, { "cycle", kbfunc_client_cycle, 0, {.i = CWM_CYCLE} }, { "rcycle", kbfunc_client_cycle, 0, {.i = CWM_RCYCLE} }, - { "label", kbfunc_client_label, KBFLAG_NEEDCLIENT, {0} }, - { "delete", kbfunc_client_delete, KBFLAG_NEEDCLIENT, {0} }, + { "label", kbfunc_client_label, CWM_WIN, {0} }, + { "delete", kbfunc_client_delete, CWM_WIN, {0} }, { "group1", kbfunc_client_group, 0, {.i = 1} }, { "group2", kbfunc_client_group, 0, {.i = 2} }, { "group3", kbfunc_client_group, 0, {.i = 3} }, @@ -351,37 +351,28 @@ static struct { { "grouponly7", kbfunc_client_grouponly, 0, {.i = 7} }, { "grouponly8", kbfunc_client_grouponly, 0, {.i = 8} }, { "grouponly9", kbfunc_client_grouponly, 0, {.i = 9} }, - { "movetogroup1", kbfunc_client_movetogroup, KBFLAG_NEEDCLIENT, - {.i = 1} }, - { "movetogroup2", kbfunc_client_movetogroup, KBFLAG_NEEDCLIENT, - {.i = 2} }, - { "movetogroup3", kbfunc_client_movetogroup, KBFLAG_NEEDCLIENT, - {.i = 3} }, - { "movetogroup4", kbfunc_client_movetogroup, KBFLAG_NEEDCLIENT, - {.i = 4} }, - { "movetogroup5", kbfunc_client_movetogroup, KBFLAG_NEEDCLIENT, - {.i = 5} }, - { "movetogroup6", kbfunc_client_movetogroup, KBFLAG_NEEDCLIENT, - {.i = 6} }, - { "movetogroup7", kbfunc_client_movetogroup, KBFLAG_NEEDCLIENT, - {.i = 7} }, - { "movetogroup8", kbfunc_client_movetogroup, KBFLAG_NEEDCLIENT, - {.i = 8} }, - { "movetogroup9", kbfunc_client_movetogroup, KBFLAG_NEEDCLIENT, - {.i = 9} }, + { "movetogroup1", kbfunc_client_movetogroup, CWM_WIN, {.i = 1} }, + { "movetogroup2", kbfunc_client_movetogroup, CWM_WIN, {.i = 2} }, + { "movetogroup3", kbfunc_client_movetogroup, CWM_WIN, {.i = 3} }, + { "movetogroup4", kbfunc_client_movetogroup, CWM_WIN, {.i = 4} }, + { "movetogroup5", kbfunc_client_movetogroup, CWM_WIN, {.i = 5} }, + { "movetogroup6", kbfunc_client_movetogroup, CWM_WIN, {.i = 6} }, + { "movetogroup7", kbfunc_client_movetogroup, CWM_WIN, {.i = 7} }, + { "movetogroup8", kbfunc_client_movetogroup, CWM_WIN, {.i = 8} }, + { "movetogroup9", kbfunc_client_movetogroup, CWM_WIN, {.i = 9} }, { "nogroup", kbfunc_client_nogroup, 0, {0} }, { "cyclegroup", kbfunc_client_cyclegroup, 0, {.i = CWM_CYCLE} }, { "rcyclegroup", kbfunc_client_cyclegroup, 0, {.i = CWM_RCYCLE} }, - { "cycleingroup", kbfunc_client_cycle, KBFLAG_NEEDCLIENT, + { "cycleingroup", kbfunc_client_cycle, CWM_WIN, {.i = CWM_CYCLE|CWM_INGROUP} }, - { "rcycleingroup", kbfunc_client_cycle, KBFLAG_NEEDCLIENT, + { "rcycleingroup", kbfunc_client_cycle, CWM_WIN, {.i = CWM_RCYCLE|CWM_INGROUP} }, - { "grouptoggle", kbfunc_client_grouptoggle, KBFLAG_NEEDCLIENT, {0}}, - { "fullscreen", kbfunc_client_fullscreen, KBFLAG_NEEDCLIENT, {0} }, - { "maximize", kbfunc_client_maximize, KBFLAG_NEEDCLIENT, {0} }, - { "vmaximize", kbfunc_client_vmaximize, KBFLAG_NEEDCLIENT, {0} }, - { "hmaximize", kbfunc_client_hmaximize, KBFLAG_NEEDCLIENT, {0} }, - { "freeze", kbfunc_client_freeze, KBFLAG_NEEDCLIENT, {0} }, + { "grouptoggle", kbfunc_client_grouptoggle, CWM_WIN, {0}}, + { "fullscreen", kbfunc_client_fullscreen, CWM_WIN, {0} }, + { "maximize", kbfunc_client_maximize, CWM_WIN, {0} }, + { "vmaximize", kbfunc_client_vmaximize, CWM_WIN, {0} }, + { "hmaximize", kbfunc_client_hmaximize, CWM_WIN, {0} }, + { "freeze", kbfunc_client_freeze, CWM_WIN, {0} }, { "restart", kbfunc_restart, 0, {0} }, { "quit", kbfunc_quit_wm, 0, {0} }, { "exec", kbfunc_exec, 0, {.i = CWM_EXEC_PROGRAM} }, @@ -389,37 +380,37 @@ static struct { { "ssh", kbfunc_ssh, 0, {0} }, { "terminal", kbfunc_term, 0, {0} }, { "lock", kbfunc_lock, 0, {0} }, - { "moveup", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "moveup", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_UP|CWM_MOVE)} }, - { "movedown", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "movedown", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_DOWN|CWM_MOVE)} }, - { "moveright", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "moveright", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_RIGHT|CWM_MOVE)} }, - { "moveleft", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "moveleft", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_LEFT|CWM_MOVE)} }, - { "bigmoveup", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "bigmoveup", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_UP|CWM_MOVE|CWM_BIGMOVE)} }, - { "bigmovedown", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "bigmovedown", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_DOWN|CWM_MOVE|CWM_BIGMOVE)} }, - { "bigmoveright", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "bigmoveright", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_RIGHT|CWM_MOVE|CWM_BIGMOVE)} }, - { "bigmoveleft", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "bigmoveleft", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_LEFT|CWM_MOVE|CWM_BIGMOVE)} }, - { "resizeup", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "resizeup", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_UP|CWM_RESIZE)} }, - { "resizedown", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "resizedown", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_DOWN|CWM_RESIZE)} }, - { "resizeright", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "resizeright", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_RIGHT|CWM_RESIZE)} }, - { "resizeleft", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "resizeleft", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_LEFT|CWM_RESIZE)} }, - { "bigresizeup", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "bigresizeup", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_UP|CWM_RESIZE|CWM_BIGMOVE)} }, - { "bigresizedown", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "bigresizedown", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_DOWN|CWM_RESIZE|CWM_BIGMOVE)} }, - { "bigresizeright", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "bigresizeright", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_RIGHT|CWM_RESIZE|CWM_BIGMOVE)} }, - { "bigresizeleft", kbfunc_client_moveresize, KBFLAG_NEEDCLIENT, + { "bigresizeleft", kbfunc_client_moveresize, CWM_WIN, {.i = (CWM_LEFT|CWM_RESIZE|CWM_BIGMOVE)} }, { "ptrmoveup", kbfunc_client_moveresize, 0, {.i = (CWM_UP|CWM_PTRMOVE)} }, @@ -437,10 +428,8 @@ static struct { {.i = (CWM_LEFT|CWM_PTRMOVE|CWM_BIGMOVE)} }, { "bigptrmoveright", kbfunc_client_moveresize, 0, {.i = (CWM_RIGHT|CWM_PTRMOVE|CWM_BIGMOVE)} }, - { "htile", kbfunc_tile, KBFLAG_NEEDCLIENT, - {.i = CWM_TILE_HORIZ } }, - { "vtile", kbfunc_tile, KBFLAG_NEEDCLIENT, - {.i = CWM_TILE_VERT } }, + { "htile", kbfunc_tile, CWM_WIN, {.i = CWM_TILE_HORIZ} }, + { "vtile", kbfunc_tile, CWM_WIN, {.i = CWM_TILE_VERT} }, }; static struct { @@ -542,20 +531,17 @@ static struct { int flags; union arg argument; } name_to_mousefunc[] = { - { "window_move", mousefunc_client_move, MOUSEBIND_CTX_WIN, {0} }, - { "window_resize", mousefunc_client_resize, MOUSEBIND_CTX_WIN, {0} }, - { "window_grouptoggle", mousefunc_client_grouptoggle, - MOUSEBIND_CTX_WIN, {0} }, - { "window_lower", mousefunc_client_lower, MOUSEBIND_CTX_WIN, {0} }, - { "window_raise", mousefunc_client_raise, MOUSEBIND_CTX_WIN, {0} }, - { "window_hide", mousefunc_client_hide, MOUSEBIND_CTX_WIN, {0} }, - { "cyclegroup", mousefunc_client_cyclegroup, - MOUSEBIND_CTX_ROOT, {.i = CWM_CYCLE} }, - { "rcyclegroup", mousefunc_client_cyclegroup, - MOUSEBIND_CTX_ROOT, {.i = CWM_RCYCLE} }, - { "menu_group", mousefunc_menu_group, MOUSEBIND_CTX_ROOT, {0} }, - { "menu_unhide", mousefunc_menu_unhide, MOUSEBIND_CTX_ROOT, {0} }, - { "menu_cmd", mousefunc_menu_cmd, MOUSEBIND_CTX_ROOT, {0} }, + { "window_move", mousefunc_client_move, CWM_WIN, {0} }, + { "window_resize", mousefunc_client_resize, CWM_WIN, {0} }, + { "window_grouptoggle", mousefunc_client_grouptoggle, CWM_WIN, {0} }, + { "window_lower", mousefunc_client_lower, CWM_WIN, {0} }, + { "window_raise", mousefunc_client_raise, CWM_WIN, {0} }, + { "window_hide", mousefunc_client_hide, CWM_WIN, {0} }, + { "cyclegroup", mousefunc_client_cyclegroup, 0, {.i = CWM_CYCLE} }, + { "rcyclegroup", mousefunc_client_cyclegroup, 0, {.i = CWM_RCYCLE} }, + { "menu_group", mousefunc_menu_group, 0, {0} }, + { "menu_unhide", mousefunc_menu_unhide, 0, {0} }, + { "menu_cmd", mousefunc_menu_cmd, 0, {0} }, }; int @@ -639,9 +625,8 @@ conf_grab_mouse(Window win) xu_btn_ungrab(win); TAILQ_FOREACH(mb, &Conf.mousebindingq, entry) { - if (mb->flags != MOUSEBIND_CTX_WIN) - continue; - xu_btn_grab(win, mb->modmask, mb->button); + if (mb->flags & CWM_WIN) + xu_btn_grab(win, mb->modmask, mb->button); } } @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $OpenBSD: xevents.c,v 1.104 2014/01/03 15:29:06 okan Exp $ + * $OpenBSD: xevents.c,v 1.105 2014/01/20 23:03:51 okan Exp $ */ /* @@ -235,11 +235,11 @@ xev_handle_buttonpress(XEvent *ee) if (mb == NULL) return; - if (mb->flags == MOUSEBIND_CTX_WIN) { + if (mb->flags & CWM_WIN) { if (((cc = client_find(e->window)) == NULL) && (cc = client_current()) == NULL) return; - } else { /* (mb->flags == MOUSEBIND_CTX_ROOT) */ + } else { if (e->window != e->root) return; cc = &fakecc; @@ -287,7 +287,7 @@ xev_handle_keypress(XEvent *ee) if (kb == NULL) return; - if (kb->flags & KBFLAG_NEEDCLIENT) { + if (kb->flags & CWM_WIN) { if (((cc = client_find(e->window)) == NULL) && (cc = client_current()) == NULL) return; |