]> git.sur5r.net Git - i3/i3/blobdiff - libi3/font.c
libi3/font: Use "pango:" prefix to avoid confusion
[i3/i3] / libi3 / font.c
index 0688bdbce5cc17a86f8a9be9cd44a60fd534ac48..a2162c47cea1e0b55fd7a0b287d56157e44f0a44 100644 (file)
@@ -38,15 +38,14 @@ static double pango_font_blue;
 static bool load_pango_font(i3Font *font, const char *desc) {
     /* Load the font description */
     font->specific.pango_desc = pango_font_description_from_string(desc);
-    if (!font->specific.pango_desc)
-    {
+    if (!font->specific.pango_desc) {
         ELOG("Could not open font %s with Pango, fallback to X font.\n", desc);
         return false;
     }
 
-    LOG("Using Pango font %s, size %d",
+    LOG("Using Pango font %s, size %d\n",
         pango_font_description_get_family(font->specific.pango_desc),
-        pango_font_description_get_size(font->specific.pango_desc)
+        pango_font_description_get_size(font->specific.pango_desc) / PANGO_SCALE
         );
 
     /* We cache root_visual_type here, since you must call
@@ -143,7 +142,11 @@ i3Font load_font(const char *pattern, const bool fallback) {
 
 #if PANGO_SUPPORT
     /* Try to load a pango font if specified */
-    if (strlen(pattern) > strlen("xft:") && !strncmp(pattern, "xft:", strlen("xft:"))) {
+    if (strlen(pattern) > strlen("pango:") && !strncmp(pattern, "pango:", strlen("pango:"))) {
+        pattern += strlen("pango:");
+        if (load_pango_font(&font, pattern))
+            return font;
+    } else if (strlen(pattern) > strlen("xft:") && !strncmp(pattern, "xft:", strlen("xft:"))) {
         pattern += strlen("xft:");
         if (load_pango_font(&font, pattern))
             return font;
@@ -186,7 +189,7 @@ i3Font load_font(const char *pattern, const bool fallback) {
         }
     }
 
-    LOG("Using X font %s", pattern);
+    LOG("Using X font %s\n", pattern);
 
     /* Get information (height/name) for this font */
     if (!(font.specific.xcb.info = xcb_query_font_reply(conn, info_cookie, NULL)))