Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package mpvpaper for openSUSE:Factory checked in at 2025-05-14 17:01:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mpvpaper (Old) and /work/SRC/openSUSE:Factory/.mpvpaper.new.30101 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mpvpaper" Wed May 14 17:01:44 2025 rev:13 rq:1277324 version:1.8 Changes: -------- --- /work/SRC/openSUSE:Factory/mpvpaper/mpvpaper.changes 2024-08-08 10:58:04.462820935 +0200 +++ /work/SRC/openSUSE:Factory/.mpvpaper.new.30101/mpvpaper.changes 2025-05-14 17:02:10.561670817 +0200 @@ -1,0 +2,10 @@ +Wed May 14 07:11:52 UTC 2025 - Michael Vetter <[email protected]> + +- Update to 1.8: + * Add "ALL" as a new way to select all outputs 6fda8d4 + Compatibility for the old way with "*" will remain + * Allow for transparent backgrounds #103 + * Fix GCC 15 compatibility issues #90 + * Fix monitor selection issue #78 + +------------------------------------------------------------------- Old: ---- 1.7.tar.gz New: ---- 1.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mpvpaper.spec ++++++ --- /var/tmp/diff_new_pack.5VBAdh/_old 2025-05-14 17:02:11.133694770 +0200 +++ /var/tmp/diff_new_pack.5VBAdh/_new 2025-05-14 17:02:11.133694770 +0200 @@ -1,7 +1,7 @@ # # spec file for package mpvpaper # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: mpvpaper -Version: 1.7 +Version: 1.8 Release: 0 Summary: A video wallpaper program for wlroots based wayland compositors License: GPL-3.0-or-later ++++++ 1.7.tar.gz -> 1.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpvpaper-1.7/README.md new/mpvpaper-1.8/README.md --- old/mpvpaper-1.7/README.md 2024-08-05 19:51:17.000000000 +0200 +++ new/mpvpaper-1.8/README.md 2025-05-10 04:25:57.000000000 +0200 @@ -30,7 +30,7 @@ ``` To play the same video on all outputs: ``` -mpvpaper '*' /path/to/video +mpvpaper ALL /path/to/video ``` You can also forward mpv options by passing "--mpv-options" or "-o" like so: ``` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpvpaper-1.7/mpvpaper.man new/mpvpaper-1.8/mpvpaper.man --- old/mpvpaper-1.7/mpvpaper.man 2024-08-05 19:51:17.000000000 +0200 +++ new/mpvpaper-1.8/mpvpaper.man 2025-05-10 04:25:57.000000000 +0200 @@ -1,4 +1,4 @@ -.TH MPVPAPER 1 "September 2022" "mpvpaper 1.3" "User Manual" +.TH MPVPAPER 1 "May 2025" "mpvpaper 1.8" "User Manual" .SH NAME mpvpaper \- video wallpaper player using mpv for wlroots .SH SYNOPSIS @@ -62,7 +62,7 @@ To play the same video on all outputs: .RS -mpvpaper '*' /path/to/video +mpvpaper ALL /path/to/video .RE Forward mpv options by passing "--mpv-options" or "-o" like so: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpvpaper-1.7/src/holder.c new/mpvpaper-1.8/src/holder.c --- old/mpvpaper-1.7/src/holder.c 2024-08-05 19:51:17.000000000 +0200 +++ new/mpvpaper-1.8/src/holder.c 2025-05-10 04:25:57.000000000 +0200 @@ -45,8 +45,6 @@ int start_time; } halt_info = {NULL, NULL, false, 0}; -static void nop() {} - static void revive_mpvpaper() { // Get the "real" cwd char exe_dir[1024]; @@ -197,11 +195,14 @@ wl_surface_commit(output->surface); } -static void output_name(void *data, struct wl_output *wl_output, const char *name) { - (void)wl_output; +static void output_geometry(void *data, struct wl_output *wl_output, int32_t x, int32_t y, int32_t physical_width, + int32_t physical_height, int32_t subpixel, const char *make, const char *model, int32_t transform) { + // NOP +} - struct display_output *output = data; - output->name = strdup(name); +static void output_mode(void *data, struct wl_output *wl_output, uint32_t flags, int32_t width, int32_t height, + int32_t refresh) { + // NOP } static void output_done(void *data, struct wl_output *wl_output) { @@ -211,13 +212,27 @@ bool name_ok = (strstr(output->state->monitor, output->name) != NULL) || (strstr(output->state->monitor, output->identifier) != NULL) || - (strcmp(output->state->monitor, "*") == 0); + (strcmp(output->state->monitor, "*") == 0) || + (strcmp(output->state->monitor, "ALL") == 0) || + (strcmp(output->state->monitor, "All") == 0) || + (strcmp(output->state->monitor, "all") == 0); if (name_ok && !output->layer_surface) create_layer_surface(output); if (!name_ok) destroy_display_output(output); } +static void output_scale(void *data, struct wl_output *wl_output, int32_t scale) { + // NOP +} + +static void output_name(void *data, struct wl_output *wl_output, const char *name) { + (void)wl_output; + + struct display_output *output = data; + output->name = strdup(name); +} + static void output_description(void *data, struct wl_output *wl_output, const char *description) { (void)wl_output; @@ -235,10 +250,10 @@ } static const struct wl_output_listener output_listener = { - .geometry = nop, - .mode = nop, + .geometry = output_geometry, + .mode = output_mode, .done = output_done, - .scale = nop, + .scale = output_scale, .name = output_name, .description = output_description, }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mpvpaper-1.7/src/main.c new/mpvpaper-1.8/src/main.c --- old/mpvpaper-1.7/src/main.c 2024-08-05 19:51:17.000000000 +0200 +++ new/mpvpaper-1.8/src/main.c 2025-05-10 04:25:57.000000000 +0200 @@ -88,8 +88,6 @@ static bool SHOW_OUTPUTS = false; static int VERBOSE = 0; -static void nop() {} - static void exit_cleanup() { // Give mpv a chance to finish @@ -123,7 +121,7 @@ exit(reason); } -static void *exit_by_pthread() { +static void *exit_by_pthread(void *_) { exit_mpvpaper(EXIT_SUCCESS); pthread_exit(NULL); } @@ -262,7 +260,7 @@ return NULL; } -static void *monitor_pauselist() { +static void *monitor_pauselist(void *_) { pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); bool list_paused = 0; @@ -286,7 +284,7 @@ pthread_exit(NULL); } -static void *monitor_stoplist() { +static void *monitor_stoplist(void *_) { pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); while (halt_info.stoplist) { @@ -303,7 +301,7 @@ pthread_exit(NULL); } -static void *handle_auto_pause() { +static void *handle_auto_pause(void *_) { pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); while (halt_info.auto_pause) { @@ -327,7 +325,7 @@ pthread_exit(NULL); } -static void *handle_auto_stop() { +static void *handle_auto_stop(void *_) { pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); while (halt_info.auto_stop) { @@ -344,7 +342,7 @@ pthread_exit(NULL); } -static void *handle_mpv_events() { +static void *handle_mpv_events(void *_) { pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL); int mpv_paused = 0; time_t start_time = time(NULL); @@ -420,6 +418,7 @@ mpv_set_option_string(mpv, "input-terminal", "yes"); mpv_set_option_string(mpv, "terminal", "yes"); mpv_set_option_string(mpv, "config", "yes"); + mpv_set_option_string(mpv, "background-color", "#00000000"); // Convenience options passed for slideshow mode if (SLIDESHOW_TIME != 0) { @@ -572,6 +571,7 @@ EGL_RED_SIZE, 8, EGL_GREEN_SIZE, 8, EGL_BLUE_SIZE, 8, + EGL_ALPHA_SIZE, 8, EGL_NONE }; @@ -664,7 +664,7 @@ // So we are going to force GL_BACK just like Mesa's EGL implementation glDrawBuffer(GL_BACK); - glClearColor(0.0f, 0.0f, 0.0f, 1.0f); + glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // Start render loop render(output); @@ -710,11 +710,14 @@ wl_surface_commit(output->surface); } -static void output_name(void *data, struct wl_output *wl_output, const char *name) { - (void)wl_output; +static void output_geometry(void *data, struct wl_output *wl_output, int32_t x, int32_t y, int32_t physical_width, + int32_t physical_height, int32_t subpixel, const char *make, const char *model, int32_t transform) { + // NOP +} - struct display_output *output = data; - output->name = strdup(name); +static void output_mode(void *data, struct wl_output *wl_output, uint32_t flags, int32_t width, int32_t height, + int32_t refresh) { + // NOP } static void output_done(void *data, struct wl_output *wl_output) { @@ -723,8 +726,13 @@ struct display_output *output = data; bool name_ok = (strstr(output->state->monitor, output->name) != NULL) || - (strstr(output->state->monitor, output->identifier) != NULL) || - (strcmp(output->state->monitor, "*") == 0); + (strlen(output->identifier) != 0 && strstr(output->state->monitor, output->identifier) != NULL) || + // Keep for legacy reasons + (strcmp(output->state->monitor, "*") == 0) || + // Let's just cover all cases here + (strcmp(output->state->monitor, "ALL") == 0) || + (strcmp(output->state->monitor, "All") == 0) || + (strcmp(output->state->monitor, "all") == 0); if (name_ok && !output->layer_surface) { if (VERBOSE) cflp_info("Output %s (%s) selected", output->name, output->identifier); @@ -742,6 +750,13 @@ output->scale = scale; } +static void output_name(void *data, struct wl_output *wl_output, const char *name) { + (void)wl_output; + + struct display_output *output = data; + output->name = strdup(name); +} + static void output_description(void *data, struct wl_output *wl_output, const char *description) { (void)wl_output; @@ -766,8 +781,8 @@ } static const struct wl_output_listener output_listener = { - .geometry = nop, - .mode = nop, + .geometry = output_geometry, + .mode = output_mode, .done = output_done, .scale = output_scale, .name = output_name,
