Commit Graph

72 Commits

Author SHA1 Message Date
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
adnano 086211c83c Don't return -1 from render_horizontal_item 2024-02-26 14:29:53 -05:00
adnano e23e215471 Rename menu_item to item 2024-02-26 14:14:11 -05:00
adnano deab01baf1 Mark functions as static 2024-02-26 14:08:18 -05:00
adnano 9edefe1344 Rename item_group to page 2024-02-26 14:06:42 -05:00
adnano 07ac84239e Refactor item paging logic
Determine which items go on which page ahead of time to avoid
calculating it every time. This also fixes an issue where paging from
the back doesn't give the same results as paging from the front.
2024-02-26 12:40:11 -05:00
adnano d23a2c563a Simplify match scrolling 2024-02-26 10:47:35 -05:00
adnano 906b55019e Keep track of end of match list 2024-02-26 10:43:52 -05:00
adnano 542c307ef2 Ignore unrecognized Ctrl keybindings
Currently, unrecognized Ctrl keybindings are treated as if Ctrl wasn't
pressed. For example, Ctrl+q results in q being typed. Instead, ignore
these keypresses.
2024-02-26 06:59:09 -05:00
Amin Bandali cb884725f6 Update keybindings to more closely follow dmenu
There's no need to distinguish between vertical and horizontal mode
for the directional keys.  By not doing so we match dmenu's behaviour
and also reduce code duplication.
2024-02-26 06:31:38 -05:00
adnano 5ef1e637bf Make scdoc dependency optional 2024-02-04 15:47:18 -05:00
adnano 1ef3f6a9b6 Version 0.1.6 2024-01-21 19:50:34 -05:00
adnano d139ebae8f pool-buffer: Fix type conversion issues 2023-12-28 11:59:02 -05:00
adnano 69a7078e01 Check the return value of pipe
On some systems, pipe is declared with the attribute warn_unused_result,
so we have to check the return value.
2023-12-28 11:42:50 -05:00
adnano 3ec74a0f2f pool-buffer: Reduce struct padding 2023-12-28 11:28:08 -05:00
adnano d77ff0e64d Fix various type issues 2023-12-28 11:26:38 -05:00
adnano ad40b9173c Version 0.1.5 2023-12-25 08:33:30 -05:00