X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=engines%2Fopenbox%2Ftheme.c;h=4fc859dacbc109412e6b97502f04103479301c2a;hb=327a0b3de75187a23bb01ce5e8e6992fd1106a81;hp=2165ccca9793eb12385161ca8d905d1078ef77e8;hpb=3b0b41ba81f46250f68111f7116a7f8e5c2a8dbe;p=chaz%2Fopenbox diff --git a/engines/openbox/theme.c b/engines/openbox/theme.c index 2165ccca..4fc859da 100644 --- a/engines/openbox/theme.c +++ b/engines/openbox/theme.c @@ -95,7 +95,7 @@ gboolean read_string(XrmDatabase db, char *rname, char **value) if (XrmGetResource(db, rname, rclass, &rettype, &retvalue) && retvalue.addr != NULL) { - *value = retvalue.addr; + *value = g_strdup(retvalue.addr); ret = TRUE; } @@ -249,6 +249,8 @@ void set_default_appearance(Appearance *a) gboolean load() { XrmDatabase db = NULL; + Justify winjust; + char *winjuststr; if (themerc_theme != NULL) { db = loaddb(themerc_theme); @@ -272,6 +274,15 @@ gboolean load() s_winfont_height = font_height(s_winfont, s_winfont_shadow, s_winfont_shadow_offset); + winjust = Justify_Left; + if (read_string(db, "window.justify", &winjuststr)) { + if (!g_ascii_strcasecmp(winjuststr, "right")) + winjust = Justify_Right; + else if (!g_ascii_strcasecmp(winjuststr, "center")) + winjust = Justify_Center; + g_free(winjuststr); + } + if (!read_int(db, "handleWidth", &s_handle_height) || s_handle_height < 0 || s_handle_height > 100) s_handle_height = 6; if (!read_int(db, "bevelWidth", &s_bevel) || @@ -301,7 +312,7 @@ gboolean load() s_titlebut_unfocused_color = color_new(0xff, 0xff, 0xff); if (!read_mask(db, "window.button.max.mask", &s_max_mask)) { - char data [] = { 0x7c, 0x44, 0x47, 0x47, 0x7f, 0x1f, 0x1f }; + char data[] = { 0x7c, 0x44, 0x47, 0x47, 0x7f, 0x1f, 0x1f }; s_max_mask = pixmap_mask_new(7, 7, data); } if (!read_mask(db, "window.button.icon.mask", &s_icon_mask)) { @@ -368,12 +379,14 @@ gboolean load() /* set up the textures */ a_focused_label->texture[0].type = Text; + a_focused_label->texture[0].data.text.justify = winjust; a_focused_label->texture[0].data.text.font = s_winfont; a_focused_label->texture[0].data.text.shadow = s_winfont_shadow; a_focused_label->texture[0].data.text.offset = s_winfont_shadow_offset; a_focused_label->texture[0].data.text.color = s_title_focused_color; a_unfocused_label->texture[0].type = Text; + a_unfocused_label->texture[0].data.text.justify = winjust; a_unfocused_label->texture[0].data.text.font = s_winfont; a_unfocused_label->texture[0].data.text.shadow = s_winfont_shadow; a_unfocused_label->texture[0].data.text.offset = s_winfont_shadow_offset;