Commit graph

88 commits

Author SHA1 Message Date
M Stoeckl
260eaba88e Optimize menu sorting
Sorting and deduplicating elements after all items have been registered
improves the time complexity of constructing the item list from O(n^2)
to O(n log n). On a system with about 4000 menu items, this reduces
startup time from about 0.21 seconds to 0.13 seconds.
2024-10-31 09:30:09 -04:00
adnano
12b8f83be4 Display over fullscreen applications 2024-08-03 18:26:59 -04:00
adnano
8b23811263 Version 0.1.9 2024-06-09 20:33:37 -04:00
adnano
7d717b3696 Streamline menu callbacks 2024-06-09 20:30:58 -04:00
NAHTAIV3L
a0df7959f9 Make wmenu-run behave like dmenu_run 2024-06-09 19:02:32 -04:00
adnano
0fa9c35949 Update README.md 2024-05-25 19:10:07 -04:00
adnano
30abca4f30 Don't ignore stdin in password mode
This makes password mode work for wmenu and wmenu-run without special
cases.
2024-05-05 10:13:01 -04:00
adnano
15d7c7bcc2 Revert "Remove wmenu -P flag"
This reverts commit c05ab7520b.
2024-05-04 21:44:59 -04:00
adnano
963a677631 Version 0.1.8 2024-05-04 21:42:31 -04:00
adnano
c05ab7520b Remove wmenu -P flag
This flag causes some issues with wmenu-run. It will be revisited in the
next release.
2024-05-04 21:41:21 -04:00
adnano
81d46e3912 docs: Add wmenu-run 2024-05-03 21:34:10 -04:00
adnano
8f95847811 Update README.md 2024-05-03 21:23:08 -04:00
adnano
e1816cc9a9 wmenu-run: Don't overwrite PATH 2024-05-03 19:31:11 -04:00
adnano
8f19d6a8d2 wmenu-run: Populate items from PATH 2024-05-03 19:10:28 -04:00
adnano
92d3b294ae Update README.md 2024-05-02 21:41:26 -04:00
adnano
477c0419b4 Remove wmenu_run script 2024-05-02 21:40:46 -04:00
adnano
41e8599392 Add wmenu-run executable 2024-05-02 21:39:54 -04:00
adnano
1f221a73cf Fix destruction of pool buffers 2024-05-02 18:45:49 -04:00
adnano
6284eea24b Separate menu state from Wayland state 2024-05-02 17:03:07 -04:00
adnano
6a39269d2e Drop wmenu -x option 2024-05-02 14:44:09 -04:00
sewn
e4c4627eeb make menu height accurate to dwm, dmenu, and dwl's bar patch 2024-04-14 17:22:09 -04:00
adnano
cf6f5b9d06 Support xdg_activation_v1 protocol 2024-04-07 08:51:57 -04:00
adnano
41b2e8b1e1 menu: Avoid adding zero-size pages
Ensure that pages always have at least one item, even if that item is
too big to fit on any page.
2024-03-25 08:20:36 -04:00
sewn
ac25b07338 add wmenu_run script, similar to dmenu_run script
based off the works of sinanmohd, modified to be simpler and better
to read, with shellcheck.

Co-authored-by: sinanmohd <sinan@firemail.cc>
2024-03-17 07:49:14 -04:00
sewn
9e9284666c port dmenu password patch 2024-03-17 07:33:55 -04:00
adnano
6ad7a303ef Don't destroy wl_data_offer twice
The data offer is destroyed after it is used. There is no need to
destroy it again.

This also fixes an issue where calling wl_data_offer_destroy with a NULL
data offer would segfault.
2024-03-17 07:01:23 -04:00
adnano
4e151795bf Version 0.1.7 2024-03-02 11:49:47 -05:00
adnano
f7e6e0b4bf Free memory associated with the menu on exit 2024-03-02 11:31:13 -05:00
adnano
b247119ab3 Rename text_len to input_len 2024-03-02 07:32:43 -05:00
adnano
ff4d1f8f8e Fix output selection with -o flag 2024-03-01 20:54:12 -05:00
adnano
bbfbf8f36c Revert "Simplify movewordedge"
This reverts commit 8bcad262a4.
2024-02-27 12:00:10 -05:00
adnano
9f6a36d73f Drop unnecessary TODO comment 2024-02-27 11:40:34 -05:00
adnano
0db7efe232 Simplify read_menu_items 2024-02-27 11:34:17 -05:00
adnano
e8782db9c8 Move menu and rendering logic into separate files 2024-02-27 11:23:12 -05:00
adnano
1104e8e51b Update LICENSE 2024-02-27 08:50:29 -05:00
adnano
18895cd72b Remove unused includes 2024-02-27 08:49:09 -05:00
adnano
906f7ccee8 Improve formatting of docs 2024-02-27 08:37:17 -05:00
adnano
f609762c4e Add C-Y keybinding to docs 2024-02-27 08:17:38 -05:00
adnano
8bcad262a4 Simplify movewordedge 2024-02-27 08:07:16 -05:00
Amin Bandali
c37c3fe38e Add dmenu's Meta (Alt) keybindings
This change adds dmenu's mixture of Emacs+vim-style Meta keybindings.

Also 'Page_Up' and 'Page_Down' were deprecated in upstream xkbcommon,
so replace them with the new 'Prior' and 'Next' names respectively.
2024-02-27 07:54:20 -05:00
Amin Bandali
04dfc06379 Add token matching like dmenu
This change ports dmenu's token matching of space-separated input to
wmenu to match the behaviour of dmenu, with a slightly more verbose
but hopefully more readable implementation.
2024-02-27 07:51:52 -05:00
adnano
96b3c0ef26 Add more rendering functions 2024-02-26 16:44:23 -05:00
adnano
f9167689dc Check if selection is not null before dereferencing 2024-02-26 16:31:41 -05:00
adnano
c6025455ec Add functions to render pages of items 2024-02-26 16:31:04 -05:00
adnano
628a5d82ee Refactor rendering code 2024-02-26 16:14:04 -05:00
adnano
da25fbfb27 Don't set selection if there are no pages 2024-02-26 15:05:37 -05:00
adnano
7284f5958b Don't match items in insert 2024-02-26 15:03:42 -05:00
adnano
48f4a1d2ed Add comments to menu 2024-02-26 14:50:09 -05:00
adnano
ce43ccfb75 Add some comments to item and page 2024-02-26 14:42:11 -05:00
adnano
ee43ebb783 Rename menu_state to menu 2024-02-26 14:40:18 -05:00