Omarchy Live Wallpaper
Play fast, muted, looping video wallpapers through Omarchy's familiar Style → Background picker. The plugin keeps the stock background service and adds video support without starting another Quickshell process.
Quick start
-
Copy an MP4, MKV, WebM, MOV, or M4V file into your current theme's folder:
~/.config/omarchy/backgrounds/<theme-name>/ -
Open Style → Background.
-
Select the video's generated preview.
Playback starts automatically with no shell restart. To stop the video, open the picker again and select a normal image. You can also double-click an empty part of the desktop to open the picker.
Features
- Lists images and videos together from the active theme's wallpaper folders
- Supports MP4, MKV, WebM, MOV, and M4V
- Starts cached videos in about 100 ms using persistent Qt multimedia surfaces
- Keeps one warm, muted, looping player per connected monitor
- Reveals video only after the first valid frame, preventing black flashes
- Generates picker previews with Omarchy's existing
ffmpeginstallation - Keeps a static poster as the lock-screen and transition fallback
- Stops playback when a static wallpaper or another theme is selected
- Resumes the selected video after the Omarchy shell restarts
- Preserves desktop double-click behavior through the video/input surface
Demo videos
Select and apply a video wallpaper
Add wallpaper files and select a video
Both demonstrations show the plugin running on Omarchy.
Install
omarchy plugin add https://github.com/yesheytenzin/live-wallpaper.git --enable
No additional packages or privileged installation steps are required. Playback
uses Qt Multimedia from Omarchy's existing Qt runtime, and previews use the
existing ffmpeg command. The plugin does not start another Quickshell process.
Use
Place videos beside image wallpapers in either location:
~/.config/omarchy/backgrounds/<theme-slug>/<theme>/backgrounds/
Open Style → Background or double-click an empty part of the desktop. Video entries use a generated frame in the picker and start moving after selection.
Menu integration
Enabling the plugin updates the style.background action in
~/.config/omarchy/extensions/omarchy-menu.jsonc. The stock Background
name, icon, and aliases are preserved; only its picker action changes.
Disabling or removing the plugin through Omarchy unloads the service and removes the menu override. It can also be removed manually without disabling playback:
~/.config/omarchy/plugins/tenzin.live-wallpaper/live-wallpaper.sh --unwire-menu
Update
omarchy plugin update tenzin.live-wallpaper
Remove
Standard removal performs complete cleanup before deleting the plugin. It stops playback, restores the last static wallpaper, deletes generated state/cache, and removes the Style → Background integration:
omarchy plugin remove tenzin.live-wallpaper
Development
PLUGIN_DIR="$HOME/.config/omarchy/plugins/tenzin.live-wallpaper"
omarchy plugin validate "$PLUGIN_DIR"
/usr/lib/qt6/bin/qmllint -I "${OMARCHY_PATH:-/usr/share/omarchy}/shell" "$PLUGIN_DIR/Service.qml"
bash -n "$PLUGIN_DIR/live-wallpaper.sh"
The repository root is the plugin folder:
manifest.jsondeclares the standalone service entry pointService.qmlowns persistent players, IPC, desktop input, and resumelive-wallpaper.showns media discovery,ffmpegpreviews, state, and cleanup
Runtime state is stored under ~/.local/state/omarchy/live-wallpaper/; generated
previews are stored under ~/.cache/omarchy/live-wallpaper/.
License
Licensed under the MIT License. See LICENSE.

