diff options
Diffstat (limited to 'src/event.c')
-rw-r--r-- | src/event.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/event.c b/src/event.c index b508a1e..e1529ab 100644 --- a/src/event.c +++ b/src/event.c @@ -306,6 +306,10 @@ HandleButtonEvent(const XButtonEvent *event) default: break; } + if(event->type == ButtonRelease) { + PressedBorderButton = BA_NONE; + DrawBorder(np, NULL); + } } else if(event->window == rootWindow && event->type == ButtonPress) { if(!ShowRootMenu(event->button, event->x, event->y)) { if(event->button == 4) { @@ -1214,17 +1218,26 @@ DispatchBorderButtonEvent(const XButtonEvent *event, ClientNode *np) } break; case BA_CLOSE: - if(event->type == ButtonRelease) { + if(event->type == ButtonPress) { + PressedBorderButton = BA_CLOSE; + DrawBorder(np, NULL); + } else { DeleteClient(np); } break; case BA_MAXIMIZE: - if(event->type == ButtonRelease) { + if(event->type == ButtonPress) { + PressedBorderButton = BA_MAXIMIZE; + DrawBorder(np, NULL); + } else { MaximizeClient(np); } break; case BA_MINIMIZE: - if(event->type == ButtonRelease) { + if(event->type == ButtonPress) { + PressedBorderButton = BA_MINIMIZE; + DrawBorder(np, NULL); + } else { MinimizeClient(np); } break; |