X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fframe.c;h=05ac3c711535ffda022b467dc0c2107fd00ebb6b;hb=0a809d36dd770aae300a19d841fa7958cbe67628;hp=3e90c3e2ccffd46768fda18d281fda541767fa4e;hpb=81af5a8b0caadc0a82ff2304c315f816c9576e93;p=chaz%2Fopenbox diff --git a/openbox/frame.c b/openbox/frame.c index 3e90c3e2..05ac3c71 100644 --- a/openbox/frame.c +++ b/openbox/frame.c @@ -9,7 +9,8 @@ #define FRAME_EVENTMASK (EnterWindowMask | LeaveWindowMask | \ ButtonPressMask | ButtonReleaseMask) #define ELEMENT_EVENTMASK (ButtonPressMask | ButtonReleaseMask | \ - ButtonMotionMask | ExposureMask) + ButtonMotionMask | ExposureMask | \ + EnterWindowMask | LeaveWindowMask) #define FRAME_HANDLE_Y(f) (f->innersize.top + f->client->area.height + \ f->cbwidth) @@ -106,6 +107,8 @@ ObFrame *frame_new() self->max_press = self->close_press = self->desk_press = self->iconify_press = self->shade_press = FALSE; + self->max_hover = self->close_hover = self->desk_hover = + self->iconify_hover = self->shade_hover = FALSE; return (ObFrame*)self; } @@ -262,9 +265,7 @@ void frame_adjust_area(ObFrame *self, gboolean moved, gboolean resized) */ } else XUnmapWindow(ob_display, self->handle); - } - if (resized) { /* move and resize the plate */ XMoveResizeWindow(ob_display, self->plate, self->innersize.left - self->cbwidth, @@ -273,9 +274,7 @@ void frame_adjust_area(ObFrame *self, gboolean moved, gboolean resized) self->client->area.height); /* when the client has StaticGravity, it likes to move around. */ XMoveWindow(ob_display, self->client->window, 0, 0); - } - if (resized) { STRUT_SET(self->size, self->innersize.left + self->bwidth, self->innersize.top + self->bwidth, @@ -287,7 +286,8 @@ void frame_adjust_area(ObFrame *self, gboolean moved, gboolean resized) RECT_SET_SIZE(self->area, self->client->area.width + self->size.left + self->size.right, - (self->client->shaded ? ob_rr_theme->title_height + self->bwidth*2: + (self->client->shaded ? + ob_rr_theme->title_height + self->bwidth*2: self->client->area.height + self->size.top + self->size.bottom)); @@ -296,8 +296,7 @@ void frame_adjust_area(ObFrame *self, gboolean moved, gboolean resized) frame_client_gravity. */ self->area.x = self->client->area.x; self->area.y = self->client->area.y; - frame_client_gravity((ObFrame*)self, - &self->area.x, &self->area.y); + frame_client_gravity(self, &self->area.x, &self->area.y); } /* move and resize the top level frame.