summaryrefslogtreecommitdiff
path: root/openbox/frame.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbox/frame.c')
-rw-r--r--openbox/frame.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/openbox/frame.c b/openbox/frame.c
index fcad427b..f390887a 100644
--- a/openbox/frame.c
+++ b/openbox/frame.c
@@ -579,18 +579,24 @@ static void layout_title(ObFrame *self)
break;
case 'D':
if (d) { *lc = ' '; break; }
+ if (!(self->decorations & OB_FRAME_DECOR_ALLDESKTOPS) && config_theme_hidedisabled)
+ break;
d = TRUE;
self->label_width -= (ob_rr_theme->button_size +
ob_rr_theme->padding + 1);
break;
case 'S':
if (s) { *lc = ' '; break; }
+ if (!(self->decorations & OB_FRAME_DECOR_SHADE) && config_theme_hidedisabled)
+ break;
s = TRUE;
self->label_width -= (ob_rr_theme->button_size +
ob_rr_theme->padding + 1);
break;
case 'I':
if (i) { *lc = ' '; break; }
+ if (!(self->decorations & OB_FRAME_DECOR_ICONIFY) && config_theme_hidedisabled)
+ break;
i = TRUE;
self->label_width -= (ob_rr_theme->button_size +
ob_rr_theme->padding + 1);
@@ -601,12 +607,16 @@ static void layout_title(ObFrame *self)
break;
case 'M':
if (m) { *lc = ' '; break; }
+ if (!(self->decorations & OB_FRAME_DECOR_MAXIMIZE) && config_theme_hidedisabled)
+ break;
m = TRUE;
self->label_width -= (ob_rr_theme->button_size +
ob_rr_theme->padding + 1);
break;
case 'C':
if (c) { *lc = ' '; break; }
+ if (!(self->decorations & OB_FRAME_DECOR_CLOSE) && config_theme_hidedisabled)
+ break;
c = TRUE;
self->label_width -= (ob_rr_theme->button_size +
ob_rr_theme->padding + 1);