aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-17 10:04:09 +0200
committerDanilo M. <danix@danix.xyz>2026-09-17 10:04:09 +0200
commitc9ff9b2f5434ff09b02a3ab33eada2d8721d242f (patch)
tree7ed259f7ea48c1c22d4c740cdad1dc12d6b030e4 /lib
parent182f36b81e408569ec20d109ec558d2432403264 (diff)
downloadconky-theme-udt-c9ff9b2f5434ff09b02a3ab33eada2d8721d242f.tar.gz
conky-theme-udt-c9ff9b2f5434ff09b02a3ab33eada2d8721d242f.zip
feat: give the clock its own font
Installs Oswald (OFL-1.1, from googlefonts/OswaldFont) under ~/.fonts/o/Oswald with its license, and points the clock numerals at it for the squared look the rounded Noto Sans Black did not have. Per-widget fonts needed no new machinery: card.font() already takes any family string, so FONT_* are shared defaults rather than a restriction. FONT_CLOCK joins them, and the weather card keeps FONT_HEAVY, so the two no longer have to agree. Cairo still cannot ask for a weight above bold, so a heavier cut is selected by family name as FONT_HEAVY already did. Worth knowing that fontconfig substitutes a default for a family it does not recognise, which is indistinguishable from the font not applying; fc-match tells you which happened. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/card.lua12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/card.lua b/lib/card.lua
index 4d94465..3352c4b 100644
--- a/lib/card.lua
+++ b/lib/card.lua
@@ -13,6 +13,18 @@ M.FONT_MONO = 'Inconsolata Nerd Font'
M.FONT_UI = 'Noto Sans'
M.FONT_HEAVY = 'Noto Sans Black'
+-- Shared defaults, not a restriction: card.font() takes any family string, so
+-- a widget wanting its own face just passes one. The clock does, for squared
+-- numerals (Oswald, OFL-1.1, installed under ~/.fonts/o/Oswald).
+--
+-- Cairo can only ask for Regular or Bold by weight, so a heavier cut is
+-- selected by the family name fontconfig registers for it, exactly as
+-- FONT_HEAVY does above: 'Oswald SemiBold' at NORMAL weight, not 'Oswald' at
+-- bold. Fontconfig silently substitutes a default for a family it does not
+-- know, which looks identical to the font "not applying", so check a new name
+-- with `fc-match` before trusting it.
+M.FONT_CLOCK = 'Oswald'
+
function M.font(cr, family, size, bold)
cairo_select_font_face(cr, family, CAIRO_FONT_SLANT_NORMAL,
bold and CAIRO_FONT_WEIGHT_BOLD or CAIRO_FONT_WEIGHT_NORMAL)