#define PLATE_EVENTMASK (SubstructureRedirectMask | ButtonPressMask)
#define FRAME_EVENTMASK (EnterWindowMask | LeaveWindowMask | \
- ButtonPressMask | ButtonReleaseMask)
+ ButtonPressMask | ButtonReleaseMask | \
+ VisibilityChangeMask)
#define ELEMENT_EVENTMASK (ButtonPressMask | ButtonReleaseMask | \
ButtonMotionMask | ExposureMask | \
EnterWindowMask | LeaveWindowMask)
self = g_new(ObFrame, 1);
self->visible = FALSE;
+ self->obscured = TRUE;
self->decorations = 0;
/* create all of the decor windows */
{
if (resized) {
self->decorations = self->client->decorations;
+ self->max_horz = self->client->max_horz;
if (self->decorations & OB_FRAME_DECOR_BORDER) {
self->bwidth = ob_rr_theme->bwidth;
}
self->rbwidth = self->bwidth;
- if (self->client->max_vert && self->client->max_horz)
- self->decorations &= ~OB_FRAME_DECOR_HANDLE;
-
- if (self->client->max_horz)
+ if (self->max_horz)
self->bwidth = self->cbwidth_x = 0;
STRUT_SET(self->innersize,
self->cbwidth_x,
self->cbwidth_y);
self->width = self->client->area.width + self->cbwidth_x * 2 -
- (self->client->max_horz ? self->rbwidth * 2 : 0);
+ (self->max_horz ? self->rbwidth * 2 : 0);
self->width = MAX(self->width, 1); /* no lower than 1 */
/* set border widths */
self->client->area.width +
self->size.left + self->size.right,
(self->client->shaded ?
- ob_rr_theme->title_height + self->bwidth*2:
+ ob_rr_theme->title_height + self->rbwidth * 2:
self->client->area.height +
self->size.top + self->size.bottom));
ObFrameContext frame_context_from_string(char *name)
{
- if (!g_ascii_strcasecmp("root", name))
- return OB_FRAME_CONTEXT_ROOT;
+ if (!g_ascii_strcasecmp("desktop", name))
+ return OB_FRAME_CONTEXT_DESKTOP;
else if (!g_ascii_strcasecmp("client", name))
return OB_FRAME_CONTEXT_CLIENT;
else if (!g_ascii_strcasecmp("titlebar", name))
{
ObFrame *self;
- if (win == RootWindow(ob_display, ob_screen)) return OB_FRAME_CONTEXT_ROOT;
+ if (win == RootWindow(ob_display, ob_screen))
+ return OB_FRAME_CONTEXT_DESKTOP;
if (client == NULL) return OB_FRAME_CONTEXT_NONE;
if (win == client->window) {
- /* conceptually, this is the root window, as far as users are
+ /* conceptually, this is the desktop, as far as users are
concerned */
if (client->type == OB_CLIENT_TYPE_DESKTOP)
- return OB_FRAME_CONTEXT_ROOT;
+ return OB_FRAME_CONTEXT_DESKTOP;
return OB_FRAME_CONTEXT_CLIENT;
}
self = client->frame;
if (win == self->plate) {
- /* conceptually, this is the root window, as far as users are
+ /* conceptually, this is the desktop, as far as users are
concerned */
if (client->type == OB_CLIENT_TYPE_DESKTOP)
- return OB_FRAME_CONTEXT_ROOT;
+ return OB_FRAME_CONTEXT_DESKTOP;
return OB_FRAME_CONTEXT_CLIENT;
}