}
}
+ /* 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))
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)
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) */
/* 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);
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);
}