all repos — openbox @ 06f27af0a994a6f92d1c3a9306f46a73e6162bb8

openbox fork - make it a bit more like ryudo

split up the relative functions.
make the parsing more generic, anything can have a string/numeric argument
Dana Jansens danakj@orodu.net
commit

06f27af0a994a6f92d1c3a9306f46a73e6162bb8

parent

c473d5f80ac8a92ba4046365769b2b84ed72881d

1 files changed, 7 insertions(+), 6 deletions(-)

jump to
M plugins/keyboard/keysrc.yaccplugins/keyboard/keysrc.yacc

@@ -25,8 +25,6 @@

%token <integer> INTEGER; %token <string> STRING %token <string> FIELD -%token <string> EXECUTE -%token <string> RESTART %token <string> DESKTOP %type <list> fields

@@ -36,10 +34,8 @@

config: | config '\n' | config fields FIELD '\n' { addbinding($2, $3, NULL, 0); } - | config fields DESKTOP INTEGER '\n' { addbinding($2, $3, NULL, $4); } - | config fields RESTART '\n' { addbinding($2, $3, NULL, 0); } - | config fields EXECUTE STRING '\n' { addbinding($2, $3, $4, 0); } - | config fields RESTART STRING '\n' { addbinding($2, $3, $4, 0); } + | config fields FIELD INTEGER '\n' { addbinding($2, $3, NULL, $4); } + | config fields FIELD STRING '\n' { addbinding($2, $3, $4, 0); } ; fields:

@@ -92,6 +88,11 @@ if (a->func == action_execute || a->func == action_restart)

a->data.execute.path = apath; if (a->func == action_desktop) a->data.desktop.desk = (unsigned) num + 1; + if (a->func == action_move_relative_horz || + a->func == action_move_relative_vert || + a->func == action_resize_relative_horz || + a->func == action_resize_relative_vert) + a->data.relative.delta = num; if (!kbind(keylist, a)) { action_free(a);