split up the relative functions.
make the parsing more generic, anything can have a string/numeric argument
This commit is contained in:
parent
c473d5f80a
commit
06f27af0a9
1 changed files with 7 additions and 6 deletions
|
@ -25,8 +25,6 @@ static char *path;
|
||||||
%token <integer> INTEGER;
|
%token <integer> INTEGER;
|
||||||
%token <string> STRING
|
%token <string> STRING
|
||||||
%token <string> FIELD
|
%token <string> FIELD
|
||||||
%token <string> EXECUTE
|
|
||||||
%token <string> RESTART
|
|
||||||
%token <string> DESKTOP
|
%token <string> DESKTOP
|
||||||
|
|
||||||
%type <list> fields
|
%type <list> fields
|
||||||
|
@ -36,10 +34,8 @@ static char *path;
|
||||||
config:
|
config:
|
||||||
| config '\n'
|
| config '\n'
|
||||||
| config fields FIELD '\n' { addbinding($2, $3, NULL, 0); }
|
| config fields FIELD '\n' { addbinding($2, $3, NULL, 0); }
|
||||||
| config fields DESKTOP INTEGER '\n' { addbinding($2, $3, NULL, $4); }
|
| config fields FIELD INTEGER '\n' { addbinding($2, $3, NULL, $4); }
|
||||||
| config fields RESTART '\n' { addbinding($2, $3, NULL, 0); }
|
| config fields FIELD STRING '\n' { addbinding($2, $3, $4, 0); }
|
||||||
| config fields EXECUTE STRING '\n' { addbinding($2, $3, $4, 0); }
|
|
||||||
| config fields RESTART STRING '\n' { addbinding($2, $3, $4, 0); }
|
|
||||||
;
|
;
|
||||||
|
|
||||||
fields:
|
fields:
|
||||||
|
@ -92,6 +88,11 @@ static void addbinding(GList *keylist, char *action, char *apath, int num)
|
||||||
a->data.execute.path = apath;
|
a->data.execute.path = apath;
|
||||||
if (a->func == action_desktop)
|
if (a->func == action_desktop)
|
||||||
a->data.desktop.desk = (unsigned) num + 1;
|
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)) {
|
if (!kbind(keylist, a)) {
|
||||||
action_free(a);
|
action_free(a);
|
||||||
|
|
Loading…
Reference in a new issue