summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-02-08Update README.md build instructionsHEADmasterGhostNaN
2024-01-27And check for empty mpv_optionsGhostNaN
2024-01-27Init mpv_options to avoid errorsGhostNaN
2024-01-27Allow holder to have no video for --playlist optionGhostNaN
2024-01-27Load mpv configs the sane wayGhostNaN
This also fixes https://github.com/GhostNaN/mpvpaper/issues/58 --profile not working
2024-01-27Allow using "--playlist" optionGhostNaN
Also some small error handling
2023-11-19Allow specifying multiple outputsGhostNaN
2023-11-02Make the auto pause unpause faster1.4GhostNaN
2023-08-08Add a way to show outputsGhostNaN
We're done with the "mpvpaper -v a a" hack This also gets rid of the not needed "not selected" verbose output
2023-05-08Merge pull request #49 from ddxtanx/masterGhostNaN
Fix char bug so opt parsing doesn't infinite loop
2023-05-07Now just treat arg as int, compare against -1Garrett Credi
2023-05-07Fix char bug so opt parsing doesn't infinite loopGarrett Credi
2023-04-22Fix "stopping" behaviorGhostNaN
2023-04-22Move egl and mpv init to before wl surface configureGhostNaN
Turns out this was always possible...
2023-04-22Simplify pausing and stopping functionsGhostNaN
This also removes the now useless "pause in frame callback"
2023-04-21Fix up EGL initGhostNaN
- Check for egl_display - Fix OpenGL minor versions not being tested - Init egl surface before mpv init
2022-11-19Improve verbose and error messagesGhostNaN
And code cleanup..
2022-09-23Fix race condition on output1.3GhostNaN
2022-09-21Update man pageGhostNaN
- Move output tip to examples - Minor corrections
2022-09-20Replace xdg_output with wl_output v4GhostNaN
Just trying to keep up with swaybg and at least it gets rid of xdg_output. This also unintentionally breaks kwin support because kwin is still using wl_output v3. I also had some syntax cleanups queued so it might be a mess.
2022-09-20Main syntax cleanupGhostNaN
2022-09-20Update README.mdGhostNaN
- Rename the title to mpvpaper as I didn't like the look glpaper title - Improve the build script - Remove the installers as there would be too many to list if I add more - Also because the AUR git is not ideal and the Gentoo one is not maintained - Modified the "Usage" to reflect more like the man page - Modified "Notes" to be less biased to Sway - Added swaybg to "Acknowledgments" because there's probably more code from swaybg than glpaper at this point
2022-09-17Update Glad lib and Wayland protocolsGhostNaN
2022-09-17Modify dummy bufferGhostNaN
2022-09-17Main cleanup and TLCGhostNaN
- Redo how render loop is stopped/killed - Find more other wallpapers - Modify how mpvpaper quits - Fix up argv copy for stopping - General code cleanups
2022-09-16Merge pull request #26 from mstoeckl/multi-outputGhostNaN
Allow rendering on multiple outputs with <output> = *
2022-09-15Fix round-robin frame drawing behaviorManuel Stoeckl
Before this commit, every time redraw() was called, it would block and wait for a new frame. This works when only one output is being drawn; but when multiple outputs are drawn, this means only one output at a time is given the latest frame, instead of all of them. This change makes redraw() non-blocking,† and uses mpv_render_context's set_update_callback method to request redraws from for all outputs when a new frame is available. This requires a) tracking the lifetime of all frame callbacks, to ensure frames are not rendered too quickly (before the frame callback has returned) and b) extending the main loop so that it can be woken up via self-pipe trick after the mpv update callback is invoked. † eglSwapBuffers calls wl_display_roundtrip(), so technically redraw() ends up waiting for the compositor to respond. This can introduce some extra lag when drawing onto many outputs at once. It's possible to avoid this problem by managing the buffers onto which OpenGL draws ourselves and committing the output surfaces as a batch. However, doing so would be quite complicated.
2022-09-10Match any name if output = '*'Manuel Stoeckl
This commit also fixes an issue where a second xdg_output::done would mistakenly destroy outputs.
2022-09-10Resize output->egl_window on re-configureManuel Stoeckl
2022-09-10Disentangle EGL initialization from output initializationManuel Stoeckl
As part of this process, call eglMakeCurrent without a surface for initial EGL and mpv setup; and when performing EGL and OpenGL operations that are directly related to an EGLSurface, call eglMakeCurrent on that surface.
2022-09-10Link EGL surface and window to a specific outputManuel Stoeckl
2022-09-09Support DPI scaling by y-fujiiGhostNaN
Thanks @y-fujii !
2022-09-08Merge pull request #23 from mstoeckl/asan-fixesGhostNaN
Memory error fixes, slight refactoring
2022-09-08Fix out-of-bounds writeManuel Stoeckl
MPV_FORMAT_FLAG requires that the 'data' argument be a pointer to an 'int'.
2022-09-08Localize temp file creation and fix invalid memory accessManuel Stoeckl
This fix refactors the code that loads command line options into mpv. In the process, it ensures that mpv_load_config file is only called with a non-null filename string.
2022-02-24Touching up 1.2.11.2.1GhostNaN
- Forgot a break, so I added one - man_version++
2022-02-22Fixed mpv events, cleanup, and moreGhostNaN
This commit mainly fixes how mpv events are processed. See: https://github.com/GhostNaN/mpvpaper/pull/19 - Since some mpv event are deprecated, "mpv_observe_property" is being used instead of MPV_EVENT_PAUSE and MPV_EVENT_UNPAUSE - mpv's default "idle" option for libmpv is now always set to off/no as it provided no use and can't be loaded before user options, sorry. - Pausing functions should now behave a little better with less race conditions. - Cleaning up mpvpaper has been improved by also fixing some race conditions. - Turned some mpv_command_async calls into mpv_command as it was not necessary. - Some error messages have been modified/created - Stopped creating a pthread for a watch list if the file is empty - Add signal handlers for SIGQUIT and SIGTERM to exit mpvpaper
2021-11-15Improve man page1.2GhostNaN
- Added a command to help get display output names - Removed forced spaces
2021-11-08Add man pageGhostNaN
This is the first man page I made, so it's pretty rough. I might make more edits to it if needed or requested.
2021-11-07Fix options file overwriteGhostNaN
See: https://github.com/GhostNaN/mpvpaper/issues/15 If you ran 2 instances of mpvpaper at the same time, they could write to the same file "/tmp/mpvpaper.config" at the same time. This fixes that by adding the passed display into the file name. Such as mpvpaperDP-1.conf if DP-1 was passed. Also some small writing changes were included.
2021-10-30Merge pull request #14 from ZerdoX-x/patch-1GhostNaN
better place to install mpvpaper
2021-10-30better place to install mpvpaperzerdox
2021-08-23Turn auto-next into slideshow optionGhostNaN
So basically auto-next was rebranded and also now passes "loop loop-playlist" for you. You may override this by passing your own mpv options (loop-file=no) if you wish.
2021-06-03Add auto-next option and fix usage textGhostNaN
- Added a small convenience option "auto-next" Best used with "loop loop-playlist" mpv options - Usage text now shows required args
2020-12-26Move mpv options and force vo as libmpvGhostNaN
2020-12-12Define uint manuallyGhostNaN
Because on some systems uint isn't defind in stdlib.h
2020-12-04Finishing touches for update 1.11.1GhostNaN
This "should" be the last commit before update 1.1 Just renaming some functions and adding an example to help After days of testing I hope it's "stable enough" as I despise testing...
2020-12-02Fix SIGINT exitingGhostNaN
A terrible hack, but a working one.
2020-11-30Improve resource saving optionsGhostNaN
- Further reduces CPU usage while paused - Decrease likelihood of race conditions - Properly cleanup mpvpaper
2020-11-23Added resource saving optionsGhostNaN
This commit adds 2 new options "--auto-pause/-p" and "--auto-stop/-s" - By using a Wayland feature called "surface frame callback" mpvpaper can detect when the wallpaper is not visible. - With this feature mpvpaper can pause/stop automagically while the wallpaper can't be seen. The pause option will literally just pause mpv. - In order to save processing power more seamlessly. While the stop option will sort of "suspend" mpvpaper to a separate holder program call "mpvpaper-holder" - This reduces not just processing power, but also RAM usage at the cost of being at bit more obvious when it does stop. Along with the automagical ways to pause/stop. There also now a "pauselist" and "stoplist". Which will pause/stop if a program is found running in it's list. - To use, simply create these text based lists in "~/.config/mpvpaper/" with the file name "pauselist" and/or "stoplist" respectively. - Then add programs that can be found with the "pidof" command. - Make sure the programs are separated by either spaces or newlines. Like so: "wine firefox steam" This commit also includes some minor fixes to many too name. Such as converting some ints to bools and changing the order of loading configs.