diff options
| -rw-r--r-- | lib/weather.lua | 1 | ||||
| -rw-r--r-- | widgets/hourly.lua | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/weather.lua b/lib/weather.lua index a30663f..3cb7b64 100644 --- a/lib/weather.lua +++ b/lib/weather.lua @@ -35,6 +35,7 @@ M.ICON = { few_night = '\u{E379}', overcast = '\u{E312}', unknown = '\u{E374}', + raindrop = '\u{E371}', } -- WMO weather code to glyph. The codes are sparse groups, not ranges, so a diff --git a/widgets/hourly.lua b/widgets/hourly.lua index dfcc64d..31a425b 100644 --- a/widgets/hourly.lua +++ b/widgets/hourly.lua @@ -15,6 +15,12 @@ local function draw_curve(cr, x, y, w, h, colors, hours, S) local n = math.min(#hours, 24) local label = math.max(9, math.min(h * 0.135, w / 8 * 0.22, S * 0.32)) local glyph = label * 1.5 + -- A gutter on the left for the raindrop that labels the rain-chance row. + -- The whole band shifts, so the hour columns stay aligned with each other. + card.font(cr, card.FONT_MONO, label, false) + local gutter = card.advance(cr, weather.ICON.raindrop .. ' ') + local x0 = x + x, w = x + gutter, w - gutter local slot = w / n local function px(i) return x + (i - 0.5) * slot end local top = y + glyph + label * 1.6 @@ -44,6 +50,7 @@ local function draw_curve(cr, x, y, w, h, colors, hours, S) end end cairo_fill(cr) + card.text(cr, x0, base - label * 0.1, weather.ICON.raindrop) card.rgba(cr, colors.rule, 0.6) cairo_set_line_width(cr, 1) |
