diff options
author | okan | 2008-06-14 21:48:54 +0000 |
---|---|---|
committer | okan | 2008-06-14 21:48:54 +0000 |
commit | c13dbbd835133e5160bdeefa8251adef63c56a9e (patch) | |
tree | 7839e98d228f6339db838ea006fa49f539d18763 /parse.y | |
parent | b41388716ed8af14f5165df937627ad66200a0b5 (diff) | |
download | cwm-c13dbbd835133e5160bdeefa8251adef63c56a9e.tar.gz |
confable menu and window mouse bindings from rivo nurges (thanks!) with
some minor fixups, man page bits and knf.
ok oga@
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 22 |
1 files changed, 20 insertions, 2 deletions
@@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.9 2008/05/19 17:13:55 oga Exp $ */ +/* $OpenBSD: parse.y,v 1.10 2008/06/14 21:48:54 okan Exp $ */ /* * Copyright (c) 2002, 2003, 2004 Henning Brauer <henning@openbsd.org> @@ -66,7 +66,7 @@ typedef struct { %} -%token FONTNAME STICKY GAP +%token FONTNAME STICKY GAP MOUSEBIND %token AUTOGROUP BIND COMMAND IGNORE %token YES NO %token ERROR @@ -167,6 +167,11 @@ main : FONTNAME STRING { conf->gap_left = $4; conf->gap_right = $5; } + | MOUSEBIND STRING string { + conf_mousebind(conf, $2, $3); + free($2); + free($3); + } ; %% @@ -206,6 +211,7 @@ lookup(char *s) { "fontname", FONTNAME}, { "gap", GAP}, { "ignore", IGNORE}, + { "mousebind", MOUSEBIND}, { "no", NO}, { "sticky", STICKY}, { "yes", YES} @@ -469,6 +475,7 @@ conf_clear(struct conf *c) struct keybinding *kb; struct winmatch *wm; struct cmd *cmd; + struct mousebinding *mb; while (cmd = TAILQ_FIRST(&c->cmdq)) { TAILQ_REMOVE(&c->cmdq, cmd, entry); @@ -494,6 +501,11 @@ conf_clear(struct conf *c) free(wm); } + while (mb = TAILQ_FIRST(&c->mousebindingq)) { + TAILQ_REMOVE(&c->mousebindingq, mb, entry); + free(mb); + } + if (c->DefaultFontName != NULL && c->DefaultFontName != DEFAULTFONTNAME) free(c->DefaultFontName); @@ -529,6 +541,7 @@ parse_config(const char *filename, struct conf *xconf) struct keybinding *kb; struct winmatch *wm; struct cmd *cmd; + struct mousebinding *mb; conf_clear(xconf); @@ -554,6 +567,11 @@ parse_config(const char *filename, struct conf *xconf) TAILQ_INSERT_TAIL(&xconf->ignoreq, wm, entry); } + while (mb = TAILQ_FIRST(&conf->mousebindingq)) { + TAILQ_REMOVE(&conf->mousebindingq, mb, entry); + TAILQ_INSERT_TAIL(&xconf->mousebindingq, mb, entry); + } + strlcpy(xconf->termpath, conf->termpath, sizeof(xconf->termpath)); strlcpy(xconf->lockpath, conf->lockpath, |