]> Dogcows Code - chaz/openbox/blobdiff - openbox/frame.c
Don't hide submenus immediately when unselecting the parent's entry
[chaz/openbox] / openbox / frame.c
index e4a64bd37ab2bc726d60e142b881a02fd8324313..20697d32a091aa958ed3a0bb3b77e25f92db0ae0 100644 (file)
@@ -23,6 +23,7 @@
 #include "extensions.h"
 #include "prop.h"
 #include "grab.h"
+#include "debug.h"
 #include "config.h"
 #include "framerender.h"
 #include "mainloop.h"
@@ -340,14 +341,14 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
         self->max_vert = self->client->max_vert;
         self->shaded = self->client->shaded;
 
-        if (self->decorations & OB_FRAME_DECOR_BORDER ||
-            (self->client->undecorated && config_theme_keepborder
-             && !self->client->fullscreen))
+        if (self->decorations & OB_FRAME_DECOR_BORDER)
             self->bwidth = ob_rr_theme->fbwidth;
         else
             self->bwidth = 0;
 
-        if (self->decorations & OB_FRAME_DECOR_BORDER) {
+        if (self->decorations & OB_FRAME_DECOR_BORDER &&
+            !self->client->undecorated)
+        {
             self->cbwidth_l = self->cbwidth_r = ob_rr_theme->cbwidthx;
             self->cbwidth_t = self->cbwidth_b = ob_rr_theme->cbwidthy;
         } else
@@ -370,9 +371,7 @@ void frame_adjust_area(ObFrame *self, gboolean moved,
 
         STRUT_SET(self->size,
                   self->cbwidth_l + (!self->max_horz ? self->bwidth : 0),
-                  self->cbwidth_t +
-                  (!self->max_horz || !self->max_vert ||
-                   !self->client->undecorated ? self->bwidth : 0),
+                  self->cbwidth_t + self->bwidth,
                   self->cbwidth_r + (!self->max_horz ? self->bwidth : 0),
                   self->cbwidth_b +
                   (!self->max_horz || !self->max_vert ? self->bwidth : 0));
@@ -950,6 +949,9 @@ void frame_adjust_state(ObFrame *self)
 
 void frame_adjust_focus(ObFrame *self, gboolean hilite)
 {
+    ob_debug_type(OB_DEBUG_FOCUS,
+                  "Frame for 0x%x has focus: %d\n",
+                  self->client->window, hilite);
     self->focused = hilite;
     self->need_render = TRUE;
     framerender_frame(self);
This page took 0.023524 seconds and 4 git commands to generate.