X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=ac0e6ff2efc567ffb972f3aec0c97ca4fba1a9e8;hb=b8f207892a11b53365c47b4828254269fca5c8e9;hp=ace548a6498fbe3b877ed4469cf9740cb3dc9d44;hpb=83da4ec9398d197f39461cd7305163b2676840c8;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index ace548a6..ac0e6ff2 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -772,7 +772,8 @@ static void event_handle_client(ObClient *client, XEvent *e) { /* use where the press occured */ con = frame_context(client, e->xbutton.window, px, py); - con = mouse_button_frame_context(con, e->xbutton.button); + con = mouse_button_frame_context(con, e->xbutton.button, + e->xbutton.state); if (e->type == ButtonRelease && e->xbutton.button == pb) pb = 0, px = py = -1; @@ -809,6 +810,8 @@ static void event_handle_client(ObClient *client, XEvent *e) e->xmotion.x, e->xmotion.y); switch (con) { case OB_FRAME_CONTEXT_TITLEBAR: + case OB_FRAME_CONTEXT_TLCORNER: + case OB_FRAME_CONTEXT_TRCORNER: /* we've left the button area inside the titlebar */ if (client->frame->max_hover || client->frame->desk_hover || client->frame->shade_hover || client->frame->iconify_hover || @@ -860,6 +863,22 @@ static void event_handle_client(ObClient *client, XEvent *e) con = frame_context(client, e->xcrossing.window, e->xcrossing.x, e->xcrossing.y); switch (con) { + case OB_FRAME_CONTEXT_TITLEBAR: + case OB_FRAME_CONTEXT_TLCORNER: + case OB_FRAME_CONTEXT_TRCORNER: + /* we've left the button area inside the titlebar */ + if (client->frame->max_hover || client->frame->desk_hover || + client->frame->shade_hover || client->frame->iconify_hover || + client->frame->close_hover) + { + client->frame->max_hover = FALSE; + client->frame->desk_hover = FALSE; + client->frame->shade_hover = FALSE; + client->frame->iconify_hover = FALSE; + client->frame->close_hover = FALSE; + frame_adjust_state(client->frame); + } + break; case OB_FRAME_CONTEXT_MAXIMIZE: client->frame->max_hover = FALSE; frame_adjust_state(client->frame);