Widget Types, Modes, and Examples

Use this page as a visual checklist for every widget style. Each section includes sample commands you can run as-is, plus screenshot slots for macOS, iOS/iPadOS, and watchOS.

Click a screenshot to zoom and you’ll see the command that generated it (with TARGET where the widget ID should go) beneath it.

Example output for each widget style:

  • text-basic widget screenshot
  • text-nowrap widget screenshot
  • terminal-output widget screenshot
  • terminal-output-figlet widget screenshot
  • text-icon widget screenshot
  • text-caption-colors widget screenshot
  • bg-gradient widget screenshot
  • icon-text-fill widget screenshot
  • icon-only widget screenshot
  • progress-bar widget screenshot
  • progress-matrix widget screenshot
  • progress-dots widget screenshot
  • progress-stack widget screenshot
  • progress-gradient-horizontal widget screenshot
  • progress-gradient-vertical widget screenshot
  • progress-circle widget screenshot
  • progress-watch widget screenshot
  • chart-grouped widget screenshot
  • chart-sparkline widget screenshot
  • chart-height widget screenshot
  • chart-base-zero widget screenshot
  • base-zero widget screenshot
  • chart-sparkline-radius widget screenshot
  • chart-sparkline-glass widget screenshot
  • chart-graph widget screenshot
  • chart-waveform widget screenshot
  • chart-area widget screenshot
  • chart-lollipop widget screenshot
  • chart-strip widget screenshot
  • chart-radial widget screenshot
  • chart-delta widget screenshot
  • chart-threshold widget screenshot
  • chart-smooth widget screenshot
  • chart-sine widget screenshot
  • chart-peak widget screenshot
  • chart-neo widget screenshot
  • chart-matrix widget screenshot
  • chart-rangebar widget screenshot
  • chart-rangebar-glass widget screenshot
  • chart-annotate widget screenshot
  • chart-annotate-bars widget screenshot
  • chart-label-y widget screenshot
  • chart-timestamp widget screenshot
  • chart-caption-sides widget screenshot
  • foreground-background widget screenshot
  • light-mode widget screenshot
  • image-full-width widget screenshot
  • image-filter-sepia widget screenshot
  • image-filter-grayscale widget screenshot
  • image-filter-chain widget screenshot
  • fullsize-area widget screenshot
  • icon-inline widget screenshot
  • emoji-icon-bg widget screenshot
  • table-grid-zebra widget screenshot
  • table-grid-both widget screenshot
  • table-grid-none widget screenshot
  • Progress Bars Demo

iOS/iPadOS/watchOS

  • iPhone text trio widget screenshot
  • iPhone text no-wrap widget screenshot
  • iPhone terminal output widget screenshot
  • iPhone progress trio widget screenshot
  • iPhone text caption colors widget screenshot
  • iPhone background gradient widget screenshot
  • iPhone progress stack widget screenshot
  • iPhone progress gradient widget screenshot
  • iPhone progress circle and watch widget screenshot
  • iPhone grouped bar chart widget screenshot
  • iPhone chart core widget screenshot
  • iPhone chart height widget screenshot
  • iPhone chart base zero widget screenshot
  • iPhone chart caption sides widget screenshot
  • iPhone base-zero widget screenshot
  • iPhone chart sparkline radius widget screenshot
  • iPhone chart sparkline glass widget screenshot
  • iPhone chart sparkline glass alt widget screenshot
  • iPhone chart styles A widget screenshot
  • iPhone chart styles B widget screenshot
  • iPhone chart styles C widget screenshot
  • iPhone chart neo widget screenshot
  • iPhone chart matrix and annotate widget screenshot
  • iPhone chart annotate bars widget screenshot
  • iPhone chart range bar widget screenshot
  • iPhone chart range bar glass widget screenshot
  • iPhone ANSI text trio widget screenshot
  • iPhone mode showcase widget screenshot
  • iPhone image showcase widget screenshot
  • iPhone icon inline mix widget screenshot
  • iPhone fullsize contrast widget screenshot
  • iPhone foreground/background variants widget screenshot
  • iPhone icon-only trio widget screenshot
  • iPhone table grid modes widget screenshot

watchOS

Screenshots coming soon.

Text Widgets

Text mode is active when you provide --text or --command without chart/progress-only output.

Basic Text

terminal-widget --target widget1 --text "Build complete"

Text + Icon

terminal-widget --target widget1 --text "API healthy" --icon "checkmark.seal.fill"

Text vs caption colors (--text-color--caption-color)

Use --foreground for icons, charts, and progress visuals. Optionally set --text-color so the main --text line (and table defaults) differ from --foreground, and --caption-color for [min/max], [n%], and --timestamp lines.

terminal-widget --target widget1 --text "Queues" --foreground "#64748b" --text-color "#2dd4bf" --progress 55 --caption --timestamp --caption-color "#fbbf24" --bg "#0f172a"

Single-Line Truncation (--no-wrap)

terminal-widget --target widget1 --text "This is a very long line that truncates instead of wrapping in the widget" --no-wrap

Terminal Output (terminal-output)

cal -A 1 | terminal-widget --target widget1 --text - --font menlo --bg "333333" --fg "#e1c245" --no-wrap

Icon-Only Widget

When no --text, --progress, --chart, --image, or --command is present, the icon is centered and scaled.

terminal-widget --target widget1 --icon "terminal.fill"

ANSI Text (--ansi-mode--strip-colors)

Use ANSI escape sequences for foreground/background color blocks in text mode, or strip them when you want plain text.

printf '\033[30;47m black on white \033[0m \033[97;44m white on blue \033[0m' | terminal-widget --target widget1 --text - --ansi-mode on
printf '\033[31mred text\033[0m' | terminal-widget --target widget1 --text - --strip-colors

Progress Widgets

Progress mode uses --progress 0..100. Add --progress-format to choose a visual style.

bar (default)

terminal-widget --target widget1 --text "Syncing assets" --progress 42 --progress-format bar

matrix

terminal-widget --target widget1 --text "Compile queue" --progress 74 --progress-format matrix --caption

dots

terminal-widget --target widget1 --text "Packaging release" --progress 92 --progress-format dots --caption

stack

terminal-widget --target widget1 --text "Layer sync" --progress 68 --progress-format stack --caption

gradient / gradient-horizontal

gradient is an alias for gradient-horizontal.

terminal-widget --target widget1 --text "Transfer queue" --progress 52 --progress-format gradient --gradient-from "#4fd1ff" --caption

gradient-vertical

Use --gradient-width to render a narrower vertical progress bar.

terminal-widget --target widget1 --text "Build queue" --progress 63 --progress-format gradient-vertical --gradient-from "rgba(126,240,168,0.95)" --gradient-width 32 --caption

circle

terminal-widget --target widget1 --text "Build Progress" --progress 72 --progress-format circle --fg "#7ee081" --caption --bg "#2a1f44"

macOS gallery slot progress-circle matches the command above (capture-macos-widgets.sh --only progress-circle).

watch (clock-style arc)

terminal-widget --target widget1 --text "Build time" --progress 58 --progress-format watch --fg "#a78bfa" --caption --bg "#1e293b"

macOS gallery slot progress-watch matches the command above (capture-macos-widgets.sh --only progress-watch).

Chart Widgets

Chart mode uses --chart "N N ..." with --chart-format. rangebar uses low-high pairs instead of single numeric values.

Grouped sparkline/bar (/ series)

Use slash-separated segments for side-by-side sub-bars per column (up to four series). Pair with comma-separated --foreground for per-series colors.

terminal-widget --target widget1 --chart "0 1 5 2/1 2 5 3/2 3 4 1" --chart-format bar --bar-radius 20 --fg "#ee9b00,#e9d8a6,#94d2bd" --annotate --bg "#001219"

macOS gallery slot chart-grouped matches the command above (capture-macos-widgets.sh --only chart-grouped). iOS interactive scene chart-grouped uses the same slash syntax on all three widget targets.

Starter Example

terminal-widget --target widget1 --chart "1 4 9 3 8 2 7 5 10 6" --chart-format sparkline

Bar radius (--bar-radius)

Use --bar-radius 0..100 to round sparkline bar corners, or range bar column corners in rangebar mode.

terminal-widget --target widget1 --chart "1 4 9 3 8 2 7 5 10 6" --chart-format sparkline --bar-radius 45
terminal-widget --target widget1 --chart "1-3,2-4,1-5" --chart-format rangebar --bar-radius 40

Chart bar style (--chart-bar-style)

Use --chart-bar-style glass with bar-like formats (sparkline, waveform, rangebar, matrix, delta) for a gradient “liquid glass” bar/cell treatment (default is solid). The same flag applies to circle progress rings (--progress-format circle) without chart data.

terminal-widget --target widget1 --chart "1 4 9 3 8 2 7 5 10 6" --chart-format sparkline --chart-bar-style glass --bar-radius 35
terminal-widget --target widget1 --progress 72 --progress-format circle --chart-bar-style glass --fg "#4a9eff" --caption
terminal-widget --chart "6-8,1-8,1-6,2-4,1-6" --chart-format rangebar --chart-bar-style glass --bar-radius 40 --target widget1 --bg "ffffff" --fg "ca4fae" --text "TerminalWidget" --text-color "#5ac5fa"

macOS gallery slot chart-rangebar-glass matches the range bar example above (run capture-macos-widgets.sh --only chart-rangebar-glass after placing widgets).

All Chart Modes

DATA="1 4 9 3 8 2 7 5 10 6"
terminal-widget --target widget1 --chart "$DATA" --chart-format sparkline
terminal-widget --target widget1 --chart "$DATA" --chart-format graph
terminal-widget --target widget1 --chart "$DATA" --chart-format waveform
terminal-widget --target widget1 --chart "$DATA" --chart-format area
terminal-widget --target widget1 --chart "$DATA" --chart-format lollipop
terminal-widget --target widget1 --chart "$DATA" --chart-format strip
terminal-widget --target widget1 --chart "$DATA" --chart-format radial
terminal-widget --target widget1 --chart "$DATA" --chart-format delta
terminal-widget --target widget1 --chart "$DATA" --chart-format threshold
terminal-widget --target widget1 --chart "$DATA" --chart-format smooth
terminal-widget --target widget1 --chart "$DATA" --chart-format sine
terminal-widget --target widget1 --chart "$DATA" --chart-format peak
terminal-widget --target widget1 --chart "$DATA" --chart-format matrix
terminal-widget --chart "5-6,1-6,1-5,1.5-4,1-5" --chart-format rangebar --target widget1 --bg "ffffff" --fg "ca4fae"

Range Bar

rangebar draws each bar as one contiguous inclusive range. The y axis starts at 0 and scales to the highest range endpoint plus one.

terminal-widget --chart "5-6,1-6,1-5,1.5-4,1-5" --chart-format rangebar --target widget1 --bg "ffffff" --fg "ca4fae"

Chart Annotation (--annotate)

--annotate overlays point/bar labels for sparkline, graph, waveform, and rangebar chart families.

terminal-widget --target widget1 --chart "5 12 8 21 13 34" --chart-format graph --annotate
terminal-widget --target widget1 --chart "5 12 8 21 13 34" --chart-format sparkline --annotate

Gallery captures for bar-style annotations use slug chart-annotate-bars (capture-macos-widgets.sh / capture-ios-widgets-interactive.sh --only chart-annotate-bars).

Y axis labels (--label-y) and update time (--timestamp)

--label-y adds a left axis with five labels spanning the chart’s value range (and 0…max+1 for rangebar). --timestamp shows a short local “last updated” line in the caption block; it can be combined with --caption or used alone. Both apply to the same chart/progress update that sets the payload (not the WidgetKit refresh schedule).

terminal-widget --target widget1 --chart "1 4 9 3 8 2 7 5 10 6" --chart-format sparkline --label-y --caption
terminal-widget --target widget1 --chart "5 12 8 21 13 34" --chart-format graph --caption --timestamp
terminal-widget --target widget1 --text "Syncing" --progress 42 --caption --timestamp

Styling and Layout Flags

Emoji + Tables

Use these exact commands when capturing the new screenshot slots:

Emoji Icon + Background (emoji-icon-bg)

terminal-widget --target widget1 --icon :x: --bg "#ff5f5f"

Table with Zebra Grid (table-grid-zebra)

terminal-widget --target widget1 --table ~/status/status.csv --grid zebra --zebra-opacity 60 --mode dark

Table with Row + Column Grid (table-grid-both)

terminal-widget --target widget1 --table ~/status/status.csv --grid both --mode dark

Table with Header Rule Only (table-grid-none)

terminal-widget --target widget1 --table ~/status/status.csv --grid none --mode dark

Optional STDIN Variant

cat ~/status/status.csv | terminal-widget --target widget1 --table -

Foreground / Background (--foreground, --background, aliases --fg, --bg)

These set text/icon/chart/progress foreground and widget background colors for this payload.

terminal-widget --target widget1 --text "Night mode test" --icon "moon.stars.fill" --fg "#dbeafe" --bg "#0b1220"

Full-size (--fullsize, alias for --padding 0)

Useful for edge-to-edge charts/images and dense visual widgets.

terminal-widget --target widget1 --chart "2 6 4 9 7 3 8 5" --chart-format area --fullsize

Image + Full Width (--image + --full-width)

Use a remote image source and fill mode for edge-to-edge image rendering.

terminal-widget --target widget1 --image "https://picsum.photos/400/400" --full-width

Image Filters (--filter)

Apply built-in filters to images. You can pass one filter, repeat --filter, or provide a comma-separated filter chain.

terminal-widget --target widget1 --image "https://picsum.photos/640/640" --filter sepia:35
terminal-widget --target widget1 --image "https://picsum.photos/640/640" --filter grayscale
terminal-widget --target widget1 --image "https://picsum.photos/640/640" --filter "sepia:25,blur:8"

Icon Behavior (--icon)

--icon is inline with text/progress/chart, or centered if icon-only mode is active.

terminal-widget --target widget1 --text "CPU 62%" --icon "cpu.fill" --chart "58 61 66 62 64 62" --chart-format strip