sbar / docsSource ↗
System provider

Volume

Output volume and mute state, with automatic icons and optional state colours.

Output

Volume N%, Muted, Fixed volume, or No output, with a state-dependent icon. Icons appear by default; omitting the volume block behaves the same as volume: {}.

Example

{
  "id": "volume",
  "type": "volume",
  "volume": {
    "symbols": {
      "levels": [
        "speaker.fill",
        "speaker.wave.1.fill",
        "speaker.wave.2.fill",
        "speaker.wave.3.fill"
      ],
      "muted": "speaker.slash.fill"
    },
    "tints": {
      "muted": "#FF6655"
    }
  },
  "text": ""
}

This icon-only example uses the default level and mute symbols and adds a muted colour. Remove text: "" to show text alongside the icon.

Configuration

Use the item-level text template to customise or hide the label. The provider options below control its data, symbols, colours, and visibility.

All fields below are inside volume.

PropertyDefaultDescription
showSymboltrueShow the state icon; false gives text-only output.
symbols.font-Shared installed font name for glyph symbols; each glyph can override it.
symbols.sizeResolved item/theme font sizeShared glyph size, 8 to 72 points; each glyph can override it.
symbols.levelsFour speaker icons shown aboveExactly four symbols, ordered by volume level: 0%, 1 to 33%, 34 to 66%, and 67 to 100%.
symbols.mutedspeaker.slash.fillMuted output icon.
symbols.fixedspeaker.wave.3.fillOutput without a readable volume.
symbols.unavailablespeaker.slashNo available output.
tints.mutedNormal tintMuted output colour.
tints.fixedNormal tintFixed-volume output colour.
tints.unavailableNormal tintNo-output colour.

Zero volume and mute are separate states. No output takes precedence over mute; mute takes precedence over the volume level or fixed-volume state. Omitted state symbols use the built-in defaults.

Symbols accept SF Symbol names or font glyph objects. Use symbolFontWeight to set SF Symbol weight independently of text.

An item-level symbol overrides the automatic icon; showSymbol: false hides it regardless. State colours override the normal item/theme tint and accept #RRGGBB or #RRGGBBAA. Icon-only items retain their accessibility label. Change the volume block in the configuration file; it cannot be changed with sbar set.

Shared item options cover styling, symbols, actions, priority, and enabled state.

Text templates

The item-level text setting supports id, value, symbol, percentage, muted, available, status. See text templates for syntax and field meanings. A fixed-volume output can be available while percentage is missing. Test percentage before adding a percent sign, or use {{value}} for its default status text.

status is available, muted, fixed, or unavailable. Use state conditions to choose a label for each state.

Updates

The provider follows native output-device and volume events. Text, icon, and tint follow the item’s refresh policy together. See refresh policies for snapshot and trigger behaviour.

Current limits

Uses the default output device. No input-volume selector or built-in slider. Use text for custom status text. Outputs without a readable volume display Fixed volume instead of an estimated percentage.

Use the Audio devices provider to show the default output or input device name.

sbar documentation Built with Hugo · Reference reviewed 12 Sep 2026