]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.c
you can't resize fully maxed windows
[chaz/openbox] / openbox / client.c
index 9b89b10356cd4b947ebc1053692ce8f0bb9e5d5e..875c790bd8e727cc222b1796e2fef3add29718a5 100644 (file)
@@ -1685,6 +1685,10 @@ void client_setup_decor_and_functions(ObClient *self)
         }
     }
 
+    /* can't resize maximized windows */
+    if (self->max_horz && self->max_vert)
+        self->functions &=~ OB_CLIENT_FUNC_RESIZE;
+
     if (!(self->functions & OB_CLIENT_FUNC_SHADE))
         self->decorations &= ~OB_FRAME_DECOR_SHADE;
     if (!(self->functions & OB_CLIENT_FUNC_ICONIFY))
@@ -1700,10 +1704,6 @@ void client_setup_decor_and_functions(ObClient *self)
         self->decorations &= ~OB_FRAME_DECOR_MAXIMIZE;
     }
 
-    /* kill the handle on fully maxed windows */
-    if (self->max_vert && self->max_horz)
-        self->decorations &= ~(OB_FRAME_DECOR_HANDLE | OB_FRAME_DECOR_GRIPS);
-
     /* If there are no decorations to remove, don't allow the user to try
        toggle the state */
     if (self->decorations == 0)
@@ -2740,6 +2740,7 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
     gboolean fmoved, fresized;
     guint fdecor = self->frame->decorations;
     gboolean fhorz = self->frame->max_horz;
+    gboolean fvert = self->frame->max_vert;
     gint logicalw, logicalh;
 
     /* find the new x, y, width, and height (and logical size) */
@@ -2775,8 +2776,11 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
     /* find the frame's dimensions and move/resize it */
     fmoved = moved;
     fresized = resized;
-    if (self->decorations != fdecor || self->max_horz != fhorz)
+    if (self->decorations != fdecor ||
+        self->max_horz != fhorz || self->max_vert != fvert)
+    {
         fmoved = fresized = TRUE;
+    }
     if (fmoved || fresized)
         frame_adjust_area(self->frame, fmoved, fresized, FALSE);
 
@@ -3488,12 +3492,9 @@ void client_activate(ObClient *self, gboolean here, gboolean user)
                   self->window, event_curtime, last_time,
                   (user ? "user" : "application"), allow);
 
-    if (allow) {
-        if (event_curtime != CurrentTime)
-            self->user_time = event_curtime;
-
+    if (allow)
         client_present(self, here, TRUE);
-    else
+    else
         /* don't focus it but tell the user it wants attention */
         client_hilite(self, TRUE);
 }
This page took 0.021094 seconds and 4 git commands to generate.