On Mon, Aug 19 2024, José Maldonado wrote: > Hi! > > A new update for x11/dunst, for bump version to v1.11.0 (with patches > updates), take a look at the changelog for all the bug fixes and > improvements. > > Added > > * Add corners, progress_bar_corners and icon_corners options to > control which corners to round (#1268) > * Support GTK/CSS cursor names on Wayland (#1276) > * Make dunst more portable (#1288) > * Print detected monitors names (X11) (#1332) > * New completions for bash, zsh and fish > > Changed > > * Make X11 optional in build (this allows wayland-only dunst) (#1290) > * Shell completions are now official and can be installed from the > Makefile (#1262, #1263) > * Don't search for icon path if icons are disabled (#1301) > * Eagerly parse and cache colors (#1306) > * Update dunstctl manpage (#1298) > * Update documentation (#1315, #1334) > > Fixed > > * Fix settings initialization (this prevented --print and > --startup_notification from working) (#1299) > * Rework timer logic and fix error about Glib source ID for good (#1308, > #1196) > * Prevent memory corruption in XrmSetDatabase (#1256, #1291) > * Don't try to print NULL strings (#1323) > * Do not resolve icon paths twice (#1307, #1314) > * Don't crash the test suite if librsvg is not present (#1329) > * Fix memory leak in DBus RuleEnable (#1328) > * Fix dunstctl rule (#1281) > * Remove newlines from icon logging (#1296) > * Prevent make from failing if git tags are not found (#1287) > * Fix some typos (#1324, #1325, #1279) > > -- > "Dios en su Cielo, todo bien en la Tierra" > *********************************************** > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/x11/dunst/Makefile,v > diff -u -p -r1.16 Makefile > --- Makefile 2 Nov 2023 11:49:20 -0000 1.16 > +++ Makefile 20 Aug 2024 00:57:35 -0000 > @@ -2,8 +2,7 @@ COMMENT = customizable and lightweight n > > GH_ACCOUNT = dunst-project > GH_PROJECT = dunst > -GH_TAGNAME = v1.9.2 > -REVISION = 0 > +GH_TAGNAME = v1.11.0 > > CATEGORIES = x11 > > Index: distinfo > =================================================================== > RCS file: /cvs/ports/x11/dunst/distinfo,v > diff -u -p -r1.9 distinfo > --- distinfo 8 May 2023 17:58:46 -0000 1.9 > +++ distinfo 20 Aug 2024 00:57:35 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (dunst-1.9.2.tar.gz) = +mzkXAr0uuGIsNZ5pbqS+Pm35DAbsbtHboLfJrzp5xo= > -SIZE (dunst-1.9.2.tar.gz) = 4614703 > +SHA256 (dunst-1.11.0.tar.gz) = McDrdJyoPat/WvM765Ucn5qEUSY/zubLz4uj3tvy4fE= > +SIZE (dunst-1.11.0.tar.gz) = 4645279 > Index: patches/patch-config_mk > =================================================================== > RCS file: /cvs/ports/x11/dunst/patches/patch-config_mk,v > diff -u -p -r1.8 patch-config_mk > --- patches/patch-config_mk 8 May 2023 17:58:46 -0000 1.8 > +++ patches/patch-config_mk 20 Aug 2024 00:57:35 -0000 > @@ -1,14 +1,14 @@ > Index: config.mk > --- config.mk.orig > +++ config.mk > -@@ -42,8 +42,8 @@ endif > - > +@@ -52,8 +52,8 @@ endif > + > # flags > DEFAULT_CPPFLAGS = -Wno-gnu-zero-variadic-macro-arguments -D_DEFAULT_SOURCE > -DVERSION=\"${VERSION}\" -DSYSCONFDIR=\"${SYSCONFDIR}\" > --DEFAULT_CFLAGS = -g -std=gnu99 -pedantic -Wall -Wno-overlength-strings > -Os ${ENABLE_WAYLAND} ${EXTRA_CFLAGS} > +-DEFAULT_CFLAGS = -g -std=gnu11 -pedantic -Wall -Wno-overlength-strings > -Os ${ENABLE_WAYLAND} ${ENABLE_X11} ${EXTRA_CFLAGS} > -DEFAULT_LDFLAGS = -lm -lrt > -+DEFAULT_CFLAGS = -g -std=gnu99 -pedantic -Wall -Wno-overlength-strings > ${ENABLE_WAYLAND} ${EXTRA_CFLAGS} > ++DEFAULT_CFLAGS = -g -std=gnu11 -pedantic -Wall -Wno-overlength-strings > ${ENABLE_WAYLAND} ${ENABLE_X11} ${EXTRA_CFLAGS} > +DEFAULT_LDFLAGS = -lm > - > + > CPPFLAGS_DEBUG := -DDEBUG_BUILD > CFLAGS_DEBUG := -O0 > Index: patches/patch-docs_dunst_5_pod > =================================================================== > RCS file: /cvs/ports/x11/dunst/patches/patch-docs_dunst_5_pod,v > diff -u -p -r1.4 patch-docs_dunst_5_pod > --- patches/patch-docs_dunst_5_pod 8 May 2023 17:58:46 -0000 1.4 > +++ patches/patch-docs_dunst_5_pod 20 Aug 2024 00:57:35 -0000 > @@ -1,7 +1,7 @@ > Index: docs/dunst.5.pod > --- docs/dunst.5.pod.orig > +++ docs/dunst.5.pod > -@@ -409,7 +409,7 @@ Hide the count of stacked duplicate notifications. > +@@ -444,7 +444,7 @@ Hide the count of stacked duplicate notifications. > Show an indicator if a notification contains actions and/or open-able URLs. > See > ACTIONS below for further details. > > @@ -10,16 +10,16 @@ Index: docs/dunst.5.pod > > Can be set to a colon-separated list of paths to search for icons to use > with > notifications. > -@@ -423,7 +423,7 @@ replace this and will need new settings. > - Comma-separated of names of the the themes to use for looking up icons. > This has > - to be the name of the directory in which the theme is located, not the > +@@ -458,7 +458,7 @@ replace this and will need new settings. > + Comma-separated list of names of the the themes to use for looking up > icons. This > + as to be the name of the directory in which the theme is located, not the > human-friendly name of the theme. So for example, the theme B<Breeze Dark> > is > -located in F</usr/share/icons/breeze-dark>. In this case you have to set the > +located in F<${PREFIX}/share/icons/breeze-dark>. In this case you have to > set the > theme to B<breeze-dark>. > > The first theme in the list is the most important. Only if the icon cannot > be > -@@ -461,12 +461,12 @@ Maximum number of notifications that will be kept in h > +@@ -496,12 +496,12 @@ Maximum number of notifications that will be kept in > history. After that limit > is reached, older notifications will be deleted once a new one arrives. See > HISTORY. > > Index: patches/patch-dunstrc > =================================================================== > RCS file: /cvs/ports/x11/dunst/patches/patch-dunstrc,v > diff -u -p -r1.7 patch-dunstrc > --- patches/patch-dunstrc 8 May 2023 17:58:46 -0000 1.7 > +++ patches/patch-dunstrc 20 Aug 2024 00:57:35 -0000 > @@ -1,16 +1,16 @@ > Index: dunstrc > --- dunstrc.orig > +++ dunstrc > -@@ -217,7 +217,7 @@ > +@@ -230,7 +230,7 @@ > max_icon_size = 128 > > - # Paths to default icons (only neccesary when not using recursive icon > lookup) > + # Paths to default icons (only necessary when not using recursive icon > lookup) > - icon_path = > /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ > + icon_path = > ${LOCALBASE}/share/icons/gnome/16x16/status/:${LOCALBASE}/share/icons/gnome/16x16/devices/ > > ### History ### > > -@@ -231,10 +231,10 @@ > +@@ -244,10 +244,10 @@ > ### Misc/Advanced ### > > # dmenu path. > Index: patches/patch-src_dunst_c > =================================================================== > RCS file: /cvs/ports/x11/dunst/patches/patch-src_dunst_c,v > diff -u -p -r1.8 patch-src_dunst_c > --- patches/patch-src_dunst_c 8 May 2023 17:58:46 -0000 1.8 > +++ patches/patch-src_dunst_c 20 Aug 2024 00:57:35 -0000 > @@ -1,12 +1,12 @@ > Index: src/dunst.c > --- src/dunst.c.orig > +++ src/dunst.c > -@@ -100,7 +100,7 @@ static gboolean run(void *data) > +@@ -162,7 +162,7 @@ static gboolean run(void *data) > gint64 sleep = timeout_at - now; > sleep = MAX(sleep, 1000); // Sleep at least 1ms > > - LOG_D("Sleeping for %li ms", sleep/1000); > + LOG_D("Sleeping for %lli ms", (long long)sleep/1000); > > - if (sleep >= 0) { > - if (reason == 0 || next_timeout < now || timeout_at > < next_timeout) { > + next_timeout_id = g_timeout_add(sleep/1000, run, NULL); > + } > Index: patches/patch-src_input_c > =================================================================== > RCS file: patches/patch-src_input_c > diff -N patches/patch-src_input_c > --- patches/patch-src_input_c 6 Jul 2022 19:30:02 -0000 1.3 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,13 +0,0 @@ > -Index: src/input.c > ---- src/input.c.orig > -+++ src/input.c > -@@ -4,7 +4,9 @@ > - #include "settings.h" > - #include "queues.h" > - #include <stddef.h> > -+#ifdef __linux__ > - #include <linux/input-event-codes.h> > -+#endif > - > - int get_notification_clickable_height(struct notification *n, bool first, > bool last) > - { > Index: patches/patch-src_notification_c > =================================================================== > RCS file: /cvs/ports/x11/dunst/patches/patch-src_notification_c,v > diff -u -p -r1.7 patch-src_notification_c > --- patches/patch-src_notification_c 8 May 2023 17:58:46 -0000 1.7 > +++ patches/patch-src_notification_c 20 Aug 2024 00:57:35 -0000 > @@ -1,16 +1,20 @@ > Index: src/notification.c > --- src/notification.c.orig > +++ src/notification.c > -@@ -60,7 +60,7 @@ void notification_print(const struct notification *n) > - printf("\ticon_id: '%s'\n", n->icon_id); > +@@ -60,9 +60,9 @@ void notification_print(const struct notification *n) > + printf("\ticon_id: '%s'\n", STR_NN(n->icon_id)); > printf("\tdesktop_entry: '%s'\n", n->desktop_entry ? > n->desktop_entry : ""); > - printf("\tcategory: %s\n", n->category); > + printf("\tcategory: %s\n", STR_NN(n->category)); > - printf("\ttimeout: %ld\n", n->timeout/1000); > +- printf("\tstart: %ld\n", n->start); > +- printf("\ttimestamp: %ld\n", n->timestamp); > + printf("\ttimeout: %lld\n", (long long)n->timeout/1000); > ++ printf("\tstart: %lld\n", n->start); > ++ printf("\ttimestamp: %lld\n", n->timestamp); > printf("\turgency: %s\n", > notification_urgency_to_string(n->urgency)); > printf("\ttransient: %d\n", n->transient); > - printf("\tformatted: '%s'\n", n->msg); > -@@ -140,8 +140,8 @@ void notification_run_script(struct notification *n) > + printf("\tformatted: '%s'\n", STR_NN(n->msg)); > +@@ -143,8 +143,8 @@ void notification_run_script(struct notification *n) > // Set environment variables > gchar *n_id_str = g_strdup_printf("%i", > n->id); > gchar *n_progress_str = > g_strdup_printf("%i", n->progress); > @@ -21,7 +25,7 @@ Index: src/notification.c > safe_setenv("DUNST_APP_NAME", appname); > safe_setenv("DUNST_SUMMARY", summary); > safe_setenv("DUNST_BODY", body); > -@@ -684,14 +684,14 @@ void notification_update_text_to_render(struct notific > +@@ -705,14 +705,15 @@ void notification_update_text_to_render(struct > notification *n) > char *new_buf; > if (hours > 0) { > new_buf = > @@ -36,6 +40,7 @@ Index: src/notification.c > } else { > - new_buf = g_strdup_printf("%s (%lds old)", buf, > seconds); > + new_buf = g_strdup_printf("%s (%llds old)", buf, > seconds); > ++ > } > > g_free(buf); > Index: patches/patch-src_settings_h > =================================================================== > RCS file: patches/patch-src_settings_h > diff -N patches/patch-src_settings_h > --- patches/patch-src_settings_h 2 Nov 2023 11:49:21 -0000 1.4 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,12 +0,0 @@ > -Index: src/settings.h > ---- src/settings.h.orig > -+++ src/settings.h > -@@ -13,6 +13,8 @@ > - > - #define LIST_END (-1) > - > -+enum mouse_button { BTN_LEFT=1, BTN_RIGHT, BTN_MIDDLE, BTN_TOUCH }; > -+ > - enum alignment { ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT }; > - enum vertical_alignment { VERTICAL_TOP, VERTICAL_CENTER, VERTICAL_BOTTOM }; > - enum separator_color { SEP_FOREGROUND, SEP_AUTO, SEP_FRAME, SEP_CUSTOM }; > Index: patches/patch-src_utils_c > =================================================================== > RCS file: patches/patch-src_utils_c > diff -N patches/patch-src_utils_c > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-src_utils_c 20 Aug 2024 00:57:35 -0000 > @@ -0,0 +1,54 @@ > +Index: src/utils.c > +--- src/utils.c.orig > ++++ src/utils.c > +@@ -13,7 +13,6 @@ > + #include <sys/stat.h> > + #include <time.h> > + #include <unistd.h> > +-#include <wordexp.h> > + > + #include "log.h" > + #include "settings_data.h" > +@@ -180,34 +179,16 @@ int string_array_length(char **s) > + /* see utils.h */ > + char *string_to_path(char *string) > + { > +- ASSERT_OR_RET(string, string); > +- > +- wordexp_t we; > +- switch (wordexp(string, &we, WRDE_NOCMD | WRDE_UNDEF)) { > +- case 0: > +- break; > +- case WRDE_BADCHAR: > +- LOG_W("Expansion of \"%s\" failed. It contains > invalid characters.", string); > +- return string; > +- case WRDE_BADVAL: > +- LOG_W("Expansion of \"%s\" failed. It contains an > undefined variable.", string); > +- return string; > +- case WRDE_CMDSUB: > +- LOG_W("Expansion of \"%s\" failed. The requested > command substitution is currently not supported.", string); > +- return string; > +- case WRDE_NOSPACE: > +- LOG_W("Expansion of \"%s\" failed. We ran out of > memory.", string); > +- return string; > +- case WRDE_SYNTAX: > +- LOG_W("Expansion of \"%s\" failed. It contains > invalid syntax.", string); > +- return string; > +- } > +- g_free(string); > ++ if (string && STRN_EQ(string, "~/", 2)) { > ++ char *home = g_strconcat(user_get_home(), "/", NULL); > ++ > ++ string = string_replace_at(string, 0, 2, home); > + > +- char *res = g_strjoinv(" ", we.we_wordv); > +- wordfree(&we); > ++ g_free(home); > ++ } > + > +- return res; > ++ return string; > ++ > + } > + > + /* see utils.h */ > Index: patches/patch-src_x11_x_c > =================================================================== > RCS file: patches/patch-src_x11_x_c > diff -N patches/patch-src_x11_x_c > --- patches/patch-src_x11_x_c 11 Mar 2022 20:15:26 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,13 +0,0 @@ > -Index: src/x11/x.c > ---- src/x11/x.c.orig > -+++ src/x11/x.c > -@@ -19,7 +19,9 @@ > - #include <X11/Xlib.h> > - #include <X11/Xresource.h> > - #include <X11/Xutil.h> > -+#ifdef __linux__ > - #include <linux/input-event-codes.h> > -+#endif > - > - #include "../dbus.h" > - #include "../draw.h" > Index: pkg/PLIST > =================================================================== > RCS file: /cvs/ports/x11/dunst/pkg/PLIST,v > diff -u -p -r1.6 PLIST > --- pkg/PLIST 11 Mar 2022 20:15:26 -0000 1.6 > +++ pkg/PLIST 20 Aug 2024 00:57:35 -0000 > @@ -8,6 +8,19 @@ share/dunst/ > @sample ${SYSCONFDIR}/dunst/ > share/dunst/dunstrc > @sample ${SYSCONFDIR}/dunst/dunstrc > +share/examples/bash-completion/ > +share/examples/bash-completion/completions/ > +share/examples/bash-completion/completions/dunst > +share/examples/bash-completion/completions/dunstctl > share/examples/dbus-1/ > share/examples/dbus-1/services/ > share/examples/dbus-1/services/org.knopwob.dunst.service > +share/examples/fish/ > +share/examples/fish/vendor_completions.d/ > +share/examples/fish/vendor_completions.d/dunst > +share/examples/fish/vendor_completions.d/dunstctl > +share/examples/fish/vendor_completions.d/dunstify > +share/examples/zsh/ > +share/examples/zsh/site-functions/ > +share/examples/zsh/site-functions/_dunst > +share/examples/zsh/site-functions/_dunstctl
Hi, I have similar diff I'm working with as well. I'm trying to see if using glob(3) would be better in the utils.c but so far I haven't got it to work. I'm trying to come up a bit more clean implementation so it might be upstreamed later on. timo