]> Dogcows Code - chaz/openbox/blobdiff - openbox/frame.c
attempt #2 at better logical size values
[chaz/openbox] / openbox / frame.c
index 3e90c3e2ccffd46768fda18d281fda541767fa4e..05ac3c711535ffda022b467dc0c2107fd00ebb6b 100644 (file)
@@ -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.
This page took 0.021241 seconds and 4 git commands to generate.