Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/GhostNaN/mpvpaper
A video wallpaper program for wlroots based wayland compositors.
https://github.com/GhostNaN/mpvpaper
Last synced: 6 days ago
JSON representation
A video wallpaper program for wlroots based wayland compositors.
- Host: GitHub
- URL: https://github.com/GhostNaN/mpvpaper
- Owner: GhostNaN
- License: gpl-3.0
- Created: 2020-08-01T23:53:44.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-08-21T16:04:41.000Z (3 months ago)
- Last Synced: 2024-08-21T18:09:10.146Z (3 months ago)
- Language: C
- Homepage:
- Size: 15.4 MB
- Stars: 733
- Watchers: 3
- Forks: 23
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hyprland - mpvpaper
- awesome-linux-ricing - mpvpaper - A video wallpaper program for wlroots based wayland compositors. (Wallpapers / Utilities)
README
![Preview](https://github.com/GhostNaN/mpvpaper/blob/assests/preview.png)
# 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
- [mpv](https://github.com/mpv-player/mpv)
- [wlroots](https://gitlab.freedesktop.org/wlroots/wlroots)## 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 '*' /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-interfaceFor more info on mpvpaper, please refer the the [man page](/mpvpaper.man).
## Acknowledgments
- glpaper and swaybg for the initial boilerplate code, check em out here:
- https://hg.sr.ht/~scoopta/glpaper
- https://github.com/swaywm/swaybg
## License
This project is licensed under the GPLv3 License - see the [LICENSE](/LICENSE) file for details