diff options
author | Owain Ainsworth <oga@cvs.openbsd.org> | 2008-06-25 22:37:30 +0000 |
---|---|---|
committer | Owain Ainsworth <oga@cvs.openbsd.org> | 2008-06-25 22:37:30 +0000 |
commit | f0838c5278d5708f93cd3c5df424f634f7c03ccf (patch) | |
tree | 553afa3388661c5cdd00c7490f9b75b515c3990a /app/cwm/conf.c | |
parent | 3d3b7ac4619789b34cb2abbcb995a1bf5fed6493 (diff) |
Actually grab the correct mouse buttons for a window, instead of doing the
old hardcoded ones (which now can be wrong).
tested by todd@ and johan@.
Diffstat (limited to 'app/cwm/conf.c')
-rw-r--r-- | app/cwm/conf.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/app/cwm/conf.c b/app/cwm/conf.c index 097a64775..9947d8db8 100644 --- a/app/cwm/conf.c +++ b/app/cwm/conf.c @@ -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. * - * $Id: conf.c,v 1.42 2008/06/17 23:40:33 oga Exp $ + * $Id: conf.c,v 1.43 2008/06/25 22:37:29 oga Exp $ */ #include "headers.h" @@ -474,3 +474,33 @@ conf_mouseunbind(struct conf *c, struct mousebinding *unbind) } } +/* + * Grab the mouse buttons that we need for bindings for this client + */ +void +conf_grab_mouse(struct client_ctx *cc) +{ + struct mousebinding *mb; + int button; + + + TAILQ_FOREACH(mb, &Conf.mousebindingq, entry) { + if (mb->context != MOUSEBIND_CTX_WIN) + continue; + + switch(mb->button) { + case 1: + button = Button1; + break; + case 2: + button = Button2; + break; + case 3: + button = Button3; + break; + default: + warnx("strange button in mousebinding\n"); + } + xu_btn_grab(cc->pwin, mb->modmask, button); + } +} |