Inline emoji
Drop :slug: into any message text to render a pixel-art icon inline:

Example
[[playlist.section.widget]]type = "message"text = ":taco: Taco Tuesday!"Available slugs
Section titled “Available slugs”Use :slug: inside any text-bearing widget to render a pixel-art icon inline. Each is an 8×8 sprite in its native colors; the surrounding text uses your font_color. On a default_scale > 1 panel (bigsign), every slug auto-upgrades to a 32×32 hires sprite — same horizontal footprint, 16× more detail.
The slug list rots fast as new icons are added. The source of truth is src/led_ticker/pixel_emoji.py — grep -E '^\s+"[a-z_]+":' src/led_ticker/pixel_emoji.py lists every slug. Re-run uv run python tools/render_emoji_previews.py after adding a sprite to refresh the previews on this page.
Plugin emoji. Some icons ship with external plugins (install the plugin to use them; the slugs in the table below are all built in):
| Slug | Lowres (8×8) | Hires (32×32) | Description |
|---|---|---|---|
:bunny: |
![]() |
![]() |
Bunny silhouette |
:cat: |
![]() |
![]() |
Cat (default gray; see color variants below) |
:cloud: |
![]() |
![]() |
Cloud icon |
:droplet: |
![]() |
![]() |
Water droplet (blue teardrop) |
:email: |
![]() |
![]() |
Envelope (white) |
:flower: |
![]() |
![]() |
Pink flower |
:fog: |
![]() |
![]() |
Fog icon |
:heart: |
![]() |
![]() |
Heart (default red; see color variants below) |
:instagram: |
![]() |
![]() |
Instagram glyph (magenta gradient) |
:moon: |
![]() |
![]() |
Crescent moon |
:partly_cloudy: |
![]() |
![]() |
Sun + cloud |
:pride: |
![]() |
![]() |
Pride flag stripes (default rainbow; see variants below) |
:rain: |
![]() |
![]() |
Rain icon |
:snow: |
![]() |
![]() |
Snow icon |
:star: |
![]() |
![]() |
Yellow star (default; see color variants below) |
:sun: |
![]() |
![]() |
Sun icon |
:taco: |
![]() |
![]() |
Taco |
:thunder: |
![]() |
![]() |
Thunder icon |
Color variants
Heart colors
:heart: defaults to red. Six additional color slugs share the same shape:
| Slug | Lowres | Hires |
|---|---|---|
:heart_red: |
||
:heart_orange: |
||
:heart_yellow: |
||
:heart_green: |
||
:heart_blue: |
||
:heart_purple: |
||
:heart_pink: |
Star colors
:star: defaults to yellow. Six additional color slugs share the same shape:
| Slug | Lowres | Hires |
|---|---|---|
:star_red: |
||
:star_orange: |
||
:star_yellow: |
||
:star_green: |
||
:star_blue: |
||
:star_purple: |
||
:star_pink: |
Cat colors
:cat: defaults to gray with yellow eyes. Five other coats are available:
| Slug | Lowres | Hires |
|---|---|---|
:cat_gray: |
||
:cat_orange: |
||
:cat_white: |
||
:cat_black: |
||
:cat_brown: |
||
:cat_cream: |
Pride flag variants
:pride: defaults to the rainbow flag. Other flags:
| Slug | Lowres | Hires |
|---|---|---|
:pride_rainbow: |
||
:pride_trans: |
||
:pride_bi: |
||
:pride_lesbian: |
||
:pride_nb: |
||
:pride_ace: |
||
:pride_demi: |
Hires on the bigsign
When the panel is at default_scale > 1, slugs auto-render the higher-detail sprite — same horizontal footprint (8 logical columns), 16× more detail per cell. On scale=1 (small sign), the lowres 8×8 sprite is used.
:moon: is the canonical hires example: a 32×32 sprite with circle-subtraction shading.
Adding a new emoji
Edit src/led_ticker/pixel_emoji.py. Define an 8×8 pixel-data tuple ((x, y, r, g, b)), add it to EMOJI_REGISTRY. For hires, draw a 32×32 variant and add it to HIRES_REGISTRY. The renderer auto-handles the scale dispatch. Then run uv run python tools/render_emoji_previews.py to refresh the preview PNGs.



































