From 06f27af0a994a6f92d1c3a9306f46a73e6162bb8 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Wed, 26 Mar 2003 13:28:25 +0000 Subject: [PATCH] split up the relative functions. make the parsing more generic, anything can have a string/numeric argument --- plugins/keyboard/keysrc.yacc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/plugins/keyboard/keysrc.yacc b/plugins/keyboard/keysrc.yacc index 8772fa17..3546d097 100644 --- a/plugins/keyboard/keysrc.yacc +++ b/plugins/keyboard/keysrc.yacc @@ -25,8 +25,6 @@ static char *path; %token INTEGER; %token STRING %token FIELD -%token EXECUTE -%token RESTART %token DESKTOP %type fields @@ -36,10 +34,8 @@ static char *path; 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 @@ static void addbinding(GList *keylist, char *action, char *apath, int num) 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); -- 2.39.2