A video wallpaper program for wlroots based wayland compositors.
Find a file
GhostNaN 01b2b92a98 Fix minor memory leaks
I also forgot a random while(true) loop that's better handled with stop_render_loop
2025-11-16 13:19:23 -05:00
inc Format code again 2024-04-25 00:03:36 -04:00
proto Replace xdg_output with wl_output v4 2022-09-20 16:33:02 -04:00
src Fix minor memory leaks 2025-11-16 13:19:23 -05:00
LICENSE Initial commit 2020-08-01 23:53:45 +00:00
meson.build Replace xdg_output with wl_output v4 2022-09-20 16:33:02 -04:00
mpvpaper.man Update man page date 2025-05-10 11:25:57 +09:00
README.md Swap "*" for ALL in README.md 2025-05-10 11:22:33 +09:00

Preview

mpvpaper

mpvpaper is a wallpaper program for wlroots based wayland compositors, such as sway. That allows you to play videos with mpv as your wallpaper.

Dependencies

Building

Building Requirements:

  • ninja
  • meson
  • libmpv

Clone | Build | Install:

# Clone
git clone --single-branch https://github.com/GhostNaN/mpvpaper
# Build
cd mpvpaper
meson setup build --prefix=/usr/local
ninja -C build
# Install
ninja -C build install

Usage

Simple example:

mpvpaper DP-2 /path/to/video

To play the same video on all outputs:

mpvpaper ALL /path/to/video

You can also forward mpv options by passing "--mpv-options" or "-o" like so:

mpvpaper -o "no-audio --loop-playlist shuffle" HDMI-A-1 www.url/to/playlist

You can also control mpvpaper just like mpv in the terminal with keyboard bindings.

But if you would like to control mpvpaper while it's forked, you could use a mpv input-ipc-server like this:

mpvpaper -o "input-ipc-server=/tmp/mpv-socket" DP-1 /path/to/video

Then input commands with socat. For example, toggle pause:

echo 'cycle pause' | socat - /tmp/mpv-socket

For more mpv commands read: https://mpv.io/manual/master/#command-interface

For more info on mpvpaper, please refer the the man page.

Acknowledgments

License

This project is licensed under the GPLv3 License - see the LICENSE file for details