diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-17 10:04:09 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-17 10:04:09 +0200 |
| commit | c9ff9b2f5434ff09b02a3ab33eada2d8721d242f (patch) | |
| tree | 7ed259f7ea48c1c22d4c740cdad1dc12d6b030e4 /lib | |
| parent | 182f36b81e408569ec20d109ec558d2432403264 (diff) | |
| download | conky-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.lua | 12 |
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) |
