From: Stuart Henderson Subject: Re: update: x11/dunst version bump v1.11.0 To: Timo Myyrä , José Maldonado Cc: ports Date: Wed, 21 Aug 2024 11:41:25 +0100 They're using wordexp to replace environment variables, I don't think either glob or the first propose patch handle that. -- Sent from a phone, apologies for poor formatting. On 20 August 2024 18:51:55 Timo Myyrä wrote: > On Tue, Aug 20 2024, José Maldonado wrote: > >> El mar, 20 ago 2024 a la(s) 12:24 a.m., Timo Myyrä >> (timo.myyra@bittivirhe.fi) escribió: >>> >>> 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>> Dark> is >>> > -located in F. 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. >>> > >>> > 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 >>> > -+#ifdef __linux__ >>> > - #include >>> > -+#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 >>> > + #include >>> > + #include >>> > +-#include >>> > + >>> > + #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 >>> > - #include >>> > - #include >>> > -+#ifdef __linux__ >>> > - #include >>> > -+#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 >> >> Hi! >> >> I can try something using glob(3), but at the moment I am using it as >> is without problems. Maybe for the weekend, I can give you something >> with a more elaborate glob(3) and we'll check it out. >> >> Thanks! > > I got following diff at the moment. Not sure if the glob adds value > here. > > timo > > diff /usr/ports > commit - 8e4b8dff34f8c8a46b16f8f5f305a301d14bbf3d > path + /usr/ports > blob - eac7443cb23f53d564d0d50c9e3a4c894a1fda82 > file + x11/dunst/Makefile > --- x11/dunst/Makefile > +++ x11/dunst/Makefile > @@ -2,8 +2,7 @@ COMMENT = customizable and lightweight notification-da > > GH_ACCOUNT = dunst-project > GH_PROJECT = dunst > -GH_TAGNAME = v1.9.2 > -REVISION = 0 > +GH_TAGNAME = v1.11.0 > > CATEGORIES = x11 > > blob - 093bbc84211d476e0f7fa34991e242f0a06f73da > file + x11/dunst/distinfo > --- x11/dunst/distinfo > +++ x11/dunst/distinfo > @@ -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 > blob - 958ea4261737f9be45def56356d55fbd23c4dccb > file + x11/dunst/patches/patch-config_mk > --- x11/dunst/patches/patch-config_mk > +++ x11/dunst/patches/patch-config_mk > @@ -1,13 +1,13 @@ > 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 > blob - 76eb300d292dd84ed65eb1f6f5a8a1deb9d9a797 > file + x11/dunst/patches/patch-docs_dunst_5_pod > --- x11/dunst/patches/patch-docs_dunst_5_pod > +++ x11/dunst/patches/patch-docs_dunst_5_pod > @@ -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 is > -located in F. 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. > > 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 h > is reached, older notifications will be deleted once a new one arrives. See > HISTORY. > > blob - fed4e50ecba2ae7b194f97a5556806372857a133 > file + x11/dunst/patches/patch-dunstrc > --- x11/dunst/patches/patch-dunstrc > +++ x11/dunst/patches/patch-dunstrc > @@ -1,21 +1,21 @@ > 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. > - dmenu = /usr/bin/dmenu -p dunst: > -+ dmenu = ${LOCALBASE}/bin/dmenu -p dunst: > ++ dmenu = ${LOCALBASE}/usr/bin/dmenu -p dunst: > > # Browser for opening urls in context menu. > - browser = /usr/bin/xdg-open > blob - cba0c845fee96e3f439ac82f300a16f0427e3bb9 > file + x11/dunst/patches/patch-src_dunst_c > --- x11/dunst/patches/patch-src_dunst_c > +++ x11/dunst/patches/patch-src_dunst_c > @@ -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); > + } > blob - f49421b7619b5443f71067d2824793187f223852 > file + /dev/null > --- x11/dunst/patches/patch-src_input_c > +++ /dev/null > @@ -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 > -+#ifdef __linux__ > - #include > -+#endif > - > - int get_notification_clickable_height(struct notification *n, bool first, > bool last) > - { > blob - 715b6f4731cd5787df605a5fe2e7e98aa020ece7 > file + x11/dunst/patches/patch-src_notification_c > --- x11/dunst/patches/patch-src_notification_c > +++ x11/dunst/patches/patch-src_notification_c > @@ -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", (long long)n->start); > ++ printf("\ttimestamp: %lld\n", (long long)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,21 +25,24 @@ 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 notific > char *new_buf; > if (hours > 0) { > new_buf = > - g_strdup_printf("%s (%ldh %ldm %lds old)", > buf, hours, > -+ g_strdup_printf("%s (%lldh %lldm %llds old)", > buf, hours, > - minutes, seconds); > +- minutes, seconds); > ++ g_strdup_printf("%s (%lldh %lldm %llds old)", > buf, > ++ (long long)hours, (long > long)minutes, > ++ (long long)seconds); > } else if (minutes > 0) { > new_buf = > - g_strdup_printf("%s (%ldm %lds old)", buf, > minutes, > -+ g_strdup_printf("%s (%lldm %llds old)", buf, > minutes, > - seconds); > +- seconds); > ++ g_strdup_printf("%s (%lldm %llds old)", buf, > (long long)minutes, > ++ (long long)seconds); > } else { > - new_buf = g_strdup_printf("%s (%lds old)", buf, > seconds); > -+ new_buf = g_strdup_printf("%s (%llds old)", buf, > seconds); > ++ new_buf = g_strdup_printf("%s (%llds old)", buf, > (long long)seconds); > } > > g_free(buf); > blob - e7f4abb95bfa619ce7cb19344f2dee16446b0e7a > file + /dev/null > --- x11/dunst/patches/patch-src_settings_h > +++ /dev/null > @@ -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 }; > blob - /dev/null > file + x11/dunst/patches/patch-src_utils_c (mode 644) > --- /dev/null > +++ x11/dunst/patches/patch-src_utils_c > @@ -0,0 +1,40 @@ > +Index: src/utils.c > +--- src/utils.c.orig > ++++ src/utils.c > +@@ -13,7 +13,11 @@ > + #include > + #include > + #include > ++#ifndef __OpenBSD__ > + #include > ++#else > ++#include > ++#endif > + > + #include "log.h" > + #include "settings_data.h" > +@@ -181,7 +185,7 @@ int string_array_length(char **s) > + char *string_to_path(char *string) > + { > + ASSERT_OR_RET(string, string); > +- > ++#ifndef __OpenBSD__ > + wordexp_t we; > + switch (wordexp(string, &we, WRDE_NOCMD | WRDE_UNDEF)) { > + case 0: > +@@ -208,6 +212,15 @@ char *string_to_path(char *string) > + wordfree(&we); > + > + return res; > ++#else > ++ glob_t p; > ++ if (glob(string, GLOB_TILDE, NULL, &p) == 0) { > ++ char *str = g_strjoinv(" ", p.gl_pathv); > ++ globfree(&p); > ++ return str; > ++ } > ++ return string; > ++#endif > + } > + > + /* see utils.h */ > blob - 7fd20d0e4edf51b71a83f9dc5f95a0ced5d4c98e > file + /dev/null > --- x11/dunst/patches/patch-src_x11_x_c > +++ /dev/null > @@ -1,13 +0,0 @@ > -Index: src/x11/x.c > ---- src/x11/x.c.orig > -+++ src/x11/x.c > -@@ -19,7 +19,9 @@ > - #include > - #include > - #include > -+#ifdef __linux__ > - #include > -+#endif > - > - #include "../dbus.h" > - #include "../draw.h" > blob - 118752ce99490e2ccca2614ef2e5e184afb0c909 > file + x11/dunst/pkg/PLIST > --- x11/dunst/pkg/PLIST > +++ x11/dunst/pkg/PLIST > @@ -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