summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-20 06:45:02 +0000
committerDana Jansens <danakj@orodu.net>2007-05-20 06:45:02 +0000
commit1b7c2dac9ed1f77e1b89c8c99e605a5c7d986f2c (patch)
tree241dad6e65056416cf2081f9d8620fea06a88b51
parent0353b979c66bc07432296d80acc61b6bbef5f623 (diff)
draw the handle without borders
-rw-r--r--openbox/frame.c288
-rw-r--r--openbox/frame.h14
-rw-r--r--openbox/framerender.c34
3 files changed, 255 insertions, 81 deletions
diff --git a/openbox/frame.c b/openbox/frame.c
index 4717d6ec..423ff802 100644
--- a/openbox/frame.c
+++ b/openbox/frame.c
@@ -144,8 +144,8 @@ ObFrame *frame_new(ObClient *client)
self->trtresize = createWindow(self->title, NULL, mask, &attrib);
self->trrresize = createWindow(self->title, NULL, mask, &attrib);
- self->leftresize = createWindow(self->window, NULL, mask, &attrib);
- self->rightresize = createWindow(self->window, NULL, mask, &attrib);
+ self->left = createWindow(self->window, NULL, mask, &attrib);
+ self->right = createWindow(self->window, NULL, mask, &attrib);
self->label = createWindow(self->title, NULL, mask, &attrib);
self->max = createWindow(self->title, NULL, mask, &attrib);
@@ -159,13 +159,23 @@ ObFrame *frame_new(ObClient *client)
self->lgrip = createWindow(self->handle, NULL, mask, &attrib);
self->rgrip = createWindow(self->handle, NULL, mask, &attrib);
+ self->handleleft = createWindow(self->handle, NULL, mask, &attrib);
+ self->handleright = createWindow(self->handle, NULL, mask, &attrib);
+
+ self->handletop = createWindow(self->window, NULL, mask, &attrib);
+ self->handlebottom = createWindow(self->window, NULL, mask, &attrib);
+ self->lgripleft = createWindow(self->window, NULL, mask, &attrib);
+ self->lgriptop = createWindow(self->window, NULL, mask, &attrib);
+ self->lgripbottom = createWindow(self->window, NULL, mask, &attrib);
+ self->rgripright = createWindow(self->window, NULL, mask, &attrib);
+ self->rgriptop = createWindow(self->window, NULL, mask, &attrib);
+ self->rgripbottom = createWindow(self->window, NULL, mask, &attrib);
+
self->focused = FALSE;
/* the other stuff is shown based on decor settings */
XMapWindow(ob_display, self->plate);
XMapWindow(ob_display, self->inner);
- XMapWindow(ob_display, self->lgrip);
- XMapWindow(ob_display, self->rgrip);
XMapWindow(ob_display, self->label);
self->max_press = self->close_press = self->desk_press =
@@ -182,12 +192,6 @@ static void set_theme_statics(ObFrame *self)
{
gint handle_height;
- if (ob_rr_theme->handle_height > 0)
- handle_height = ob_rr_theme->handle_height;
- else
- handle_height = 1;
-
-
/* set colors/appearance/sizes for stuff that doesn't change */
XResizeWindow(ob_display, self->max,
ob_rr_theme->button_size, ob_rr_theme->button_size);
@@ -201,10 +205,6 @@ static void set_theme_statics(ObFrame *self)
ob_rr_theme->button_size, ob_rr_theme->button_size);
XResizeWindow(ob_display, self->shade,
ob_rr_theme->button_size, ob_rr_theme->button_size);
- XResizeWindow(ob_display, self->lgrip,
- ob_rr_theme->grip_width, handle_height);
- XResizeWindow(ob_display, self->rgrip,
- ob_rr_theme->grip_width, handle_height);
XResizeWindow(ob_display, self->tltresize,
ob_rr_theme->grip_width, ob_rr_theme->paddingy + 1);
XResizeWindow(ob_display, self->trtresize,
@@ -353,13 +353,6 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
self->cbwidth_x + self->bwidth,
self->cbwidth_y + self->bwidth);
- /* set border widths */
- if (!fake) {
- XSetWindowBorderWidth(ob_display, self->handle, self->bwidth);
- XSetWindowBorderWidth(ob_display, self->lgrip, self->bwidth);
- XSetWindowBorderWidth(ob_display, self->rgrip, self->bwidth);
- }
-
if (self->decorations & OB_FRAME_DECOR_TITLEBAR)
self->size.top += ob_rr_theme->title_height + self->bwidth +
(self->bwidth - self->bwidth);
@@ -468,26 +461,135 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
layout_title(self);
if (!fake) {
- if (self->decorations & OB_FRAME_DECOR_HANDLE)
- {
- gint handle_height;
+ if (self->bwidth) {
+ XMoveResizeWindow(ob_display, self->handlebottom,
+ ob_rr_theme->grip_width +
+ self->bwidth * 2,
+ self->size.top + self->client->area.height +
+ self->size.bottom - self->bwidth,
+ self->width - (ob_rr_theme->grip_width +
+ self->bwidth) * 2,
+ self->bwidth);
+
+ XMoveResizeWindow(ob_display, self->lgripleft,
+ 0,
+ self->size.top + self->client->area.height +
+ self->size.bottom -
+ ob_rr_theme->grip_width,
+ self->bwidth,
+ ob_rr_theme->grip_width);
+ XMoveResizeWindow(ob_display, self->rgripright,
+ self->size.left + self->client->area.width +
+ self->size.right - self->bwidth,
+ self->size.top + self->client->area.height +
+ self->size.bottom -
+ ob_rr_theme->grip_width,
+ self->bwidth,
+ ob_rr_theme->grip_width);
- if (ob_rr_theme->handle_height > 0)
- handle_height = ob_rr_theme->handle_height;
- else
- handle_height = 1;
+ XMoveResizeWindow(ob_display, self->lgripbottom,
+ self->bwidth,
+ self->size.top + self->client->area.height +
+ self->size.bottom - self->bwidth,
+ ob_rr_theme->grip_width + self->bwidth,
+ self->bwidth);
+ XMoveResizeWindow(ob_display, self->rgripbottom,
+ self->size.left + self->client->area.width +
+ self->size.right - self->bwidth * 2 -
+ ob_rr_theme->grip_width,
+ self->size.top + self->client->area.height +
+ self->size.bottom - self->bwidth,
+ ob_rr_theme->grip_width + self->bwidth,
+ self->bwidth);
+
+ XMapWindow(ob_display, self->handlebottom);
+ XMapWindow(ob_display, self->lgripleft);
+ XMapWindow(ob_display, self->rgripright);
+ XMapWindow(ob_display, self->lgripbottom);
+ XMapWindow(ob_display, self->rgripbottom);
+
+ if (self->decorations & OB_FRAME_DECOR_HANDLE &&
+ ob_rr_theme->handle_height > 0)
+ {
+ XMoveResizeWindow(ob_display, self->handletop,
+ ob_rr_theme->grip_width +
+ self->bwidth * 2,
+ FRAME_HANDLE_Y(self),
+ self->width - (ob_rr_theme->grip_width +
+ self->bwidth) * 2,
+ self->bwidth);
+ XMapWindow(ob_display, self->handletop);
+
+ if (self->decorations & OB_FRAME_DECOR_GRIPS) {
+ XMoveResizeWindow(ob_display, self->handleleft,
+ ob_rr_theme->grip_width,
+ 0,
+ self->bwidth,
+ ob_rr_theme->handle_height);
+ XMoveResizeWindow(ob_display, self->handleright,
+ self->width -
+ ob_rr_theme->grip_width -
+ self->bwidth,
+ 0,
+ self->bwidth,
+ ob_rr_theme->handle_height);
+
+ XMoveResizeWindow(ob_display, self->lgriptop,
+ self->bwidth,
+ FRAME_HANDLE_Y(self),
+ ob_rr_theme->grip_width +
+ self->bwidth,
+ self->bwidth);
+ XMoveResizeWindow(ob_display, self->rgriptop,
+ self->size.left +
+ self->client->area.width +
+ self->size.right - self->bwidth * 2 -
+ ob_rr_theme->grip_width,
+ FRAME_HANDLE_Y(self),
+ ob_rr_theme->grip_width +
+ self->bwidth,
+ self->bwidth);
+
+ XMapWindow(ob_display, self->handleleft);
+ XMapWindow(ob_display, self->handleright);
+ XMapWindow(ob_display, self->lgriptop);
+ XMapWindow(ob_display, self->rgriptop);
+ } else {
+ XUnmapWindow(ob_display, self->handleleft);
+ XUnmapWindow(ob_display, self->handleright);
+ XUnmapWindow(ob_display, self->lgriptop);
+ XUnmapWindow(ob_display, self->rgriptop);
+ }
+ } else
+ XUnmapWindow(ob_display, self->handletop);
+ } else {
+ XUnmapWindow(ob_display, self->handlebottom);
+ XUnmapWindow(ob_display, self->lgripleft);
+ XUnmapWindow(ob_display, self->rgripright);
+ XUnmapWindow(ob_display, self->lgripbottom);
+ XUnmapWindow(ob_display, self->rgripbottom);
+ }
+ if (self->decorations & OB_FRAME_DECOR_HANDLE &&
+ ob_rr_theme->handle_height > 0)
+ {
XMoveResizeWindow(ob_display, self->handle,
- 0, FRAME_HANDLE_Y(self),
- self->width, handle_height);
+ self->bwidth,
+ FRAME_HANDLE_Y(self) + self->bwidth,
+ self->width, ob_rr_theme->handle_height);
XMapWindow(ob_display, self->handle);
if (self->decorations & OB_FRAME_DECOR_GRIPS) {
- XMoveWindow(ob_display, self->lgrip,
- -self->bwidth, -self->bwidth);
- XMoveWindow(ob_display, self->rgrip,
- -self->bwidth + self->width -
- ob_rr_theme->grip_width, -self->bwidth);
+ XMoveResizeWindow(ob_display, self->lgrip,
+ 0, 0,
+ ob_rr_theme->grip_width,
+ ob_rr_theme->handle_height);
+ XMoveResizeWindow(ob_display, self->rgrip,
+ self->width - ob_rr_theme->grip_width,
+ 0,
+ ob_rr_theme->grip_width,
+ ob_rr_theme->handle_height);
+
XMapWindow(ob_display, self->lgrip);
XMapWindow(ob_display, self->rgrip);
} else {
@@ -498,25 +600,27 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
XUnmapWindow(ob_display, self->handle);
if (self->bwidth && !self->max_horz) {
- XMoveResizeWindow(ob_display, self->leftresize,
+ XMoveResizeWindow(ob_display, self->left,
0,
self->bwidth + ob_rr_theme->grip_width,
self->bwidth,
self->client->area.height +
- self->cbwidth_y * 2);
- XMoveResizeWindow(ob_display, self->rightresize,
+ self->size.top + self->size.bottom -
+ ob_rr_theme->grip_width * 2);
+ XMoveResizeWindow(ob_display, self->right,
self->client->area.width +
self->cbwidth_x * 2 + self->bwidth,
self->bwidth + ob_rr_theme->grip_width,
self->bwidth,
self->client->area.height +
- self->cbwidth_y * 2);
+ self->size.top + self->size.bottom -
+ ob_rr_theme->grip_width * 2);
- XMapWindow(ob_display, self->leftresize);
- XMapWindow(ob_display, self->rightresize);
+ XMapWindow(ob_display, self->left);
+ XMapWindow(ob_display, self->right);
} else {
- XUnmapWindow(ob_display, self->leftresize);
- XUnmapWindow(ob_display, self->rightresize);
+ XUnmapWindow(ob_display, self->left);
+ XUnmapWindow(ob_display, self->right);
}
/* move and resize the inner border window which contains the plate
@@ -619,15 +723,25 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
XChangeWindowAttributes(ob_display, self->titletopright, CWCursor, &a);
XChangeWindowAttributes(ob_display, self->titleright, CWCursor, &a);
a.cursor = ob_cursor(r ? OB_CURSOR_WEST : OB_CURSOR_NONE);
- XChangeWindowAttributes(ob_display, self->leftresize, CWCursor, &a);
+ XChangeWindowAttributes(ob_display, self->left, CWCursor, &a);
a.cursor = ob_cursor(r ? OB_CURSOR_EAST : OB_CURSOR_NONE);
- XChangeWindowAttributes(ob_display, self->rightresize, CWCursor, &a);
+ XChangeWindowAttributes(ob_display, self->right, CWCursor, &a);
a.cursor = ob_cursor(r ? OB_CURSOR_SOUTH : OB_CURSOR_NONE);
XChangeWindowAttributes(ob_display, self->handle, CWCursor, &a);
+ XChangeWindowAttributes(ob_display, self->handletop, CWCursor, &a);
+ XChangeWindowAttributes(ob_display, self->handlebottom, CWCursor, &a);
a.cursor = ob_cursor(r ? OB_CURSOR_SOUTHWEST : OB_CURSOR_NONE);
XChangeWindowAttributes(ob_display, self->lgrip, CWCursor, &a);
+ XChangeWindowAttributes(ob_display, self->handleleft, CWCursor, &a);
+ XChangeWindowAttributes(ob_display, self->lgripleft, CWCursor, &a);
+ XChangeWindowAttributes(ob_display, self->lgriptop, CWCursor, &a);
+ XChangeWindowAttributes(ob_display, self->lgripbottom, CWCursor, &a);
a.cursor = ob_cursor(r ? OB_CURSOR_SOUTHEAST : OB_CURSOR_NONE);
XChangeWindowAttributes(ob_display, self->rgrip, CWCursor, &a);
+ XChangeWindowAttributes(ob_display, self->handleright, CWCursor, &a);
+ XChangeWindowAttributes(ob_display, self->rgripright, CWCursor, &a);
+ XChangeWindowAttributes(ob_display, self->rgriptop, CWCursor, &a);
+ XChangeWindowAttributes(ob_display, self->rgripbottom, CWCursor, &a);
self->functions = self->client->functions;
}
@@ -705,14 +819,24 @@ void frame_grab_client(ObFrame *self)
g_hash_table_insert(window_map, &self->tllresize, self->client);
g_hash_table_insert(window_map, &self->trtresize, self->client);
g_hash_table_insert(window_map, &self->trrresize, self->client);
- g_hash_table_insert(window_map, &self->leftresize, self->client);
- g_hash_table_insert(window_map, &self->rightresize, self->client);
+ g_hash_table_insert(window_map, &self->left, self->client);
+ g_hash_table_insert(window_map, &self->right, self->client);
g_hash_table_insert(window_map, &self->titleleft, self->client);
g_hash_table_insert(window_map, &self->titletop, self->client);
g_hash_table_insert(window_map, &self->titletopleft, self->client);
g_hash_table_insert(window_map, &self->titletopright, self->client);
g_hash_table_insert(window_map, &self->titleright, self->client);
g_hash_table_insert(window_map, &self->titlebottom, self->client);
+ g_hash_table_insert(window_map, &self->handleleft, self->client);
+ g_hash_table_insert(window_map, &self->handletop, self->client);
+ g_hash_table_insert(window_map, &self->handleright, self->client);
+ g_hash_table_insert(window_map, &self->handlebottom, self->client);
+ g_hash_table_insert(window_map, &self->lgripleft, self->client);
+ g_hash_table_insert(window_map, &self->lgriptop, self->client);
+ g_hash_table_insert(window_map, &self->lgripbottom, self->client);
+ g_hash_table_insert(window_map, &self->rgripright, self->client);
+ g_hash_table_insert(window_map, &self->rgriptop, self->client);
+ g_hash_table_insert(window_map, &self->rgripbottom, self->client);
}
void frame_release_client(ObFrame *self)
@@ -771,14 +895,24 @@ void frame_release_client(ObFrame *self)
g_hash_table_remove(window_map, &self->tllresize);
g_hash_table_remove(window_map, &self->trtresize);
g_hash_table_remove(window_map, &self->trrresize);
- g_hash_table_remove(window_map, &self->leftresize);
- g_hash_table_remove(window_map, &self->rightresize);
+ g_hash_table_remove(window_map, &self->left);
+ g_hash_table_remove(window_map, &self->right);
g_hash_table_remove(window_map, &self->titleleft);
g_hash_table_remove(window_map, &self->titletop);
g_hash_table_remove(window_map, &self->titletopleft);
g_hash_table_remove(window_map, &self->titletopright);
g_hash_table_remove(window_map, &self->titleright);
g_hash_table_remove(window_map, &self->titlebottom);
+ g_hash_table_remove(window_map, &self->handleleft);
+ g_hash_table_remove(window_map, &self->handletop);
+ g_hash_table_remove(window_map, &self->handleright);
+ g_hash_table_remove(window_map, &self->handlebottom);
+ g_hash_table_remove(window_map, &self->lgripleft);
+ g_hash_table_remove(window_map, &self->lgriptop);
+ g_hash_table_remove(window_map, &self->lgripbottom);
+ g_hash_table_remove(window_map, &self->rgripright);
+ g_hash_table_remove(window_map, &self->rgriptop);
+ g_hash_table_remove(window_map, &self->rgripbottom);
ob_main_loop_timeout_remove_data(ob_main_loop, flash_timeout, self, TRUE);
}
@@ -1045,29 +1179,39 @@ ObFrameContext frame_context(ObClient *client, Window win, gint x, gint y)
return OB_FRAME_CONTEXT_TITLEBAR;
}
- if (win == self->window) return OB_FRAME_CONTEXT_FRAME;
- if (win == self->label) return OB_FRAME_CONTEXT_TITLEBAR;
- if (win == self->handle) return OB_FRAME_CONTEXT_BOTTOM;
- if (win == self->lgrip) return OB_FRAME_CONTEXT_BLCORNER;
- if (win == self->rgrip) return OB_FRAME_CONTEXT_BRCORNER;
- if (win == self->titletop) return OB_FRAME_CONTEXT_TOP;
- if (win == self->topresize) return OB_FRAME_CONTEXT_TOP;
- if (win == self->tltresize) return OB_FRAME_CONTEXT_TLCORNER;
- if (win == self->tllresize) return OB_FRAME_CONTEXT_TLCORNER;
- if (win == self->titleleft) return OB_FRAME_CONTEXT_TLCORNER;
- if (win == self->titletopleft) return OB_FRAME_CONTEXT_TLCORNER;
- if (win == self->trtresize) return OB_FRAME_CONTEXT_TRCORNER;
- if (win == self->trrresize) return OB_FRAME_CONTEXT_TRCORNER;
- if (win == self->titleright) return OB_FRAME_CONTEXT_TRCORNER;
- if (win == self->titletopright) return OB_FRAME_CONTEXT_TRCORNER;
- if (win == self->leftresize) return OB_FRAME_CONTEXT_LEFT;
- if (win == self->rightresize) return OB_FRAME_CONTEXT_RIGHT;
- if (win == self->max) return OB_FRAME_CONTEXT_MAXIMIZE;
- if (win == self->iconify) return OB_FRAME_CONTEXT_ICONIFY;
- if (win == self->close) return OB_FRAME_CONTEXT_CLOSE;
- if (win == self->icon) return OB_FRAME_CONTEXT_ICON;
- if (win == self->desk) return OB_FRAME_CONTEXT_ALLDESKTOPS;
- if (win == self->shade) return OB_FRAME_CONTEXT_SHADE;
+ if (win == self->window) return OB_FRAME_CONTEXT_FRAME;
+ if (win == self->label) return OB_FRAME_CONTEXT_TITLEBAR;
+ if (win == self->handle) return OB_FRAME_CONTEXT_BOTTOM;
+ if (win == self->handletop) return OB_FRAME_CONTEXT_BOTTOM;
+ if (win == self->handlebottom) return OB_FRAME_CONTEXT_BOTTOM;
+ if (win == self->handleleft) return OB_FRAME_CONTEXT_BLCORNER;
+ if (win == self->lgrip) return OB_FRAME_CONTEXT_BLCORNER;
+ if (win == self->lgripleft) return OB_FRAME_CONTEXT_BLCORNER;
+ if (win == self->lgriptop) return OB_FRAME_CONTEXT_BLCORNER;
+ if (win == self->lgripbottom) return OB_FRAME_CONTEXT_BLCORNER;
+ if (win == self->handleright) return OB_FRAME_CONTEXT_BRCORNER;
+ if (win == self->rgrip) return OB_FRAME_CONTEXT_BRCORNER;
+ if (win == self->rgripright) return OB_FRAME_CONTEXT_BLCORNER;
+ if (win == self->rgriptop) return OB_FRAME_CONTEXT_BLCORNER;
+ if (win == self->rgripbottom) return OB_FRAME_CONTEXT_BLCORNER;
+ if (win == self->titletop) return OB_FRAME_CONTEXT_TOP;
+ if (win == self->topresize) return OB_FRAME_CONTEXT_TOP;
+ if (win == self->tltresize) return OB_FRAME_CONTEXT_TLCORNER;
+ if (win == self->tllresize) return OB_FRAME_CONTEXT_TLCORNER;
+ if (win == self->titleleft) return OB_FRAME_CONTEXT_TLCORNER;
+ if (win == self->titletopleft) return OB_FRAME_CONTEXT_TLCORNER;
+ if (win == self->trtresize) return OB_FRAME_CONTEXT_TRCORNER;
+ if (win == self->trrresize) return OB_FRAME_CONTEXT_TRCORNER;
+ if (win == self->titleright) return OB_FRAME_CONTEXT_TRCORNER;
+ if (win == self->titletopright) return OB_FRAME_CONTEXT_TRCORNER;
+ if (win == self->left) return OB_FRAME_CONTEXT_LEFT;
+ if (win == self->right) return OB_FRAME_CONTEXT_RIGHT;
+ if (win == self->max) return OB_FRAME_CONTEXT_MAXIMIZE;
+ if (win == self->iconify) return OB_FRAME_CONTEXT_ICONIFY;
+ if (win == self->close) return OB_FRAME_CONTEXT_CLOSE;
+ if (win == self->icon) return OB_FRAME_CONTEXT_ICON;
+ if (win == self->desk) return OB_FRAME_CONTEXT_ALLDESKTOPS;
+ if (win == self->shade) return OB_FRAME_CONTEXT_SHADE;
return OB_FRAME_CONTEXT_NONE;
}
diff --git a/openbox/frame.h b/openbox/frame.h
index cf7c7e20..956c0258 100644
--- a/openbox/frame.h
+++ b/openbox/frame.h
@@ -107,8 +107,18 @@ struct _ObFrame
Window titletopright;
Window titleright;
Window titlebottom;
- Window leftresize;
- Window rightresize;
+ Window left;
+ Window right;
+ Window handleleft;
+ Window handletop;
+ Window handleright;
+ Window handlebottom;
+ Window lgriptop;
+ Window lgripleft;
+ Window lgripbottom;
+ Window rgriptop;
+ Window rgripright;
+ Window rgripbottom;
/* These are resize handles inside the titlebar */
Window topresize;
diff --git a/openbox/framerender.c b/openbox/framerender.c
index e4f945a0..5fdc8a95 100644
--- a/openbox/framerender.c
+++ b/openbox/framerender.c
@@ -46,14 +46,11 @@ void framerender_frame(ObFrame *self)
px = (self->focused ?
RrColorPixel(ob_rr_theme->frame_focused_border_color) :
RrColorPixel(ob_rr_theme->frame_unfocused_border_color));
- XSetWindowBorder(ob_display, self->handle, px);
- XSetWindowBorder(ob_display, self->rgrip, px);
- XSetWindowBorder(ob_display, self->lgrip, px);
- XSetWindowBackground(ob_display, self->leftresize, px);
- XClearWindow(ob_display, self->leftresize);
- XSetWindowBackground(ob_display, self->rightresize, px);
- XClearWindow(ob_display, self->rightresize);
+ XSetWindowBackground(ob_display, self->left, px);
+ XClearWindow(ob_display, self->left);
+ XSetWindowBackground(ob_display, self->right, px);
+ XClearWindow(ob_display, self->right);
XSetWindowBackground(ob_display, self->titleleft, px);
XClearWindow(ob_display, self->titleleft);
@@ -67,6 +64,29 @@ void framerender_frame(ObFrame *self)
XClearWindow(ob_display, self->titleright);
XSetWindowBackground(ob_display, self->titlebottom, px);
XClearWindow(ob_display, self->titlebottom);
+
+ XSetWindowBackground(ob_display, self->handleleft, px);
+ XClearWindow(ob_display, self->handleleft);
+ XSetWindowBackground(ob_display, self->handletop, px);
+ XClearWindow(ob_display, self->handletop);
+ XSetWindowBackground(ob_display, self->handleright, px);
+ XClearWindow(ob_display, self->handleright);
+ XSetWindowBackground(ob_display, self->handlebottom, px);
+ XClearWindow(ob_display, self->handlebottom);
+
+ XSetWindowBackground(ob_display, self->lgripleft, px);
+ XClearWindow(ob_display, self->lgripleft);
+ XSetWindowBackground(ob_display, self->lgriptop, px);
+ XClearWindow(ob_display, self->lgriptop);
+ XSetWindowBackground(ob_display, self->lgripbottom, px);
+ XClearWindow(ob_display, self->lgripbottom);
+
+ XSetWindowBackground(ob_display, self->rgripright, px);
+ XClearWindow(ob_display, self->rgripright);
+ XSetWindowBackground(ob_display, self->rgriptop, px);
+ XClearWindow(ob_display, self->rgriptop);
+ XSetWindowBackground(ob_display, self->rgripbottom, px);
+ XClearWindow(ob_display, self->rgripbottom);
}
if (self->decorations & OB_FRAME_DECOR_TITLEBAR) {