commit 2cd6964

shrub  ·  2026-05-02 16:46:19 +0000 UTC
parent 5ac0925
make font handling more robust and title.font not fontname
2 files changed,  +13, -3
+9, -2
 1@@ -175,8 +175,15 @@ load_decor(char *path) {
 2 					decor->offset_x = atoi(val);
 3 				else if (strcmp(key, "title.offset_y") == 0)
 4 					decor->offset_y = atoi(val);
 5-				else if (strcmp(key, "title.fontname") == 0)
 6-					decor->fontname = val;
 7+				else if (strcmp(key, "title.font") == 0) {
 8+					char *fontname = strdup(val);
 9+					if (!fontname) {
10+						_wrn("couldn't allocate decoration font name: %s", strerror(errno));
11+					} else {
12+						free(decor->fontname);
13+						decor->fontname = fontname;
14+					}
15+				}
16 
17 			}
18 			fclose(fp);
+4, -1
 1@@ -254,7 +254,9 @@ setup(void) {
 2 	decor->padding    = 0;
 3 	decor->offset_x   = 0;
 4 	decor->offset_y   = 0;
 5-	decor->fontname   = "sans-serif:size=11";
 6+	decor->fontname   = strdup("sans-serif:size=11");
 7+	if (!decor->fontname)
 8+		_err(1, "couldn't allocate default decoration font");
 9 
10 	wm.loop = wl_display_get_event_loop(wm.dpy);
11 	if (!swc_initialize(wm.dpy, wm.loop, &mgr))
12@@ -293,6 +295,7 @@ cleanup(void) {
13 	free((void *)decor->inactive.bottom_left.data);
14 	free((void *)decor->inactive.bottom.data);
15 	free((void *)decor->inactive.bottom_right.data);
16+	free(decor->fontname);
17 
18 	free(decor);
19