X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmouse.c;h=0fd2a8286e98548c16e53c97990c1bcd048634aa;hb=d9e08487dffd010f4434d24b98a3a571b2e5a600;hp=27bd658466213e2f7776faa47ec2bf82483acc6d;hpb=88b839834242d237eaf98fcc0aac94e21a767ace;p=chaz%2Fopenbox diff --git a/openbox/mouse.c b/openbox/mouse.c index 27bd6584..0fd2a828 100644 --- a/openbox/mouse.c +++ b/openbox/mouse.c @@ -1,3 +1,21 @@ +/* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- + + mouse.c for the Openbox window manager + Copyright (c) 2003 Ben Jansens + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + See the COPYING file for a copy of the GNU General Public License. +*/ + #include "openbox.h" #include "config.h" #include "xerror.h" @@ -110,7 +128,7 @@ static void grab_all_clients(gboolean grab) mouse_grab_for_client(it->data, grab); } -static void clearall() +void mouse_unbind_all() { int i; GSList *it; @@ -149,8 +167,7 @@ static gboolean fire_binding(ObMouseAction a, ObFrameContext context, /* if not bound, then nothing to do! */ if (it == NULL) return FALSE; - for (it = b->actions[a]; it; it = it->next) - action_run_mouse(it->data, c, state, button, x, y); + action_run_mouse(b->actions[a], c, context, state, button, x, y); return TRUE; } @@ -196,6 +213,7 @@ void mouse_event(ObClient *client, XEvent *e) int junk1, junk2; Window wjunk; guint ujunk, b, w, h; + /* this can cause errors to occur when the window closes */ xerror_set_ignore(TRUE); junk1 = XGetGeometry(ob_display, e->xbutton.window, &wjunk, &junk1, &junk2, &w, &h, &b, &ujunk); @@ -277,8 +295,8 @@ void mouse_event(ObClient *client, XEvent *e) } } -gboolean mouse_bind(char *buttonstr, char *contextstr, ObMouseAction mact, - ObAction *action) +gboolean mouse_bind(const gchar *buttonstr, const gchar *contextstr, + ObMouseAction mact, ObAction *action) { guint state, button; ObFrameContext context; @@ -329,5 +347,5 @@ void mouse_startup(gboolean reconfig) void mouse_shutdown(gboolean reconfig) { grab_all_clients(FALSE); - clearall(); + mouse_unbind_all(); }