Skip to content
led-ticker

Inline emoji

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

:taco: :star: :flower: :sun:
:taco: :star: :flower: :sun:

Example

[[playlist.section.widget]]
type = "message"
text = ":taco: Taco Tuesday!"

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.pygrep -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):

  • :baseball.ball: (white ball with red stitching) — baseball
  • :pokeball.ball: (red top, white bottom, button-banded) — pokeball
Slug Lowres (8×8) Hires (32×32) Description
:bunny: bunny lowres bunny hires Bunny silhouette
:cat: cat lowres cat hires Cat (default gray; see color variants below)
:cloud: cloud lowres cloud hires Cloud icon
:droplet: droplet lowres droplet hires Water droplet (blue teardrop)
:email: email lowres email hires Envelope (white)
:flower: flower lowres flower hires Pink flower
:fog: fog lowres fog hires Fog icon
:heart: heart lowres heart hires Heart (default red; see color variants below)
:instagram: instagram lowres instagram hires Instagram glyph (magenta gradient)
:moon: moon lowres moon hires Crescent moon
:partly_cloudy: partly_cloudy lowres partly_cloudy hires Sun + cloud
:pride: pride lowres pride hires Pride flag stripes (default rainbow; see variants below)
:rain: rain lowres rain hires Rain icon
:snow: snow lowres snow hires Snow icon
:star: star lowres star hires Yellow star (default; see color variants below)
:sun: sun lowres sun hires Sun icon
:taco: taco lowres taco hires Taco
:thunder: thunder lowres thunder hires Thunder icon

Color variants

Heart colors

:heart: defaults to red. Six additional color slugs share the same shape:

Slug Lowres Hires
:heart_red: heart_red lowres heart_red hires
:heart_orange: heart_orange lowres heart_orange hires
:heart_yellow: heart_yellow lowres heart_yellow hires
:heart_green: heart_green lowres heart_green hires
:heart_blue: heart_blue lowres heart_blue hires
:heart_purple: heart_purple lowres heart_purple hires
:heart_pink: heart_pink lowres heart_pink hires

Star colors

:star: defaults to yellow. Six additional color slugs share the same shape:

Slug Lowres Hires
:star_red: star_red lowres star_red hires
:star_orange: star_orange lowres star_orange hires
:star_yellow: star_yellow lowres star_yellow hires
:star_green: star_green lowres star_green hires
:star_blue: star_blue lowres star_blue hires
:star_purple: star_purple lowres star_purple hires
:star_pink: star_pink lowres star_pink hires

Cat colors

:cat: defaults to gray with yellow eyes. Five other coats are available:

Slug Lowres Hires
:cat_gray: cat_gray lowres cat_gray hires
:cat_orange: cat_orange lowres cat_orange hires
:cat_white: cat_white lowres cat_white hires
:cat_black: cat_black lowres cat_black hires
:cat_brown: cat_brown lowres cat_brown hires
:cat_cream: cat_cream lowres cat_cream hires

Pride flag variants

:pride: defaults to the rainbow flag. Other flags:

Slug Lowres Hires
:pride_rainbow: pride_rainbow lowres pride_rainbow hires
:pride_trans: pride_trans lowres pride_trans hires
:pride_bi: pride_bi lowres pride_bi hires
:pride_lesbian: pride_lesbian lowres pride_lesbian hires
:pride_nb: pride_nb lowres pride_nb hires
:pride_ace: pride_ace lowres pride_ace hires
:pride_demi: pride_demi lowres pride_demi hires

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.