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ä <timo.my...@bittivirhe.fi> wrote:

On Tue, Aug 20 2024, José Maldonado wrote:

El mar, 20 ago 2024 a la(s) 12:24 a.m., Timo Myyrä
(timo.my...@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<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

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<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 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 <stddef.h>
-+#ifdef __linux__
- #include <linux/input-event-codes.h>
-+#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 <sys/stat.h>
+ #include <time.h>
+ #include <unistd.h>
++#ifndef __OpenBSD__
+ #include <wordexp.h>
++#else
++#include <glob.h>
++#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 <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"
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

Reply via email to