Commit Graph

63 Commits

Author SHA1 Message Date
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
Piotr Stefański e120b9156e Fix build failure when compiling in release
Compiling with --buildtype=release fails with message:

../main.c:935:17: error: argument 2 null where non-null expected [-Werror=nonnull]
  935 |                 memcpy(state->text + state->cursor, s, n);

GCC only produces this error with optimizations enabled. Looking at
the build output I assume this happens because it tries to inline the
function.
2023-10-31 15:12:41 -04:00
adnano adf5cda6e1 Implement clipboard paste support
References: https://todo.sr.ht/~adnano/wmenu/4
2023-07-28 03:01:34 -04:00
adnano e3da93aed8 Bump version to 0.1.4 2023-07-15 18:55:07 -04:00
adnano 554f3e7445 pango: Remove unused format specifier 2023-07-15 18:51:45 -04:00
Mykyta Holubakha ccca01d3cd Render after reading stdin
This allows seeing option list without doing any input, like in original dmenu.
2023-07-15 18:35:17 -04:00
Mykyta Holubakha 62e9584977 Drop render_frame on surface_enter 2023-07-15 18:35:15 -04:00
Nikita Ivanov 9fb3ffa522 Fix crash when some line contains % 2023-06-05 09:33:20 -04:00
adnano bbd82569bb readme: Tweak wording 2023-03-20 19:03:03 -04:00
adnano 5959a421aa Update README.md 2023-03-20 18:44:48 -04:00