summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-05-17 15:16:45 +0000
committerDana Jansens <danakj@orodu.net>2003-05-17 15:16:45 +0000
commitf6b61bb60e8f3a090ad9bbbdf88470eb5c7c3158 (patch)
tree0ade5b96331d6a0cb7e3d7b92bdd953dd96e43f3 /openbox
parent0b5f6589ba42869d4d1bdac61b3128dbc762424d (diff)
disallow drag events on title buttons.
dont redraw title button when the wheel buttons are used on them.
Diffstat (limited to 'openbox')
-rw-r--r--openbox/event.c52
1 files changed, 28 insertions, 24 deletions
diff --git a/openbox/event.c b/openbox/event.c
index 732857e0..900567c0 100644
--- a/openbox/event.c
+++ b/openbox/event.c
@@ -538,30 +538,34 @@ static void event_handle_client(Client *client, XEvent *e)
switch (e->type) {
case ButtonPress:
case ButtonRelease:
- switch (frame_context(client, e->xbutton.window)) {
- case Context_Maximize:
- client->frame->max_press = (e->type == ButtonPress);
- framerender_frame(client->frame);
- break;
- case Context_Close:
- client->frame->close_press = (e->type == ButtonPress);
- framerender_frame(client->frame);
- break;
- case Context_Iconify:
- client->frame->iconify_press = (e->type == ButtonPress);
- framerender_frame(client->frame);
- break;
- case Context_AllDesktops:
- client->frame->desk_press = (e->type == ButtonPress);
- framerender_frame(client->frame);
- break;
- case Context_Shade:
- client->frame->shade_press = (e->type == ButtonPress);
- framerender_frame(client->frame);
- break;
- default:
- /* nothing changes with clicks for any other contexts */
- break;
+ /* Wheel buttons don't draw because they are an instant click, so it
+ is a waste of resources to go drawing it. */
+ if (!(e->xbutton.button == 4 || e->xbutton.button == 5)) {
+ switch (frame_context(client, e->xbutton.window)) {
+ case Context_Maximize:
+ client->frame->max_press = (e->type == ButtonPress);
+ framerender_frame(client->frame);
+ break;
+ case Context_Close:
+ client->frame->close_press = (e->type == ButtonPress);
+ framerender_frame(client->frame);
+ break;
+ case Context_Iconify:
+ client->frame->iconify_press = (e->type == ButtonPress);
+ framerender_frame(client->frame);
+ break;
+ case Context_AllDesktops:
+ client->frame->desk_press = (e->type == ButtonPress);
+ framerender_frame(client->frame);
+ break;
+ case Context_Shade:
+ client->frame->shade_press = (e->type == ButtonPress);
+ framerender_frame(client->frame);
+ break;
+ default:
+ /* nothing changes with clicks for any other contexts */
+ break;
+ }
}
break;
case FocusIn: