summaryrefslogtreecommitdiff
path: root/openbox/client.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-28 23:15:51 +0000
committerDana Jansens <danakj@orodu.net>2007-05-28 23:15:51 +0000
commitba2de2d512de0a2f19081ed76c550382e5af7294 (patch)
tree3074e09067e8b2339ffe85b357a8573cc7013b74 /openbox/client.c
parent56b01b73a808ccf51991a0aeb5362d5eb6bbfaaa (diff)
give the client a 0 border again.
Diffstat (limited to 'openbox/client.c')
-rw-r--r--openbox/client.c39
1 files changed, 12 insertions, 27 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 48f5d2a9..a2f69d18 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -358,6 +358,9 @@ void client_manage(Window window)
activate = TRUE;
}
+ /* remove the client's border */
+ XSetWindowBorderWidth(ob_display, self->window, 0);
+
/* adjust the frame to the client's size before showing or placing
the window */
frame_adjust_area(self->frame, FALSE, TRUE, FALSE);
@@ -713,6 +716,9 @@ void client_unmanage(ObClient *self)
self->functions = OB_CLIENT_FUNC_MOVE | OB_CLIENT_FUNC_RESIZE;
self->decorations = 0; /* unmanaged windows have no decor */
+ /* give the client its border back */
+ XSetWindowBorderWidth(ob_display, self->window, self->border_width);
+
client_move_resize(self, a.x, a.y, a.width, a.height);
}
@@ -1810,7 +1816,7 @@ void client_reconfigure(ObClient *self)
{
client_configure(self, self->area.x, self->area.y,
self->area.width, self->area.height,
- self->border_width, FALSE, TRUE);
+ FALSE, TRUE);
}
void client_update_wmhints(ObClient *self)
@@ -2568,7 +2574,7 @@ static void client_apply_startup_state(ObClient *self,
do this before applying the states so they have the correct
pre-max/pre-fullscreen values
*/
- client_configure(self, x, y, w, h, self->border_width, FALSE, TRUE);
+ client_configure(self, x, y, w, h, FALSE, TRUE);
ob_debug("placed window 0x%x at %d, %d with size %d x %d\n",
self->window, self->area.x, self->area.y,
self->area.width, self->area.height);
@@ -2818,7 +2824,7 @@ void client_try_configure(ObClient *self, gint *x, gint *y, gint *w, gint *h,
}
-void client_configure(ObClient *self, gint x, gint y, gint w, gint h, gint b,
+void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
gboolean user, gboolean final)
{
gint oldw, oldh;
@@ -2839,13 +2845,11 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h, gint b,
/* figure out if we moved or resized or what */
moved = x != self->area.x || y != self->area.y;
- resized = w != self->area.width || h != self->area.height ||
- b != self->border_width;
+ resized = w != self->area.width || h != self->area.height;
oldw = self->area.width;
oldh = self->area.height;
RECT_SET(self->area, x, y, w, h);
- self->border_width = b;
/* for app-requested resizes, always resize if 'resized' is true.
for user-requested ones, only resize if final is true, or when
@@ -2856,16 +2860,7 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h, gint b,
/* if the client is enlarging, then resize the client before the frame */
if (send_resize_client && (w > oldw || h > oldh)) {
- XWindowChanges changes;
- changes.x = self->frame->size.left - self->border_width;
- changes.y = self->frame->size.top -self->border_width;
- changes.width = MAX(w, oldw);
- changes.height = MAX(h, oldh);
- changes.border_width = self->border_width;
- XConfigureWindow(ob_display, self->window,
- CWX|CWY|CWWidth|CWHeight|CWBorderWidth,
- &changes);
-
+ XResizeWindow(ob_display, self->window, MAX(w, oldw), MAX(h, oldh));
frame_adjust_client_area(self->frame);
}
@@ -2918,18 +2913,8 @@ void client_configure(ObClient *self, gint x, gint y, gint w, gint h, gint b,
/* if the client is shrinking, then resize the frame before the client */
if (send_resize_client && (w <= oldw && h <= oldh)) {
- XWindowChanges changes;
-
frame_adjust_client_area(self->frame);
-
- changes.x = self->frame->size.left - self->border_width;
- changes.y = self->frame->size.top -self->border_width;
- changes.width = w;
- changes.height = h;
- changes.border_width = self->border_width;
- XConfigureWindow(ob_display, self->window,
- CWX|CWY|CWWidth|CWHeight|CWBorderWidth,
- &changes);
+ XResizeWindow(ob_display, self->window, w, h);
}
XFlush(ob_display);