Omarchy Plugin
  • QML 61.6%
  • Python 38.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Krzysztof Krystian Jankowski 0a28c5adb3 1.1 bugfix
2026-08-23 19:30:37 +02:00
.gitignore Initial Omarchy audio visualizer plugin 2026-08-23 15:44:53 +02:00
audio-visualizer Initial Omarchy audio visualizer plugin 2026-08-23 15:44:53 +02:00
BarWidget.qml 1.1 bugfix 2026-08-23 19:30:37 +02:00
LICENSE Initial Omarchy audio visualizer plugin 2026-08-23 15:44:53 +02:00
manifest.json 1.1 bugfix 2026-08-23 19:30:37 +02:00
preview.png Add preview image to README 2026-08-23 15:48:44 +02:00
PUBLISHING.md Initial Omarchy audio visualizer plugin 2026-08-23 15:44:53 +02:00
README.md 1.1 bugfix 2026-08-23 19:30:37 +02:00

Omarchy Audio Visualizer

Audio Visualizer preview

A live, Winamp-style spectrum visualizer for the Omarchy bar.

It captures the current PipeWire/PulseAudio default monitor and renders frequency bands directly with a QML Canvas. Right-click the widget to open an Omarchy-style settings popup.

Features

  • Frequency spectrum analyzer, low → high from left to right
  • Bar, filled-wave, and dot render styles
  • B/W, gray-gradient, and rainbow color modes
  • Runtime controls for pause/start, width, refresh rate, style, and colors
  • Configurable FPS, gain, source, width, and band count

Requirements

  • Omarchy Quattro shell

No manual setup or root privileges are required. The plugin uses the python3, parec, and PipeWire/PulseAudio components already included with Omarchy. It runs inside the normal long-running Omarchy shell process and starts one user-owned parec capture process plus the local audio-visualizer Python helper.

Install

After this repository is public, install with:

omarchy plugin add https://git.cyfrowynomada.com/CyfrowyNomada/audio-visualizer.git --enable

Then place it on the bar if needed:

omarchy bar move com.cyfrowynomada.audio-visualizer --section center

Usage

  • Left click: open audio controls (pavucontrol if available, otherwise wpctl status)
  • Right click: open visualizer options

The right-click popup lets you change:

  • Start/pause
  • Width: 64px–256px in 8px steps
  • Refresh rate: 15/30/45/60 FPS
  • Shape: spectrum bars, filled spectrum wave, spectrum dots
  • Colors: B/W theme, gray gradient, rainbow

Configuration

You can also configure it inline in ~/.config/omarchy/shell.json:

{
  "id": "com.cyfrowynomada.audio-visualizer",
  "width": 152,
  "samples": 48,
  "fps": 30,
  "drawMode": "bars",
  "colorStyle": "bw",
  "gain": 12.0,
  "source": "@DEFAULT_MONITOR@",
  "showWhenSilent": true
}

Settings:

Setting Default Description
width 152 Widget width in pixels, clamped to 64–256
samples 72 Number of frequency bands/lanes
fps 45 Analyzer refresh rate; menu offers 15/30/45/60
drawMode bars bars, wave, or dots
colorStyle bw bw, gray, or rainbow
gain 12.0 Spectrum sensitivity
source @DEFAULT_MONITOR@ Pulse/PipeWire recording source
showWhenSilent true Keep the widget visible during silence

Remove

omarchy plugin remove com.cyfrowynomada.audio-visualizer

If you manually added a layout entry, remove it from ~/.config/omarchy/shell.json or move another widget into its place.

Development

Validate the manifest and QML from the repository root:

omarchy plugin validate .
qmllint -I "$OMARCHY_PATH/shell" BarWidget.qml

For local testing without publishing:

mkdir -p ~/.config/omarchy/plugins/com.cyfrowynomada.audio-visualizer
cp -a manifest.json BarWidget.qml audio-visualizer README.md LICENSE ~/.config/omarchy/plugins/com.cyfrowynomada.audio-visualizer/
chmod +x ~/.config/omarchy/plugins/com.cyfrowynomada.audio-visualizer/audio-visualizer
omarchy-shell shell rescanPlugins

License

MIT — see LICENSE.