all repos — openbox @ 54ad34a039d5d83d61c481aaef18d1ea7876d36e

openbox fork - make it a bit more like ryudo

move the titlebar layout from the theme to the rc file
Dana Jansens danakj@orodu.net
commit

54ad34a039d5d83d61c481aaef18d1ea7876d36e

parent

9e9e6278d5497b62ee29e60a1a6b79a1d89048e1

6 files changed, 15 insertions(+), 12 deletions(-)

jump to
M data/rc3data/rc3

@@ -25,6 +25,7 @@ </focus>

<theme> <theme>operation</theme> + <titlelayout>NLIMC</titlelayout> </theme> <desktops>
M openbox/config.copenbox/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.hopenbox/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.copenbox/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.crender/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.hrender/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;