]> Dogcows Code - chaz/openbox/blobdiff - engines/openbox/theme.c
always adjust the frames size and position together, so there is no more weird resizi...
[chaz/openbox] / engines / openbox / theme.c
index 2165ccca9793eb12385161ca8d905d1078ef77e8..4fc859dacbc109412e6b97502f04103479301c2a 100644 (file)
@@ -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;
This page took 0.026224 seconds and 4 git commands to generate.