summaryrefslogtreecommitdiff
path: root/openbox/frame.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-04-24 00:00:11 +0000
committerDana Jansens <danakj@orodu.net>2007-04-24 00:00:11 +0000
commit5316bc6c3e3329dc620cfd15d472ed5d376100f8 (patch)
tree8eb218b419cfa114dc3f530daae6b1b11dfb26d1 /openbox/frame.c
parent1a005d729155015be614ccb86b596020c99ae712 (diff)
1. remove some old event handling that was not used at all. yay less bandwidth.
2. make the client padding color show during resizes with drawContents off
Diffstat (limited to 'openbox/frame.c')
-rw-r--r--openbox/frame.c36
1 files changed, 19 insertions, 17 deletions
diff --git a/openbox/frame.c b/openbox/frame.c
index 4d32064c..d18a7aa4 100644
--- a/openbox/frame.c
+++ b/openbox/frame.c
@@ -32,10 +32,9 @@
#define PLATE_EVENTMASK (SubstructureRedirectMask | ButtonPressMask | \
FocusChangeMask)
#define FRAME_EVENTMASK (EnterWindowMask | LeaveWindowMask | \
- ButtonPressMask | ButtonReleaseMask | \
- VisibilityChangeMask)
+ ButtonPressMask | ButtonReleaseMask)
#define ELEMENT_EVENTMASK (ButtonPressMask | ButtonReleaseMask | \
- ButtonMotionMask | ExposureMask | \
+ ButtonMotionMask | \
EnterWindowMask | LeaveWindowMask)
#define FRAME_HANDLE_Y(f) (f->innersize.top + f->client->area.height + \
@@ -81,8 +80,6 @@ ObFrame *frame_new(ObClient *client)
self = g_new0(ObFrame, 1);
- self->obscured = TRUE;
-
visual = check_32bit_client(client);
/* create the non-visible decor windows */
@@ -103,6 +100,12 @@ ObFrame *frame_new(ObClient *client)
self->window = createWindow(RootWindow(ob_display, ob_screen), visual,
mask, &attrib);
+ attrib.event_mask = ELEMENT_EVENTMASK;
+ self->inner = createWindow(self->window, visual, mask, &attrib);
+
+ mask &= ~CWEventMask;
+ self->plate = createWindow(self->inner, visual, mask, &attrib);
+
/* create the visible decor windows */
if (visual) {
@@ -111,7 +114,6 @@ ObFrame *frame_new(ObClient *client)
attrib.colormap = RrColormap(ob_rr_inst);
}
attrib.event_mask = ELEMENT_EVENTMASK;
- self->inner = createWindow(self->window, NULL, mask, &attrib);
self->title = createWindow(self->window, NULL, mask, &attrib);
mask |= CWCursor;
@@ -138,11 +140,6 @@ ObFrame *frame_new(ObClient *client)
attrib.cursor = ob_cursor(OB_CURSOR_SOUTHEAST);
self->rgrip = createWindow(self->handle, NULL, mask, &attrib);
- /* create the plate window which holds the client */
-
- mask &= ~(CWEventMask | CWCursor);
- self->plate = createWindow(self->inner, visual, mask, &attrib);
-
self->focused = FALSE;
/* the other stuff is shown based on decor settings */
@@ -435,12 +432,10 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
self->client->area.height +
self->cbwidth_y * 2);
- /* move and resize the plate */
- XMoveResizeWindow(ob_display, self->plate,
- self->cbwidth_x,
- self->cbwidth_y,
- self->client->area.width,
- self->client->area.height);
+ /* move the plate */
+ XMoveWindow(ob_display, self->plate,
+ self->cbwidth_x, self->cbwidth_y);
+
/* when the client has StaticGravity, it likes to move around. */
XMoveWindow(ob_display, self->client->window, 0, 0);
}
@@ -514,6 +509,13 @@ void frame_adjust_focus(ObFrame *self, gboolean hilite)
XFlush(ob_display);
}
+void frame_adjust_client_area(ObFrame *self)
+{
+ /* resize the plate */
+ XResizeWindow(ob_display, self->plate,
+ self->client->area.width, self->client->area.height);
+}
+
void frame_adjust_title(ObFrame *self)
{
framerender_frame(self);