when undecorated and keepborder is on, show only the outside border not the clientborder
authorDana Jansens <danakj@orodu.net>
Mon, 11 Jun 2007 18:56:19 +0000 (18:56 +0000)
committerDana Jansens <danakj@orodu.net>
Mon, 11 Jun 2007 18:56:19 +0000 (18:56 +0000)
openbox/client.c
openbox/frame.c

index 15b6135..5faeacc 100644 (file)
@@ -1708,12 +1708,8 @@ void client_setup_decor_and_functions(ObClient *self, gboolean reconfig)
 
     /* finally, the user can have requested no decorations, which overrides
        everything (but doesnt give it a border if it doesnt have one) */
-    if (self->undecorated) {
-        if (config_theme_keepborder)
-            self->decorations &= OB_FRAME_DECOR_BORDER;
-        else
-            self->decorations = 0;
-    }
+    if (self->undecorated)
+        self->decorations = 0;
 
     /* if we don't have a titlebar, then we cannot shade! */
     if (!(self->decorations & OB_FRAME_DECOR_TITLEBAR))
index c30415d..5b8e52f 100644 (file)
@@ -335,14 +335,18 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
         self->max_horz = self->client->max_horz;
         self->max_vert = self->client->max_vert;
 
-        if (self->decorations & OB_FRAME_DECOR_BORDER) {
+        if (self->decorations & OB_FRAME_DECOR_BORDER ||
+            (self->client->undecorated && config_theme_keepborder))
             self->bwidth = ob_rr_theme->fbwidth;
+        else
+            self->bwidth = 0;
+
+        if (self->decorations & OB_FRAME_DECOR_BORDER) {
             self->cbwidth_l = self->cbwidth_r = ob_rr_theme->cbwidthx;
             self->cbwidth_t = self->cbwidth_b = ob_rr_theme->cbwidthy;
-        } else {
-            self->bwidth = self->cbwidth_l = self->cbwidth_t =
+        } else
+            self->cbwidth_l = self->cbwidth_t =
                 self->cbwidth_r = self->cbwidth_b = 0;
-        }
 
         if (self->max_horz) {
             self->cbwidth_l = self->cbwidth_r = 0;