Omarchy Media Control
A native Omarchy (Hyprland + Quickshell) bar widget and popup card for controlling music and video playback in real time via the MPRIS standard.
<p align="center"> <img src="res/media-control.gif" alt="Hardware Tooltip opening on one Omarchy theme, then following a theme change with live CPU and GPU bars" width="360"> </p>Installation
Option 1:
Once published to GitHub or your Git host:
omarchy plugin add https://github.com/MrDemonc/omarchy-media-control.git --enable
omarchy restart shell
Option 2:
git clone https://github.com/MrDemonc/omarchy-media-control.git
cd omarchy-media-control
./install.sh --enable --restart
✨ Features
-
🎵 Dynamic Bar Icon:
- Reacts to playback state (
//). - Left Click: Open / close the popup control window.
- Middle Click: Instant play / pause.
- Mouse Wheel: Scroll up / down to skip to next or previous track.
- Hover Tooltip: Displays current track title and artist.
- Reacts to playback state (
-
🎚️ CAVA-Style Audio Visualizer:
- Animated equalizer bars in the header that bounce to the rhythm of playback.
- Square corners (
radius: 0) strictly aligned with Omarchy's geometric design system. - Smoothly settles to a resting state when paused.
-
💿 Interactive Dual-Style Cover Art:
- Click on the cover to toggle between:
- Standard Mode: Clean rounded rectangle matching Omarchy surface tokens.
- Spinning Vinyl Mode: True circular vinyl disc with center spindle hole that continuously spins while playing.
- Automatic thumbnail extraction for YouTube web videos in browsers (Zen, Firefox, Chrome, Brave).
- Click on the cover to toggle between:
-
⏱️ Smart Timeline & Seek Bar:
- Songs with known duration (Spotify, VLC, local audio): Interactive slider to scrub and seek with live timestamps.
- Web streams / videos without duration: Progress bar automatically hides for a clean, compact layout.
-
⏯️ Full MPRIS Playback Controls:
- Previous (
), Play / Pause (/), Next (), and Stop ().
- Previous (
-
🔊 Per-App Volume Control:
- Dedicated slider to adjust player volume or quick-toggle mute with speaker icon.
-
🔀 Multi-Source Switcher:
- Easily switch active control between multiple media players (e.g. Spotify + YouTube on browser).
-
📻 Background Lofi Girl Radio:
- One-click launch button (
) in the header and empty state to stream the YouTube Lofi Girl live audio directly in the background viampv(headless, no browser needed). - Can be toggled on/off directly from the widget or stopped using the standard Stop button.
- One-click launch button (
-
⌨️ Keyboard Accessibility:
- Press <kbd>Esc</kbd> to close the modal instantly.
🎛️ Interaction Cheatsheet
| Action | Control / Gesture |
|---|---|
| Open / Close popup | Left click on the bar icon |
| Close popup | Press <kbd>Esc</kbd> or click outside |
| Toggle Cover Style | Click on the album artwork (Standard / Spinning Vinyl) |
| Quick Play / Pause | Middle click on the bar icon |
| Previous / Next Track | Mouse scroll up / down on the bar icon |
| View Current Track | Hover over the bar icon (Tooltip) |
| Seek Timeline | Drag progress slider (when duration is available) |
| Adjust Volume | Drag volume slider or click speaker icon to mute |
| Switch Player | Click the source badge dropdown |
| Toggle Lofi Girl Radio | Click the button in header or idle screen |
⚙️ Uninstallation
To remove the plugin:
omarchy plugin remove omarchy-media-control
omarchy restart shell