Efficient dynamic menu for Wayland
Find a file
FictitiousExistence ef7ec99589 Set height to item count if less items than lines
This patch sets the height to the count of items if the item count
is less than specified lines.

Ex:
    printf "Item1\nItem2" | wmenu -l 100
    will give wmenu a height of 2 rather than 100 since there is only 2
    items.

closes #64

Signed-off-by: FictitiousExistence <>
2025-11-12 09:11:17 -05:00
docs Don't ignore stdin in password mode 2024-05-05 10:13:01 -04:00
protocols Support xdg_activation_v1 protocol 2024-04-07 08:51:57 -04:00
.gitignore Initial commit 2022-01-16 08:32:58 -05:00
LICENSE Update LICENSE 2024-02-27 08:50:29 -05:00
menu.c Set height to item count if less items than lines 2025-11-12 09:11:17 -05:00
menu.h Render menu after surface enter event 2025-03-01 07:04:00 -05:00
meson.build Version 0.2.0 2025-04-29 15:23:10 -04:00
pango.c Free memory associated with the menu on exit 2024-03-02 11:31:13 -05:00
pango.h Move menu and rendering logic into separate files 2024-02-27 11:23:12 -05:00
pool-buffer.c Move menu and rendering logic into separate files 2024-02-27 11:23:12 -05:00
pool-buffer.h Move menu and rendering logic into separate files 2024-02-27 11:23:12 -05:00
README.md README: Update meson instructions 2024-11-01 19:35:39 -04:00
render.c Render menu after surface enter event 2025-03-01 07:04:00 -05:00
render.h Move menu and rendering logic into separate files 2024-02-27 11:23:12 -05:00
wayland.c Render menu after surface enter event 2025-03-01 07:04:00 -05:00
wayland.h Add wmenu-run executable 2024-05-02 21:39:54 -04:00
wmenu-run.c Optimize menu sorting 2024-10-31 09:30:09 -04:00
wmenu.c Optimize menu sorting 2024-10-31 09:30:09 -04:00

wmenu

wmenu is an efficient dynamic menu for Sway and wlroots based Wayland compositors. It provides a Wayland-native dmenu replacement which maintains the look and feel of dmenu.

Installation

Dependencies:

  • cairo
  • pango
  • wayland
  • xkbcommon
  • scdoc (optional)
$ meson setup build
$ ninja -C build
# ninja -C build install

Usage

See wmenu(1)

To use wmenu with Sway, you can add the following to your configuration file:

set $menu wmenu-run
bindsym $mod+d exec $menu