move the titlebar layout from the theme to the rc file
Dana Jansens danakj@orodu.net
6 files changed,
15 insertions(+),
12 deletions(-)
M
openbox/config.c
→
openbox/config.c
@@ -9,6 +9,8 @@ gboolean config_focus_popup;
char *config_theme; +gchar *config_title_layout; + int config_desktops_num; GSList *config_desktops_names;@@ -51,6 +53,10 @@
if ((n = parse_find_node("theme", node))) { g_free(config_theme); config_theme = parse_string(doc, n); + } + if ((n = parse_find_node("titlelayout", node))) { + g_free(config_title_layout); + config_title_layout = parse_string(doc, n); } }@@ -163,6 +169,8 @@
parse_register("focus", parse_focus, NULL); config_theme = NULL; + + config_title_layout = g_strdup("NLIMC"); parse_register("theme", parse_theme, NULL);
M
openbox/config.h
→
openbox/config.h
@@ -47,6 +47,9 @@
/* The name of the theme */ char *config_theme; +/* Titlebar button layout */ +gchar *config_title_layout; + /*! The number of desktops */ extern int config_desktops_num; /*! Names for the desktops */
M
openbox/frame.c
→
openbox/frame.c
@@ -2,6 +2,7 @@ #include "frame.h"
#include "client.h" #include "openbox.h" #include "extensions.h" +#include "config.h" #include "framerender.h" #include "render/theme.h"@@ -429,7 +430,7 @@ n = d = i = l = m = c = s = FALSE;
/* figure out whats being shown, and the width of the label */ self->label_width = self->width - (ob_rr_theme->bevel + 1) * 2; - for (lc = ob_rr_theme->title_layout; *lc != '\0'; ++lc) { + for (lc = config_title_layout; *lc != '\0'; ++lc) { switch (*lc) { case 'N': if (n) { *lc = ' '; break; } /* rm duplicates */@@ -487,7 +488,7 @@ if (!m) XUnmapWindow(ob_display, self->max);
if (!c) XUnmapWindow(ob_display, self->close); x = ob_rr_theme->bevel + 1; - for (lc = ob_rr_theme->title_layout; *lc != '\0'; ++lc) { + for (lc = config_title_layout; *lc != '\0'; ++lc) { switch (*lc) { case 'N': if (!n) break;
M
render/theme.c
→
render/theme.c
@@ -133,11 +133,6 @@ else if (!g_ascii_strcasecmp(str, "center"))
mjust = RR_JUSTIFY_CENTER; } - /* load the title layout */ - if (!read_string(db, "window.title.layout", &font_str)) - font_str = "NLIMC"; - theme->title_layout = g_strdup(font_str); - /* load direct dimensions */ if (!read_int(db, "menuOverlap", &theme->menu_overlap) || theme->menu_overlap < 0 || theme->menu_overlap > 20)@@ -731,8 +726,6 @@
RrFontClose(theme->winfont); RrFontClose(theme->mtitlefont); RrFontClose(theme->mfont); - - g_free(theme->title_layout); RrAppearanceFree(theme->a_disabled_focused_max); RrAppearanceFree(theme->a_disabled_unfocused_max);
M
render/theme.h
→
render/theme.h
@@ -49,9 +49,6 @@ RrFont *mtitlefont;
gint mfont_height; RrFont *mfont; - /* style settings - title layout */ - gchar *title_layout; - /* style settings - masks */ RrPixmapMask *max_set_mask; RrPixmapMask *max_unset_mask;