Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package fuzzel for openSUSE:Factory checked 
in at 2024-09-15 12:35:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fuzzel (Old)
 and      /work/SRC/openSUSE:Factory/.fuzzel.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fuzzel"

Sun Sep 15 12:35:37 2024 rev:13 rq:1200805 version:1.11.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/fuzzel/fuzzel.changes    2024-09-10 
21:15:58.536892411 +0200
+++ /work/SRC/openSUSE:Factory/.fuzzel.new.29891/fuzzel.changes 2024-09-15 
12:40:01.161594748 +0200
@@ -1,0 +2,18 @@
+Fri Sep 13 10:08:10 UTC 2024 - llyyr <[email protected]>
+
+- Update to 1.11.1:
+  - Added:
+    * New option --hide-before-typing for application launcher mode
+      hides the list until the first character is typed
+  - Changed:
+    * Logging no longer reports "aborted" if dmenu mode is called with
+      no input
+  - Fixed:
+    * Crash when the border size is larger than the border radius
+    * Regression: cursor not centered when using a custom line height
+    * Regression: selected background not rendered on top of the
+      regular background
+    * Regression: Supporting XDG_CONFIG_HOME as absolute path but not
+      relative should be supported
+
+-------------------------------------------------------------------

Old:
----
  fuzzel-1.11.0.tar.gz
  fuzzel-1.11.0.tar.gz.sig

New:
----
  fuzzel-1.11.1.tar.gz
  fuzzel-1.11.1.tar.gz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fuzzel.spec ++++++
--- /var/tmp/diff_new_pack.S9TQYx/_old  2024-09-15 12:40:01.621613913 +0200
+++ /var/tmp/diff_new_pack.S9TQYx/_new  2024-09-15 12:40:01.625614079 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           fuzzel
-Version:        1.11.0
+Version:        1.11.1
 Release:        0
 Summary:        A Wayland-native application launcher, similar to rofi's drun 
mode
 License:        MIT

++++++ fuzzel-1.11.0.tar.gz -> fuzzel-1.11.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/CHANGELOG.md 
new/fuzzel-1.11.1/CHANGELOG.md
--- old/fuzzel-1.11.0/CHANGELOG.md      2024-09-09 06:29:45.000000000 +0200
+++ new/fuzzel-1.11.1/CHANGELOG.md      2024-09-13 08:35:36.000000000 +0200
@@ -1,5 +1,6 @@
 # Changelog
 
+* [1.11.1](#1-11-1)
 * [1.11.0](#1-11-0)
 * [1.10.2](#1-10-2)
 * [1.10.1](#1-10-1)
@@ -26,6 +27,49 @@
 * [1.4.1](#1-4-1)
 
 
+## 1.11.1
+
+### Added
+
+* New option `--hide-before-typing` for application launcher mode hides
+  the list until the first character is typed ([#351][351])
+
+
+### Changed
+
+* Logging no longer reports "aborted" if dmenu mode is called with no
+  input ([#406][406]).
+
+
+### Fixed
+
+* Crash when the border size is larger than the border radius
+  ([#401][401]).
+* Regression: cursor not centered when using a custom line height
+  ([#403][403]).
+* Regression: selected background not rendered on top of the regular
+  background ([#405][405]).
+* Regression: Supporting XDG_CUSTOM_HOME as absolute path but not relative
+  should be supported ([#408][408])
+
+[351]: https://codeberg.org/dnkl/fuzzel/issues/351
+[401]: https://codeberg.org/dnkl/fuzzel/issues/401
+[403]: https://codeberg.org/dnkl/fuzzel/issues/403
+[405]: https://codeberg.org/dnkl/fuzzel/issues/405
+[406]: https://codeberg.org/dnkl/fuzzel/issues/406
+[408]: https://codeberg.org/dnkl/fuzzel/issues/408
+
+
+### Contributors
+
+* @ever
+* @ingolemo
+* @otaj
+* @thoralf
+* @tranzystorekk
+* Mark Stosberg
+
+
 ## 1.11.0
 
 ### Added
@@ -89,6 +133,8 @@
 * Support for pasting text into fuzzel. Both the regular clipboard,
   and the primary clipboard are supported. See the new
   `clipboard-paste` and `primary-paste` key bindings ([#200][200]).
+* `hide-before-typing` command line and config option, hiding the
+  application list until the first letter is typed. ([#351][#351]).
 
 [344]: https://codeberg.org/dnkl/fuzzel/issues/344
 [131]: https://codeberg.org/dnkl/fuzzel/issues/131
@@ -100,6 +146,7 @@
 [188]: https://codeberg.org/dnkl/fuzzel/issues/188
 [274]: https://codeberg.org/dnkl/fuzzel/issues/274
 [200]: https://codeberg.org/dnkl/fuzzel/issues/200
+[351]: https://codeberg.org/dnkl/fuzzel/issues/351
 
 
 ### Changed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/PKGBUILD new/fuzzel-1.11.1/PKGBUILD
--- old/fuzzel-1.11.0/PKGBUILD  2024-09-09 06:29:45.000000000 +0200
+++ new/fuzzel-1.11.1/PKGBUILD  2024-09-13 08:35:36.000000000 +0200
@@ -3,7 +3,7 @@
 SVG_BACKEND=librsvg  # none|librsvg|nanosvg (librsvg force-enables cairo, 
nanosvg is bundled)
 
 pkgname=fuzzel
-pkgver=1.11.0
+pkgver=1.11.1
 pkgrel=1
 pkgdesc="Simplistic application launcher for wayland"
 arch=('x86_64' 'aarch64')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/completions/fish/fuzzel.fish 
new/fuzzel-1.11.1/completions/fish/fuzzel.fish
--- old/fuzzel-1.11.0/completions/fish/fuzzel.fish      2024-09-09 
06:29:45.000000000 +0200
+++ new/fuzzel-1.11.1/completions/fish/fuzzel.fish      2024-09-13 
08:35:36.000000000 +0200
@@ -18,6 +18,7 @@
 complete -c fuzzel -x -s D -l dpi-aware          -a "no yes auto"              
                                 -d "scale fonts using the monitor's DPI (auto)"
 complete -c fuzzel -x      -l icon-theme         -a "(find /usr/share/icons 
-mindepth 1 -maxdepth 1 -type d -print0 | xargs -0 -n 1 basename | sort)" -d 
"icon theme name (hicolor)"
 complete -c fuzzel    -s I -l no-icons                                         
                                 -d "do not render any icons"
+complete -c fuzzel         -l hide-before-typing                               
                             -d "hide application list until something is typed"
 complete -c fuzzel -x -s F -l fields             -a "filename name generic 
exec categories keywords comment"    -d "comma separated list of XDG Desktop 
entry fields to match"
 complete -c fuzzel -x -s p -l prompt                                           
                                 -d "string to use as input prompt (\"> \")"
 complete -c fuzzel -x      -l placeholder                                      
                                 -d "placeholder text in input box"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/completions/zsh/_fuzzel 
new/fuzzel-1.11.1/completions/zsh/_fuzzel
--- old/fuzzel-1.11.0/completions/zsh/_fuzzel   2024-09-09 06:29:45.000000000 
+0200
+++ new/fuzzel-1.11.1/completions/zsh/_fuzzel   2024-09-13 08:35:36.000000000 
+0200
@@ -13,6 +13,7 @@
     '--use-bold[allow fuzzel to use bold fonts]' \
     '--icon-theme[icon theme name (hicolor)]:theme:->icon_theme' \
     '(-I --no-icons)'{-I,--no-icons}'[do not render any icons]' \
+    '--hide-before-typing[hide application list until something is typed]' \
     '(-F --fields)'{-F,--fields}'[comma separated list of XDG Desktop entry 
fields to match ]:fields:(filename name generic exec categories keywords 
comment)' \
     '(-p --prompt)'{-p,--prompt}'[string to use as input prompt ("> ")]:()' \
     '--placeholder[placeholder text in the input box]:()' \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/config.c new/fuzzel-1.11.1/config.c
--- old/fuzzel-1.11.0/config.c  2024-09-09 06:29:45.000000000 +0200
+++ new/fuzzel-1.11.1/config.c  2024-09-13 08:35:36.000000000 +0200
@@ -188,7 +188,7 @@
 
     /* First, check XDG_CONFIG_HOME (or .config, if unset) */
     if (xdg_config_home != NULL && xdg_config_home[0] != '\0' &&
-            xdg_config_home[0] != '/') {
+            xdg_config_home[0] == '/') {
         if (asprintf(&path, "%s/fuzzel/fuzzel.ini", xdg_config_home) < 0) {
             LOG_ERRNO("failed to build fuzzel.ini path");
             goto done;
@@ -814,6 +814,9 @@
     else if (strcmp(key, "icons-enabled") == 0)
         return value_to_bool(ctx, &conf->icons_enabled);
 
+    else if (strcmp(key, "hide-before-typing") == 0)
+        return value_to_bool(ctx, &conf->hide_when_prompt_empty);
+
     else if (strcmp(key, "list-executables-in-path") == 0)
         return value_to_bool(ctx, &conf->list_executables_in_path);
 
@@ -1609,6 +1612,7 @@
         .match_worker_count = sysconf(_SC_NPROCESSORS_ONLN),
         .icons_enabled = true,
         .icon_theme = strdup("hicolor"),
+        .hide_when_prompt_empty = false,
         .actions_enabled = false,
         .match_mode = MATCH_MODE_FZF,
         .sort_result = true,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/config.h new/fuzzel-1.11.1/config.h
--- old/fuzzel-1.11.0/config.h  2024-09-09 06:29:45.000000000 +0200
+++ new/fuzzel-1.11.1/config.h  2024-09-13 08:35:36.000000000 +0200
@@ -126,6 +126,8 @@
     bool icons_enabled;
     char *icon_theme;
 
+    bool hide_when_prompt_empty;
+
     bool actions_enabled;
 
     struct config_key_binding_list key_bindings;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/dmenu.c new/fuzzel-1.11.1/dmenu.c
--- old/fuzzel-1.11.0/dmenu.c   2024-09-09 06:29:45.000000000 +0200
+++ new/fuzzel-1.11.1/dmenu.c   2024-09-13 08:35:36.000000000 +0200
@@ -63,7 +63,7 @@
         }
 
         if (fds[1].revents & (POLLIN | POLLHUP)) {
-            LOG_WARN("aborted");
+            LOG_DBG("aborted");
             break;
         }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/doc/fuzzel.1.scd 
new/fuzzel-1.11.1/doc/fuzzel.1.scd
--- old/fuzzel-1.11.0/doc/fuzzel.1.scd  2024-09-09 06:29:45.000000000 +0200
+++ new/fuzzel-1.11.1/doc/fuzzel.1.scd  2024-09-13 08:35:36.000000000 +0200
@@ -119,6 +119,9 @@
 *-I*,*--no-icons*
        Do not render any icons.
 
+*--hide-before-typing*
+       Hide application list until something is typed.
+
 *-F*,*--fields*=_FIELDS_
        Comma separated list of XDG Desktop entry fields to match against:
        
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/doc/fuzzel.ini.5.scd 
new/fuzzel-1.11.1/doc/fuzzel.ini.5.scd
--- old/fuzzel-1.11.0/doc/fuzzel.ini.5.scd      2024-09-09 06:29:45.000000000 
+0200
+++ new/fuzzel-1.11.1/doc/fuzzel.ini.5.scd      2024-09-13 08:35:36.000000000 
+0200
@@ -114,6 +114,11 @@
        Boolean. When enabled, application icons (from the selected
        *icon-theme*) will be rendered. Default: _yes_.
 
+*hide-before-typing*
+       Boolean. When enabled, application list will be hidden until the first
+       letter is typed. When the prompt is cleared again, the list will appear.
+       Default: _no_.
+
 *fields*
        Comma separated list of XDG Desktop entry fields to match
        against.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/fuzzel.ini new/fuzzel-1.11.1/fuzzel.ini
--- old/fuzzel-1.11.0/fuzzel.ini        2024-09-09 06:29:45.000000000 +0200
+++ new/fuzzel-1.11.1/fuzzel.ini        2024-09-13 08:35:36.000000000 +0200
@@ -6,6 +6,7 @@
 # placeholder=
 # icon-theme=hicolor
 # icons-enabled=yes
+# hide-before-typing=no
 # fields=filename,name,generic
 # password-character=*
 # filter-desktop=no
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/main.c new/fuzzel-1.11.1/main.c
--- old/fuzzel-1.11.0/main.c    2024-09-09 06:29:45.000000000 +0200
+++ new/fuzzel-1.11.1/main.c    2024-09-13 08:35:36.000000000 +0200
@@ -330,6 +330,7 @@
            "  -D,--dpi-aware=no|yes|auto     enable or disable DPI aware 
rendering (auto)\n"
            "     --icon-theme=NAME           icon theme name (\"hicolor\")\n"
            "  -I,--no-icons                  do not render any icons\n"
+           "     --hide-before-typing    hide application list until something 
is typed\n"
            "  -F,--fields=FIELDS             comma separated list of XDG 
Desktop entry\n"
            "                                 fields to match\n"
            "  -p,--prompt=PROMPT             string to use as input prompt 
(\"> \")\n"
@@ -729,6 +730,7 @@
     #define OPT_PLACEHOLDER_COLOR            292
     #define OPT_SEARCH_TEXT                  293
     #define OPT_COUNTER                      294
+    #define OPT_HIDE_WHEN_PROMPT_EMPTY       295
 
     static const struct option longopts[] = {
         {"config",               required_argument, 0, OPT_CONFIG},
@@ -740,6 +742,7 @@
         {"dpi-aware",            required_argument, 0, 'D'},
         {"icon-theme",           required_argument, 0, OPT_ICON_THEME},
         {"no-icons",             no_argument,       0, 'I'},
+        {"hide-before-typing", no_argument,     0, OPT_HIDE_WHEN_PROMPT_EMPTY},
         {"fields",               required_argument, 0, 'F'},
         {"password",             optional_argument, 0, OPT_PASSWORD},
         {"anchor",               required_argument, 0, 'a'},
@@ -817,6 +820,7 @@
         bool dpi_aware_set:1;
         bool match_fields_set:1;
         bool icons_disabled_set:1;
+        bool hide_when_prompt_empty_set:1;
         bool anchor_set:1;
         bool x_margin_set : 1;
         bool y_margin_set : 1;
@@ -943,6 +947,11 @@
             cmdline_overrides.icons_disabled_set = true;
             break;
 
+        case OPT_HIDE_WHEN_PROMPT_EMPTY:
+            cmdline_overrides.conf.hide_when_prompt_empty = true;
+            cmdline_overrides.hide_when_prompt_empty_set = true;
+            break;
+
         case 'F': {
             static const struct {
                 const char *name;
@@ -1679,6 +1688,8 @@
         conf.match_fields = cmdline_overrides.conf.match_fields;
     if (cmdline_overrides.icons_disabled_set)
         conf.icons_enabled = cmdline_overrides.conf.icons_enabled;
+    if (cmdline_overrides.hide_when_prompt_empty_set)
+        conf.hide_when_prompt_empty = 
cmdline_overrides.conf.hide_when_prompt_empty;
     if (cmdline_overrides.anchor_set)
         conf.anchor = cmdline_overrides.conf.anchor;
     if (cmdline_overrides.x_margin_set)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/meson.build 
new/fuzzel-1.11.1/meson.build
--- old/fuzzel-1.11.0/meson.build       2024-09-09 06:29:45.000000000 +0200
+++ new/fuzzel-1.11.1/meson.build       2024-09-13 08:35:36.000000000 +0200
@@ -1,5 +1,5 @@
 project('fuzzel', 'c',
-        version: '1.11.0',
+        version: '1.11.1',
         license: 'MIT',
         meson_version: '>=0.58.0',
         default_options: [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/render.c new/fuzzel-1.11.1/render.c
--- old/fuzzel-1.11.0/render.c  2024-09-09 06:29:45.000000000 +0200
+++ new/fuzzel-1.11.1/render.c  2024-09-13 08:35:36.000000000 +0200
@@ -205,7 +205,7 @@
             PIXMAN_OP_SRC, bg_img, &bg, brd_sz_scaled, brd_sz_scaled,
             w-(brd_sz_scaled*2),
             h-(brd_sz_scaled*2),
-            brd_rad_scaled - brd_sz_scaled);
+            max(brd_rad_scaled - brd_sz_scaled, 0));
 
         if (msaa_scale != 1){
             pixman_f_transform_t ftrans;
@@ -245,6 +245,25 @@
 }
 
 static int
+render_baseline(const struct render *render)
+{
+    const struct fcft_font *font = render->font;
+    const int line_height = render->row_height;
+    const int font_height = font->ascent + font->descent;
+
+    /*
+     * Center glyph on the line *if* using a custom line height,
+     * otherwise the baseline is simply 'descent' pixels above the
+     * bottom of the cell
+     */
+    const int glyph_top_y = render->conf->line_height.px >= 0
+        ? round((line_height - font_height) / 2.)
+        : 0;
+
+    return line_height - glyph_top_y - font->descent;
+}
+
+static int
 render_match_count(const struct render *render, struct buffer *buf,
                    const struct prompt *prompt, const struct matches *matches)
 {
@@ -350,25 +369,27 @@
 }
 
 static void
-render_cursor(const struct render *render, int x, int y, pixman_image_t *pix)
+render_cursor(const struct render *render, int x, int baseline, pixman_image_t 
*pix)
 {
     struct fcft_font *font = render->font;
 
     if (true) {
         /* Bar cursor */
+        const int height = min(font->ascent + font->descent, 
render->row_height);
+
         pixman_image_fill_rectangles(
             PIXMAN_OP_SRC, pix, &render->pix_input_color,
             1, &(pixman_rectangle16_t){
                 x,
-                render->border_size + render->y_margin,
+                baseline - render->font->ascent,
                 font->underline.thickness,
-                min(font->ascent + font->descent, render->row_height)});
+                height});
     } else {
         /* TODO: future: underline cursor */
         pixman_image_fill_rectangles(
             PIXMAN_OP_SRC, pix, &render->pix_input_color,
             1, &(pixman_rectangle16_t){
-                x, y - font->underline.position,
+                x, baseline - font->underline.position,
                 font->max_advance.x,
                 font->underline.thickness});
     }
@@ -402,8 +423,7 @@
         ? render->subpixel : FCFT_SUBPIXEL_NONE;
 
     int x = render->border_size + render->x_margin;
-    int y = render->border_size + render->y_margin +
-            (render->row_height + font->height) / 2 - font->descent;
+    int y = render->border_size + render->y_margin + render_baseline(render);
 
     /* Erase background */
     pixman_color_t bg = render->pix_background_color;
@@ -906,11 +926,10 @@
 
 static void
 render_match_entry_background(const struct render *render,
-                              int idx, int row_count, bool is_selected,
+                              int idx, int row_count,
                               pixman_image_t *pix, int width)
 {
-    pixman_color_t bg = is_selected
-        ? render->pix_selection_color : render->pix_background_color;
+    pixman_color_t bg = render->pix_background_color;
 
     const int sel_margin = render->x_margin / 3;
 
@@ -924,6 +943,23 @@
 }
 
 static void
+render_selected_match_entry_background(const struct render *render,
+                                       int idx, pixman_image_t *pix, int width)
+{
+    pixman_color_t bg = render->pix_selection_color;
+
+    const int sel_margin = render->x_margin / 3;
+
+    const int x = render->border_size + render->x_margin - sel_margin;
+    const int y = first_row_y(render) + idx * render->row_height;
+    const int w = width - 2 * (render->border_size + render->x_margin - 
sel_margin);
+    const int h = 1 * render->row_height;
+
+    pixman_image_fill_rectangles(
+        PIXMAN_OP_OVER, pix, &bg, 1, &(pixman_rectangle16_t){x, y, w, h});
+}
+
+static void
 render_one_match_entry(const struct render *render, const struct matches 
*matches,
                        const struct match *match, bool render_icons,
                        int idx, bool is_selected, int width, int height,
@@ -943,9 +979,11 @@
     double cur_x = render->border_size + render->x_margin;
     double max_x = width - render->border_size - render->x_margin;
 
-    render_match_entry_background(render, idx, 1, is_selected, pix, width);
+    render_match_entry_background(render, idx, 1, pix, width);
 
     if (is_selected) {
+        render_selected_match_entry_background(render, idx, pix, width);
+
         /* If currently selected item has a scalable icon, and if
          * there's "enough" free space, render a large representation
          * of the icon */
@@ -1019,7 +1057,7 @@
         }
     }
 
-    const int y = first_row + (render->row_height + render->font->height) / 2 
- render->font->descent + idx * render->row_height;
+    const int y = first_row + render_baseline(render) + idx * 
render->row_height;
 
     /* Application title */
     render_match_text(
@@ -1064,7 +1102,7 @@
 
     /* Erase background of the "empty" area, after the last match */
     render_match_entry_background(
-        render, match_count, render->conf->lines - match_count, false,
+        render, match_count, render->conf->lines - match_count,
         buf->pix[0], buf->width);
 
     for (size_t i = 0; i < match_count; i++) {
@@ -1298,7 +1336,7 @@
 
     const unsigned row_height = render->conf->line_height.px >= 0
         ? pt_or_px_as_pixels(render, &render->conf->line_height)
-        : font->height;
+        : max(font->height, font->ascent + font->descent);
 
     const unsigned icon_height = max(0, row_height - font->descent);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fuzzel-1.11.0/wayland.c new/fuzzel-1.11.1/wayland.c
--- old/fuzzel-1.11.0/wayland.c 2024-09-09 06:29:45.000000000 +0200
+++ new/fuzzel-1.11.1/wayland.c 2024-09-13 08:35:36.000000000 +0200
@@ -137,6 +137,7 @@
     float dpi;
     enum fcft_subpixel subpixel;
     bool font_is_sized_by_dpi;
+    bool hide_when_prompt_empty;
 
     enum { KEEP_RUNNING, EXIT_UPDATE_CACHE, EXIT} status;
     int exit_code;
@@ -2111,7 +2112,15 @@
     /* Window content */
     matches_lock(wayl->matches);
     render_prompt(wayl->render, buf, wayl->prompt, wayl->matches);
+    if (wayl->hide_when_prompt_empty) {
+        if (prompt_text(wayl->prompt)[0] != '\0') {
+            wayl->hide_when_prompt_empty = false;
+        } else {
+            goto skip_list;
+        }
+    }
     render_match_list(wayl->render, buf, wayl->prompt, wayl->matches);
+skip_list:
     matches_unlock(wayl->matches);
 
 #if defined(FUZZEL_ENABLE_CAIRO)
@@ -2331,6 +2340,7 @@
         .render = render,
         .prompt = prompt,
         .matches = matches,
+        .hide_when_prompt_empty = conf->hide_when_prompt_empty,
         .status = KEEP_RUNNING,
         .exit_code = !conf->dmenu.enabled ? EXIT_SUCCESS : EXIT_FAILURE,
         .font_reloaded = {

Reply via email to