Skip to content

0.3.0

Latest

Choose a tag to compare

@happystraw happystraw released this 21 Sep 10:31
· 1 commit to main since this release

Keywisp 0.3.0

  • Support optional Wayland fractional scaling(viewporter, fractional-scale-v1) automatically when available,
    with integer scaling as a fallback.
  • Accept decimals for padding, gaps, borders, radii, keycap depths, and shadows.
    --margin and --max-width remain integers.
  • Extend --key-depth to accept 1–4 comma-separated values in CSS side order
    (four values: top, right, bottom, left).
  • Improve text alignment with --font and automatic square key sizing when
    --key-padding-horizontal is omitted.
  • Fix translucent keycap compositing for --key-background and --key-border-color.

Performance

  • Cache text layouts, keycap backgrounds, and shadows, and reuse Wayland frame
    buffers to reduce rendering time at the cost of additional memory.
  • wisp-light at 100% and 200%: 53–69% less elapsed time,
    with 1.0–18.9 MB additional peak memory.
  • dark at 100% and 200%: 35–55% less elapsed time,
    with 0.8–10.3 MB additional peak memory.
  • Larger fonts and higher scales require larger cached bitmaps and more memory.
benchmark-0 3 0
  • Measured with poop, ReleaseFast, wisp-light / dark, 300 frames, and Sans Bold 16/24/32pt.
  • Results compare whole versions, not caching alone; 0.2.0 has no 150% scaling baseline.
  • Peak RSS includes the entire benchmark process, not just its caches.

Full Changelog: 0.2.0...0.3.0