wmenu, branch HEAD [fork] efficient dynamic menu for wayland 268df9fa4fc2adb896b1c0a0f41b19727d0b5166 2025-06-15T21:38:05Z 2025-06-15T21:38:05Z custom width drkhsh me@drkhsh.at commit 268df9fa4fc2adb896b1c0a0f41b19727d0b5166 parent 0a38d45abba5b04775b000a8deafb141d230687b Author: drkhsh <me@drkhsh.at> Date: Sun, 15 Jun 2025 23:38:05 +0200 custom width 0a38d45abba5b04775b000a8deafb141d230687b 2025-04-29T19:23:10Z 2025-04-29T19:23:10Z Version 0.2.0 adnano me@adnano.co commit 0a38d45abba5b04775b000a8deafb141d230687b parent fc69aa6e2bccca461a0bd0c10b448b64ccda1d42 Author: adnano <me@adnano.co> Date: Tue, 29 Apr 2025 15:23:10 -0400 Version 0.2.0 fc69aa6e2bccca461a0bd0c10b448b64ccda1d42 2025-03-01T12:04:00Z 2025-03-01T12:04:00Z Render menu after surface enter event adnano me@adnano.co commit fc69aa6e2bccca461a0bd0c10b448b64ccda1d42 parent eec775fad7f7b090e6de2dbfe0c242129fddba41 Author: adnano <me@adnano.co> Date: Sat, 1 Mar 2025 07:04:00 -0500 Render menu after surface enter event This fixes an issue where the first visible frame is blurry on fractional scale displays. eec775fad7f7b090e6de2dbfe0c242129fddba41 2025-02-21T17:09:16Z 2025-02-21T17:09:16Z Revert "Render frame on surface enter" adnano me@adnano.co commit eec775fad7f7b090e6de2dbfe0c242129fddba41 parent e2542d34ed15308545125fac9bf324b32e7cf578 Author: adnano <me@adnano.co> Date: Fri, 21 Feb 2025 12:09:16 -0500 Revert "Render frame on surface enter" This reverts commit e2542d34ed15308545125fac9bf324b32e7cf578. This commit causes crashes on some systems. e2542d34ed15308545125fac9bf324b32e7cf578 2024-12-16T15:56:51Z 2024-12-16T15:56:51Z Render frame on surface enter adnano me@adnano.co commit e2542d34ed15308545125fac9bf324b32e7cf578 parent 3ad4b5ca3f9f66c71ec521d0d7261228ec7b4631 Author: adnano <me@adnano.co> Date: Mon, 16 Dec 2024 10:56:51 -0500 Render frame on surface enter This ensures that the menu is rendered with the correct scale. Fixes #14 3ad4b5ca3f9f66c71ec521d0d7261228ec7b4631 2024-11-06T19:31:46Z 2024-11-08T20:28:11Z Simplify render_menu M Stoeckl code@mstoeckl.com commit 3ad4b5ca3f9f66c71ec521d0d7261228ec7b4631 parent 48ec172b4bd51da0736c24d84c72b574e4107b31 Author: M Stoeckl <code@mstoeckl.com> Date: Wed, 6 Nov 2024 14:31:46 -0500 Simplify render_menu 48ec172b4bd51da0736c24d84c72b574e4107b31 2024-11-01T23:35:39Z 2024-11-01T23:35:39Z README: Update meson instructions adnano me@adnano.co commit 48ec172b4bd51da0736c24d84c72b574e4107b31 parent 0947765fc9a4f6fc4287acfcd2efcaf4fef1ffb8 Author: adnano <me@adnano.co> Date: Fri, 1 Nov 2024 19:35:39 -0400 README: Update meson instructions 0947765fc9a4f6fc4287acfcd2efcaf4fef1ffb8 2024-10-31T14:27:47Z 2024-11-01T23:33:53Z Only call render_menu once per frame M Stoeckl code@mstoeckl.com commit 0947765fc9a4f6fc4287acfcd2efcaf4fef1ffb8 parent 260eaba88ec8f54fe2bdbe391b18fcd2db70836f Author: M Stoeckl <code@mstoeckl.com> Date: Thu, 31 Oct 2024 10:27:47 -0400 Only call render_menu once per frame An actual surface is not needed to estimate font sizes; a 1x1 image will do, as long as the cairo context has the same options. 260eaba88ec8f54fe2bdbe391b18fcd2db70836f 2024-10-31T13:23:26Z 2024-10-31T13:30:09Z Optimize menu sorting M Stoeckl code@mstoeckl.com commit 260eaba88ec8f54fe2bdbe391b18fcd2db70836f parent 12b8f83be447379eded03c6109fe944945cd48aa Author: M Stoeckl <code@mstoeckl.com> Date: Thu, 31 Oct 2024 09:23:26 -0400 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. 12b8f83be447379eded03c6109fe944945cd48aa 2024-08-03T22:26:59Z 2024-08-03T22:26:59Z Display over fullscreen applications adnano me@adnano.co commit 12b8f83be447379eded03c6109fe944945cd48aa parent 8b2381126319b8e50bcd697b6a7be5bf0ee7e226 Author: adnano <me@adnano.co> Date: Sat, 3 Aug 2024 18:26:59 -0400 Display over fullscreen applications 8b2381126319b8e50bcd697b6a7be5bf0ee7e226 2024-06-10T00:33:37Z 2024-06-10T00:33:37Z Version 0.1.9 adnano me@adnano.co commit 8b2381126319b8e50bcd697b6a7be5bf0ee7e226 parent 7d717b3696e8295f1236bb5c6c69417f14394883 Author: adnano <me@adnano.co> Date: Sun, 9 Jun 2024 20:33:37 -0400 Version 0.1.9 7d717b3696e8295f1236bb5c6c69417f14394883 2024-06-10T00:30:58Z 2024-06-10T00:30:58Z Streamline menu callbacks adnano me@adnano.co commit 7d717b3696e8295f1236bb5c6c69417f14394883 parent a0df7959f9182a87a833d0a7f653f5ac8a2b5d0e Author: adnano <me@adnano.co> Date: Sun, 9 Jun 2024 20:30:58 -0400 Streamline menu callbacks a0df7959f9182a87a833d0a7f653f5ac8a2b5d0e 2024-06-03T01:49:46Z 2024-06-09T23:02:32Z Make wmenu-run behave like dmenu_run NAHTAIV3L rbeckettvt@gmail.com commit a0df7959f9182a87a833d0a7f653f5ac8a2b5d0e parent 0fa9c359493b35ef0dda3b64f121fbe333f90f1a Author: NAHTAIV3L <rbeckettvt@gmail.com> Date: Sun, 2 Jun 2024 21:49:46 -0400 Make wmenu-run behave like dmenu_run 0fa9c359493b35ef0dda3b64f121fbe333f90f1a 2024-05-25T23:10:07Z 2024-05-25T23:10:07Z Update README.md adnano me@adnano.co commit 0fa9c359493b35ef0dda3b64f121fbe333f90f1a parent 30abca4f301a3e851d020119f654586c56c70263 Author: adnano <me@adnano.co> Date: Sat, 25 May 2024 19:10:07 -0400 Update README.md 30abca4f301a3e851d020119f654586c56c70263 2024-05-05T14:13:01Z 2024-05-05T14:13:01Z Don't ignore stdin in password mode adnano me@adnano.co commit 30abca4f301a3e851d020119f654586c56c70263 parent 15d7c7bcc29e66f174c4de2420d371a9737ac6e4 Author: adnano <me@adnano.co> Date: Sun, 5 May 2024 10:13:01 -0400 Don't ignore stdin in password mode This makes password mode work for wmenu and wmenu-run without special cases. 15d7c7bcc29e66f174c4de2420d371a9737ac6e4 2024-05-05T01:44:59Z 2024-05-05T01:44:59Z Revert "Remove wmenu -P flag" adnano me@adnano.co commit 15d7c7bcc29e66f174c4de2420d371a9737ac6e4 parent 963a677631f00b9b259e101a5e3dad85da6ccbf2 Author: adnano <me@adnano.co> Date: Sat, 4 May 2024 21:44:59 -0400 Revert "Remove wmenu -P flag" This reverts commit c05ab7520b452ee3b8bd974a18511dc370cbeabe. 963a677631f00b9b259e101a5e3dad85da6ccbf2 2024-05-05T01:42:31Z 2024-05-05T01:42:31Z Version 0.1.8 adnano me@adnano.co commit 963a677631f00b9b259e101a5e3dad85da6ccbf2 parent c05ab7520b452ee3b8bd974a18511dc370cbeabe Author: adnano <me@adnano.co> Date: Sat, 4 May 2024 21:42:31 -0400 Version 0.1.8 c05ab7520b452ee3b8bd974a18511dc370cbeabe 2024-05-05T01:41:21Z 2024-05-05T01:41:21Z Remove wmenu -P flag adnano me@adnano.co commit c05ab7520b452ee3b8bd974a18511dc370cbeabe parent 81d46e39120bcb7c24cec2105e05f3524e8bd548 Author: adnano <me@adnano.co> Date: Sat, 4 May 2024 21:41:21 -0400 Remove wmenu -P flag This flag causes some issues with wmenu-run. It will be revisited in the next release. 81d46e39120bcb7c24cec2105e05f3524e8bd548 2024-05-04T01:34:10Z 2024-05-04T01:34:10Z docs: Add wmenu-run adnano me@adnano.co commit 81d46e39120bcb7c24cec2105e05f3524e8bd548 parent 8f958478111933f8b1ce8405203026c2cc91fde8 Author: adnano <me@adnano.co> Date: Fri, 3 May 2024 21:34:10 -0400 docs: Add wmenu-run 8f958478111933f8b1ce8405203026c2cc91fde8 2024-05-04T01:23:08Z 2024-05-04T01:23:08Z Update README.md adnano me@adnano.co commit 8f958478111933f8b1ce8405203026c2cc91fde8 parent e1816cc9a9ab7887dc2aa10b6244055546111049 Author: adnano <me@adnano.co> Date: Fri, 3 May 2024 21:23:08 -0400 Update README.md e1816cc9a9ab7887dc2aa10b6244055546111049 2024-05-03T23:31:11Z 2024-05-03T23:31:11Z wmenu-run: Don't overwrite PATH adnano me@adnano.co commit e1816cc9a9ab7887dc2aa10b6244055546111049 parent 8f19d6a8d2f34aeb4060d4374eb204b270ffbaa8 Author: adnano <me@adnano.co> Date: Fri, 3 May 2024 19:31:11 -0400 wmenu-run: Don't overwrite PATH 8f19d6a8d2f34aeb4060d4374eb204b270ffbaa8 2024-05-03T23:10:28Z 2024-05-03T23:10:28Z wmenu-run: Populate items from PATH adnano me@adnano.co commit 8f19d6a8d2f34aeb4060d4374eb204b270ffbaa8 parent 92d3b294aeff5b36916782847bae4389c10e8f17 Author: adnano <me@adnano.co> Date: Fri, 3 May 2024 19:10:28 -0400 wmenu-run: Populate items from PATH 92d3b294aeff5b36916782847bae4389c10e8f17 2024-05-03T01:41:26Z 2024-05-03T01:41:26Z Update README.md adnano me@adnano.co commit 92d3b294aeff5b36916782847bae4389c10e8f17 parent 477c0419b4a06b286bf09405e44c5fdc36e44b2f Author: adnano <me@adnano.co> Date: Thu, 2 May 2024 21:41:26 -0400 Update README.md 477c0419b4a06b286bf09405e44c5fdc36e44b2f 2024-05-03T01:40:46Z 2024-05-03T01:40:46Z Remove wmenu_run script adnano me@adnano.co commit 477c0419b4a06b286bf09405e44c5fdc36e44b2f parent 41e8599392a543a537f15447e20fd7bc8d8f2297 Author: adnano <me@adnano.co> Date: Thu, 2 May 2024 21:40:46 -0400 Remove wmenu_run script 41e8599392a543a537f15447e20fd7bc8d8f2297 2024-05-03T01:39:54Z 2024-05-03T01:39:54Z Add wmenu-run executable adnano me@adnano.co commit 41e8599392a543a537f15447e20fd7bc8d8f2297 parent 1f221a73cf290ff509ef6c066ff692bb48f8625e Author: adnano <me@adnano.co> Date: Thu, 2 May 2024 21:39:54 -0400 Add wmenu-run executable 1f221a73cf290ff509ef6c066ff692bb48f8625e 2024-05-02T22:45:49Z 2024-05-02T22:45:49Z Fix destruction of pool buffers adnano me@adnano.co commit 1f221a73cf290ff509ef6c066ff692bb48f8625e parent 6284eea24b44d05260f96fe842fa9dd752185942 Author: adnano <me@adnano.co> Date: Thu, 2 May 2024 18:45:49 -0400 Fix destruction of pool buffers 6284eea24b44d05260f96fe842fa9dd752185942 2024-05-02T21:03:07Z 2024-05-02T21:03:07Z Separate menu state from Wayland state adnano me@adnano.co commit 6284eea24b44d05260f96fe842fa9dd752185942 parent 6a39269d2e73273de324ed156eba71e5bdcd9602 Author: adnano <me@adnano.co> Date: Thu, 2 May 2024 17:03:07 -0400 Separate menu state from Wayland state 6a39269d2e73273de324ed156eba71e5bdcd9602 2024-05-02T18:44:09Z 2024-05-02T18:44:09Z Drop wmenu -x option adnano me@adnano.co commit 6a39269d2e73273de324ed156eba71e5bdcd9602 parent e4c4627eebc57a6af5812c69f6dc3f9992d9c770 Author: adnano <me@adnano.co> Date: Thu, 2 May 2024 14:44:09 -0400 Drop wmenu -x option e4c4627eebc57a6af5812c69f6dc3f9992d9c770 2024-04-09T08:12:49Z 2024-04-14T21:22:09Z make menu height accurate to dwm, dmenu, and dwl's bar patch sewn sewn@disroot.org commit e4c4627eebc57a6af5812c69f6dc3f9992d9c770 parent cf6f5b9d06d72ded0b077d6770854d0003c1b4aa Author: sewn <sewn@disroot.org> Date: Tue, 9 Apr 2024 11:12:49 +0300 make menu height accurate to dwm, dmenu, and dwl's bar patch cf6f5b9d06d72ded0b077d6770854d0003c1b4aa 2024-04-07T12:51:57Z 2024-04-07T12:51:57Z Support xdg_activation_v1 protocol adnano me@adnano.co commit cf6f5b9d06d72ded0b077d6770854d0003c1b4aa parent 41b2e8b1e1d1415a43baa6393b7237e7e77468eb Author: adnano <me@adnano.co> Date: Sun, 7 Apr 2024 08:51:57 -0400 Support xdg_activation_v1 protocol 41b2e8b1e1d1415a43baa6393b7237e7e77468eb 2024-03-25T12:20:36Z 2024-03-25T12:20:36Z menu: Avoid adding zero-size pages adnano me@adnano.co commit 41b2e8b1e1d1415a43baa6393b7237e7e77468eb parent ac25b0733885b545578092c5da74c9a3122529d6 Author: adnano <me@adnano.co> Date: Mon, 25 Mar 2024 08:20:36 -0400 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. ac25b0733885b545578092c5da74c9a3122529d6 2024-03-10T15:07:46Z 2024-03-17T11:49:14Z add wmenu_run script, similar to dmenu_run script sewn sewn@disroot.org commit ac25b0733885b545578092c5da74c9a3122529d6 parent 9e9284666c9fcf3278ad17f98a247658db8b2269 Author: sewn <sewn@disroot.org> Date: Sun, 10 Mar 2024 18:07:46 +0300 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> 9e9284666c9fcf3278ad17f98a247658db8b2269 2024-03-10T15:00:48Z 2024-03-17T11:33:55Z port dmenu password patch sewn sewn@disroot.org commit 9e9284666c9fcf3278ad17f98a247658db8b2269 parent 6ad7a303ef2ff130b84cfa718ace423a3101dbbb Author: sewn <sewn@disroot.org> Date: Sun, 10 Mar 2024 18:00:48 +0300 port dmenu password patch 6ad7a303ef2ff130b84cfa718ace423a3101dbbb 2024-03-17T11:01:23Z 2024-03-17T11:01:23Z Don't destroy wl_data_offer twice adnano me@adnano.co commit 6ad7a303ef2ff130b84cfa718ace423a3101dbbb parent 4e151795bf8f15e38999a42cb71ddc63423ffe12 Author: adnano <me@adnano.co> Date: Sun, 17 Mar 2024 07:01:23 -0400 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. 4e151795bf8f15e38999a42cb71ddc63423ffe12 2024-03-02T16:49:47Z 2024-03-02T16:49:47Z Version 0.1.7 adnano me@adnano.co commit 4e151795bf8f15e38999a42cb71ddc63423ffe12 parent f7e6e0b4bf3bca6dbc2b6c7e81cb013be43c6c06 Author: adnano <me@adnano.co> Date: Sat, 2 Mar 2024 11:49:47 -0500 Version 0.1.7 f7e6e0b4bf3bca6dbc2b6c7e81cb013be43c6c06 2024-03-02T16:31:13Z 2024-03-02T16:31:13Z Free memory associated with the menu on exit adnano me@adnano.co commit f7e6e0b4bf3bca6dbc2b6c7e81cb013be43c6c06 parent b247119ab3ad46760ac85428309230200d9f6c61 Author: adnano <me@adnano.co> Date: Sat, 2 Mar 2024 11:31:13 -0500 Free memory associated with the menu on exit b247119ab3ad46760ac85428309230200d9f6c61 2024-03-02T12:32:43Z 2024-03-02T12:32:43Z Rename text_len to input_len adnano me@adnano.co commit b247119ab3ad46760ac85428309230200d9f6c61 parent ff4d1f8f8ee392d52b71858fce658f70ee26f434 Author: adnano <me@adnano.co> Date: Sat, 2 Mar 2024 07:32:43 -0500 Rename text_len to input_len ff4d1f8f8ee392d52b71858fce658f70ee26f434 2024-03-02T01:54:12Z 2024-03-02T01:54:12Z Fix output selection with -o flag adnano me@adnano.co commit ff4d1f8f8ee392d52b71858fce658f70ee26f434 parent bbfbf8f36c1e7dd1912d0646a3ae271a8c69e6b9 Author: adnano <me@adnano.co> Date: Fri, 1 Mar 2024 20:54:12 -0500 Fix output selection with -o flag bbfbf8f36c1e7dd1912d0646a3ae271a8c69e6b9 2024-02-27T17:00:10Z 2024-02-27T17:00:10Z Revert "Simplify movewordedge" adnano me@adnano.co commit bbfbf8f36c1e7dd1912d0646a3ae271a8c69e6b9 parent 9f6a36d73fb185db5b903c7a4e4cabed2990accd Author: adnano <me@adnano.co> Date: Tue, 27 Feb 2024 12:00:10 -0500 Revert "Simplify movewordedge" This reverts commit 8bcad262a4d047140767d9467ac5526bb768a95e. 9f6a36d73fb185db5b903c7a4e4cabed2990accd 2024-02-27T16:40:34Z 2024-02-27T16:40:34Z Drop unnecessary TODO comment adnano me@adnano.co commit 9f6a36d73fb185db5b903c7a4e4cabed2990accd parent 0db7efe2324a4b2656fa117d9c7bdf84fc7fcbc1 Author: adnano <me@adnano.co> Date: Tue, 27 Feb 2024 11:40:34 -0500 Drop unnecessary TODO comment 0db7efe2324a4b2656fa117d9c7bdf84fc7fcbc1 2024-02-27T16:34:17Z 2024-02-27T16:34:17Z Simplify read_menu_items adnano me@adnano.co commit 0db7efe2324a4b2656fa117d9c7bdf84fc7fcbc1 parent e8782db9c840e42827dafa4ec1ca9849f91b9b59 Author: adnano <me@adnano.co> Date: Tue, 27 Feb 2024 11:34:17 -0500 Simplify read_menu_items e8782db9c840e42827dafa4ec1ca9849f91b9b59 2024-02-27T16:23:12Z 2024-02-27T16:23:12Z Move menu and rendering logic into separate files adnano me@adnano.co commit e8782db9c840e42827dafa4ec1ca9849f91b9b59 parent 1104e8e51b366e7804b94365f8d6a84752693538 Author: adnano <me@adnano.co> Date: Tue, 27 Feb 2024 11:23:12 -0500 Move menu and rendering logic into separate files 1104e8e51b366e7804b94365f8d6a84752693538 2024-02-27T13:50:29Z 2024-02-27T13:50:29Z Update LICENSE adnano me@adnano.co commit 1104e8e51b366e7804b94365f8d6a84752693538 parent 18895cd72b25654ca0f727dc60480b53fed2c904 Author: adnano <me@adnano.co> Date: Tue, 27 Feb 2024 08:50:29 -0500 Update LICENSE 18895cd72b25654ca0f727dc60480b53fed2c904 2024-02-27T13:49:09Z 2024-02-27T13:49:09Z Remove unused includes adnano me@adnano.co commit 18895cd72b25654ca0f727dc60480b53fed2c904 parent 906f7ccee81881754c023db0389c8510c0218ec8 Author: adnano <me@adnano.co> Date: Tue, 27 Feb 2024 08:49:09 -0500 Remove unused includes 906f7ccee81881754c023db0389c8510c0218ec8 2024-02-27T13:37:17Z 2024-02-27T13:37:17Z Improve formatting of docs adnano me@adnano.co commit 906f7ccee81881754c023db0389c8510c0218ec8 parent f609762c4e39a4542c0b9b55965d245a79ed91d7 Author: adnano <me@adnano.co> Date: Tue, 27 Feb 2024 08:37:17 -0500 Improve formatting of docs f609762c4e39a4542c0b9b55965d245a79ed91d7 2024-02-27T13:17:38Z 2024-02-27T13:17:38Z Add C-Y keybinding to docs adnano me@adnano.co commit f609762c4e39a4542c0b9b55965d245a79ed91d7 parent 8bcad262a4d047140767d9467ac5526bb768a95e Author: adnano <me@adnano.co> Date: Tue, 27 Feb 2024 08:17:38 -0500 Add C-Y keybinding to docs 8bcad262a4d047140767d9467ac5526bb768a95e 2024-02-27T13:07:16Z 2024-02-27T13:07:16Z Simplify movewordedge adnano me@adnano.co commit 8bcad262a4d047140767d9467ac5526bb768a95e parent c37c3fe38e77398fba65d169c664f569fbab9760 Author: adnano <me@adnano.co> Date: Tue, 27 Feb 2024 08:07:16 -0500 Simplify movewordedge c37c3fe38e77398fba65d169c664f569fbab9760 2024-02-27T05:49:58Z 2024-02-27T12:54:20Z Add dmenu's Meta (Alt) keybindings Amin Bandali bandali@kelar.org commit c37c3fe38e77398fba65d169c664f569fbab9760 parent 04dfc063795c56a5fdb3096bf8fe0b4123c3c28d Author: Amin Bandali <bandali@kelar.org> Date: Tue, 27 Feb 2024 00:49:58 -0500 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. 04dfc063795c56a5fdb3096bf8fe0b4123c3c28d 2024-02-27T05:10:34Z 2024-02-27T12:51:52Z Add token matching like dmenu Amin Bandali bandali@kelar.org commit 04dfc063795c56a5fdb3096bf8fe0b4123c3c28d parent 96b3c0ef266494e6a8c0a91d1726f8dcde95d55d Author: Amin Bandali <bandali@kelar.org> Date: Tue, 27 Feb 2024 00:10:34 -0500 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. 96b3c0ef266494e6a8c0a91d1726f8dcde95d55d 2024-02-26T21:44:23Z 2024-02-26T21:44:23Z Add more rendering functions adnano me@adnano.co commit 96b3c0ef266494e6a8c0a91d1726f8dcde95d55d parent f9167689dcd4ab0231bacdcdf0173747fb6a738b Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 16:44:23 -0500 Add more rendering functions f9167689dcd4ab0231bacdcdf0173747fb6a738b 2024-02-26T21:31:41Z 2024-02-26T21:31:41Z Check if selection is not null before dereferencing adnano me@adnano.co commit f9167689dcd4ab0231bacdcdf0173747fb6a738b parent c6025455ec7a5a2ce0367097d465c7188759886b Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 16:31:41 -0500 Check if selection is not null before dereferencing c6025455ec7a5a2ce0367097d465c7188759886b 2024-02-26T21:31:04Z 2024-02-26T21:31:04Z Add functions to render pages of items adnano me@adnano.co commit c6025455ec7a5a2ce0367097d465c7188759886b parent 628a5d82eedb93401e71f08c8ad976294ba6453e Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 16:31:04 -0500 Add functions to render pages of items 628a5d82eedb93401e71f08c8ad976294ba6453e 2024-02-26T21:14:04Z 2024-02-26T21:14:04Z Refactor rendering code adnano me@adnano.co commit 628a5d82eedb93401e71f08c8ad976294ba6453e parent da25fbfb275e5f9ffa7fff3ff1cd1d6f16c652b1 Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 16:14:04 -0500 Refactor rendering code da25fbfb275e5f9ffa7fff3ff1cd1d6f16c652b1 2024-02-26T20:05:37Z 2024-02-26T20:05:37Z Don't set selection if there are no pages adnano me@adnano.co commit da25fbfb275e5f9ffa7fff3ff1cd1d6f16c652b1 parent 7284f5958bea340e25598562821b73db3c26ee63 Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 15:05:37 -0500 Don't set selection if there are no pages 7284f5958bea340e25598562821b73db3c26ee63 2024-02-26T20:03:42Z 2024-02-26T20:03:42Z Don't match items in insert adnano me@adnano.co commit 7284f5958bea340e25598562821b73db3c26ee63 parent 48f4a1d2ed523ae8b0c0c6b97561d96a3d5ab369 Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 15:03:42 -0500 Don't match items in insert 48f4a1d2ed523ae8b0c0c6b97561d96a3d5ab369 2024-02-26T19:50:09Z 2024-02-26T19:50:09Z Add comments to menu adnano me@adnano.co commit 48f4a1d2ed523ae8b0c0c6b97561d96a3d5ab369 parent ce43ccfb75525aba40c2c3be82e5d9b129b047eb Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 14:50:09 -0500 Add comments to menu ce43ccfb75525aba40c2c3be82e5d9b129b047eb 2024-02-26T19:42:11Z 2024-02-26T19:42:11Z Add some comments to item and page adnano me@adnano.co commit ce43ccfb75525aba40c2c3be82e5d9b129b047eb parent ee43ebb7832bdd3a8c47b58c08d5ccff8dda7005 Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 14:42:11 -0500 Add some comments to item and page ee43ebb7832bdd3a8c47b58c08d5ccff8dda7005 2024-02-26T19:40:18Z 2024-02-26T19:40:18Z Rename menu_state to menu adnano me@adnano.co commit ee43ebb7832bdd3a8c47b58c08d5ccff8dda7005 parent 086211c83c6f9110512d32633290d0a93401411a Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 14:40:18 -0500 Rename menu_state to menu 086211c83c6f9110512d32633290d0a93401411a 2024-02-26T19:29:53Z 2024-02-26T19:29:53Z Don't return -1 from render_horizontal_item adnano me@adnano.co commit 086211c83c6f9110512d32633290d0a93401411a parent e23e2154719f07a8b052669a75ca239850fd3b1f Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 14:29:53 -0500 Don't return -1 from render_horizontal_item e23e2154719f07a8b052669a75ca239850fd3b1f 2024-02-26T19:14:11Z 2024-02-26T19:14:11Z Rename menu_item to item adnano me@adnano.co commit e23e2154719f07a8b052669a75ca239850fd3b1f parent deab01baf12f48e30f9b6638cc4b5a16e7333b9a Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 14:14:11 -0500 Rename menu_item to item deab01baf12f48e30f9b6638cc4b5a16e7333b9a 2024-02-26T19:08:18Z 2024-02-26T19:08:18Z Mark functions as static adnano me@adnano.co commit deab01baf12f48e30f9b6638cc4b5a16e7333b9a parent 9edefe1344725274bd05cafb448804f5a6ce737b Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 14:08:18 -0500 Mark functions as static 9edefe1344725274bd05cafb448804f5a6ce737b 2024-02-26T19:06:42Z 2024-02-26T19:06:42Z Rename item_group to page adnano me@adnano.co commit 9edefe1344725274bd05cafb448804f5a6ce737b parent 07ac84239ef655cf53ac14f9dcce330a6e7e9791 Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 14:06:42 -0500 Rename item_group to page 07ac84239ef655cf53ac14f9dcce330a6e7e9791 2024-02-26T17:40:11Z 2024-02-26T17:40:11Z Refactor item paging logic adnano me@adnano.co commit 07ac84239ef655cf53ac14f9dcce330a6e7e9791 parent d23a2c563a5e9b722a07c22d33f1898793627a40 Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 12:40:11 -0500 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. d23a2c563a5e9b722a07c22d33f1898793627a40 2024-02-26T15:47:35Z 2024-02-26T15:47:35Z Simplify match scrolling adnano me@adnano.co commit d23a2c563a5e9b722a07c22d33f1898793627a40 parent 906b55019e50558e7d2ee0b26b9732b64b6306e1 Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 10:47:35 -0500 Simplify match scrolling 906b55019e50558e7d2ee0b26b9732b64b6306e1 2024-02-26T15:43:52Z 2024-02-26T15:43:52Z Keep track of end of match list adnano me@adnano.co commit 906b55019e50558e7d2ee0b26b9732b64b6306e1 parent 542c307ef23a97f6f0ed255df51fcbe9b23ed07c Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 10:43:52 -0500 Keep track of end of match list 542c307ef23a97f6f0ed255df51fcbe9b23ed07c 2024-02-26T11:59:09Z 2024-02-26T11:59:09Z Ignore unrecognized Ctrl keybindings adnano me@adnano.co commit 542c307ef23a97f6f0ed255df51fcbe9b23ed07c parent cb884725f61b31e861f667d7517978ea55d1279f Author: adnano <me@adnano.co> Date: Mon, 26 Feb 2024 06:59:09 -0500 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. cb884725f61b31e861f667d7517978ea55d1279f 2024-02-25T19:49:53Z 2024-02-26T11:31:38Z Update keybindings to more closely follow dmenu Amin Bandali bandali@kelar.org commit cb884725f61b31e861f667d7517978ea55d1279f parent 5ef1e637bfe3b9e2f58cc15d8a0dd0256e1b93d0 Author: Amin Bandali <bandali@kelar.org> Date: Sun, 25 Feb 2024 14:49:53 -0500 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. 5ef1e637bfe3b9e2f58cc15d8a0dd0256e1b93d0 2024-02-04T20:47:18Z 2024-02-04T20:47:18Z Make scdoc dependency optional adnano me@adnano.co commit 5ef1e637bfe3b9e2f58cc15d8a0dd0256e1b93d0 parent 1ef3f6a9b6eb51d08ac1ad3a6deb7bbf8dd573d9 Author: adnano <me@adnano.co> Date: Sun, 4 Feb 2024 15:47:18 -0500 Make scdoc dependency optional 1ef3f6a9b6eb51d08ac1ad3a6deb7bbf8dd573d9 2024-01-22T00:50:34Z 2024-01-22T00:50:34Z Version 0.1.6 adnano me@adnano.co commit 1ef3f6a9b6eb51d08ac1ad3a6deb7bbf8dd573d9 parent d139ebae8fd3d545f586470ff04008f311e47c12 Author: adnano <me@adnano.co> Date: Sun, 21 Jan 2024 19:50:34 -0500 Version 0.1.6 d139ebae8fd3d545f586470ff04008f311e47c12 2023-12-28T16:59:02Z 2023-12-28T16:59:02Z pool-buffer: Fix type conversion issues adnano me@adnano.co commit d139ebae8fd3d545f586470ff04008f311e47c12 parent 69a7078e019261b26c31b61724a0f3bc517ab624 Author: adnano <me@adnano.co> Date: Thu, 28 Dec 2023 11:59:02 -0500 pool-buffer: Fix type conversion issues 69a7078e019261b26c31b61724a0f3bc517ab624 2023-12-28T16:42:50Z 2023-12-28T16:42:50Z Check the return value of pipe adnano me@adnano.co commit 69a7078e019261b26c31b61724a0f3bc517ab624 parent 3ec74a0f2f7aebbedffaa74b6caa3d8299f65f08 Author: adnano <me@adnano.co> Date: Thu, 28 Dec 2023 11:42:50 -0500 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. 3ec74a0f2f7aebbedffaa74b6caa3d8299f65f08 2023-12-28T16:28:08Z 2023-12-28T16:28:08Z pool-buffer: Reduce struct padding adnano me@adnano.co commit 3ec74a0f2f7aebbedffaa74b6caa3d8299f65f08 parent d77ff0e64de510cf0aaec92107339f5b8c997702 Author: adnano <me@adnano.co> Date: Thu, 28 Dec 2023 11:28:08 -0500 pool-buffer: Reduce struct padding d77ff0e64de510cf0aaec92107339f5b8c997702 2023-12-28T16:26:38Z 2023-12-28T16:26:38Z Fix various type issues adnano me@adnano.co commit d77ff0e64de510cf0aaec92107339f5b8c997702 parent ad40b9173cf2d9596d2747be7c1c3210f3dcb12f Author: adnano <me@adnano.co> Date: Thu, 28 Dec 2023 11:26:38 -0500 Fix various type issues ad40b9173cf2d9596d2747be7c1c3210f3dcb12f 2023-12-25T13:33:30Z 2023-12-25T13:33:30Z Version 0.1.5 adnano me@adnano.co commit ad40b9173cf2d9596d2747be7c1c3210f3dcb12f parent e120b9156e758e881db5c13055c17999c62cfbd3 Author: adnano <me@adnano.co> Date: Mon, 25 Dec 2023 08:33:30 -0500 Version 0.1.5 e120b9156e758e881db5c13055c17999c62cfbd3 2023-10-26T18:34:17Z 2023-10-31T19:12:41Z Fix build failure when compiling in release Piotr Stefański stefanskipiotr15@gmail.com commit e120b9156e758e881db5c13055c17999c62cfbd3 parent adf5cda6e18dd1b0ce9fbde71200f79a816ecb91 Author: Piotr Stefański <stefanskipiotr15@gmail.com> Date: Thu, 26 Oct 2023 20:34:17 +0200 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. adf5cda6e18dd1b0ce9fbde71200f79a816ecb91 2023-07-28T07:01:34Z 2023-07-28T07:01:34Z Implement clipboard paste support adnano me@adnano.co commit adf5cda6e18dd1b0ce9fbde71200f79a816ecb91 parent e3da93aed8e9650a7c1a9b4e1c2e959cd47d7234 Author: adnano <me@adnano.co> Date: Fri, 28 Jul 2023 03:01:34 -0400 Implement clipboard paste support References: https://todo.sr.ht/~adnano/wmenu/4 e3da93aed8e9650a7c1a9b4e1c2e959cd47d7234 2023-07-15T22:55:07Z 2023-07-15T22:55:07Z Bump version to 0.1.4 adnano me@adnano.co commit e3da93aed8e9650a7c1a9b4e1c2e959cd47d7234 parent 554f3e7445234b5a60dd403aed9ef0db7437eb90 Author: adnano <me@adnano.co> Date: Sat, 15 Jul 2023 18:55:07 -0400 Bump version to 0.1.4 554f3e7445234b5a60dd403aed9ef0db7437eb90 2023-07-15T22:51:45Z 2023-07-15T22:51:45Z pango: Remove unused format specifier adnano me@adnano.co commit 554f3e7445234b5a60dd403aed9ef0db7437eb90 parent ccca01d3cd6b7cc13cd9d65896f6d577acf7eee7 Author: adnano <me@adnano.co> Date: Sat, 15 Jul 2023 18:51:45 -0400 pango: Remove unused format specifier ccca01d3cd6b7cc13cd9d65896f6d577acf7eee7 2023-07-13T03:40:39Z 2023-07-15T22:35:17Z Render after reading stdin Mykyta Holubakha hilobakho@gmail.com commit ccca01d3cd6b7cc13cd9d65896f6d577acf7eee7 parent 62e9584977639782d1d9288d8220069595e34ddc Author: Mykyta Holubakha <hilobakho@gmail.com> Date: Thu, 13 Jul 2023 06:40:39 +0300 Render after reading stdin This allows seeing option list without doing any input, like in original dmenu. 62e9584977639782d1d9288d8220069595e34ddc 2023-07-13T03:40:38Z 2023-07-15T22:35:15Z Drop render_frame on surface_enter Mykyta Holubakha hilobakho@gmail.com commit 62e9584977639782d1d9288d8220069595e34ddc parent 9fb3ffa5221e91f61ad5476c5cf226ab8789ed3e Author: Mykyta Holubakha <hilobakho@gmail.com> Date: Thu, 13 Jul 2023 06:40:38 +0300 Drop render_frame on surface_enter 9fb3ffa5221e91f61ad5476c5cf226ab8789ed3e 2023-06-04T20:51:26Z 2023-06-05T13:33:20Z Fix crash when some line contains % Nikita Ivanov nikita.vyach.ivanov@gmail.com commit 9fb3ffa5221e91f61ad5476c5cf226ab8789ed3e parent bbd82569bb5dd72fa98b8229f1ca137551ec1bdb Author: Nikita Ivanov <nikita.vyach.ivanov@gmail.com> Date: Sun, 4 Jun 2023 22:51:26 +0200 Fix crash when some line contains % bbd82569bb5dd72fa98b8229f1ca137551ec1bdb 2023-03-20T23:03:03Z 2023-03-20T23:03:03Z readme: Tweak wording adnano me@adnano.co commit bbd82569bb5dd72fa98b8229f1ca137551ec1bdb parent 5959a421aab2624e77d2d4bb952873b75af6444c Author: adnano <me@adnano.co> Date: Mon, 20 Mar 2023 19:03:03 -0400 readme: Tweak wording 5959a421aab2624e77d2d4bb952873b75af6444c 2023-03-20T22:44:48Z 2023-03-20T22:44:48Z Update README.md adnano me@adnano.co commit 5959a421aab2624e77d2d4bb952873b75af6444c parent 7c1e28b201ed52e42ddd8b114fdfbad0720d86d2 Author: adnano <me@adnano.co> Date: Mon, 20 Mar 2023 18:44:48 -0400 Update README.md 7c1e28b201ed52e42ddd8b114fdfbad0720d86d2 2023-02-26T12:45:37Z 2023-02-26T12:50:54Z Fix potential buffer overflow adnano me@adnano.co commit 7c1e28b201ed52e42ddd8b114fdfbad0720d86d2 parent a7df5b270d5aea3a38e7dbc9a27bcfd059b8bc61 Author: adnano <me@adnano.co> Date: Sun, 26 Feb 2023 07:45:37 -0500 Fix potential buffer overflow Calling strncpy where the size of the string to copy is equal to the size of the destination can potentially lead to a buffer overflow. To fix this, copy only what is needed with memcpy, and explicitly terminate the string with a null character. a7df5b270d5aea3a38e7dbc9a27bcfd059b8bc61 2023-02-07T18:42:56Z 2023-02-07T18:42:56Z Bump version adnano me@adnano.co commit a7df5b270d5aea3a38e7dbc9a27bcfd059b8bc61 parent 5ed249e3f3505cdf8e1f50f6a3ad4f10d4746600 Author: adnano <me@adnano.co> Date: Tue, 7 Feb 2023 13:42:56 -0500 Bump version 5ed249e3f3505cdf8e1f50f6a3ad4f10d4746600 2023-02-01T14:37:02Z 2023-02-01T14:37:02Z Fix buffer size not divisible by scale adnano me@adnano.co commit 5ed249e3f3505cdf8e1f50f6a3ad4f10d4746600 parent 5db5b3a7c7a342815226ad4262368577539e3df9 Author: adnano <me@adnano.co> Date: Wed, 1 Feb 2023 09:37:02 -0500 Fix buffer size not divisible by scale 5db5b3a7c7a342815226ad4262368577539e3df9 2022-12-03T15:49:24Z 2022-12-03T15:49:24Z docs: Document new bindings adnano me@adnano.co commit 5db5b3a7c7a342815226ad4262368577539e3df9 parent 272540c7fbc008ff7eaf2257d5c54fd2151c69a6 Author: adnano <me@adnano.co> Date: Sat, 3 Dec 2022 10:49:24 -0500 docs: Document new bindings 272540c7fbc008ff7eaf2257d5c54fd2151c69a6 2022-12-02T17:00:26Z 2022-12-02T17:00:28Z Drop xdg-output-unstable-v1 adnano me@adnano.co commit 272540c7fbc008ff7eaf2257d5c54fd2151c69a6 parent 38b4bae4bd4b2f96c3ddfa69880dc50c0affb8d9 Author: adnano <me@adnano.co> Date: Fri, 2 Dec 2022 12:00:26 -0500 Drop xdg-output-unstable-v1 Closes: https://todo.sr.ht/~adnano/wmenu/2 38b4bae4bd4b2f96c3ddfa69880dc50c0affb8d9 2022-12-02T16:35:30Z 2022-12-02T16:35:30Z Fix move to end of word adnano me@adnano.co commit 38b4bae4bd4b2f96c3ddfa69880dc50c0affb8d9 parent 972277a5e0a4d92810c84afe3a6b278b3f8bbd54 Author: adnano <me@adnano.co> Date: Fri, 2 Dec 2022 11:35:30 -0500 Fix move to end of word 972277a5e0a4d92810c84afe3a6b278b3f8bbd54 2022-12-02T15:08:24Z 2022-12-02T15:09:32Z Support basic Emacs-style line-editing bindings adnano me@adnano.co commit 972277a5e0a4d92810c84afe3a6b278b3f8bbd54 parent 8cc6a22737ba801cc4b5846af3e33f348abfc52e Author: adnano <me@adnano.co> Date: Fri, 2 Dec 2022 10:08:24 -0500 Support basic Emacs-style line-editing bindings Implements: https://todo.sr.ht/~adnano/wmenu/3 8cc6a22737ba801cc4b5846af3e33f348abfc52e 2022-12-02T14:29:15Z 2022-12-02T14:29:15Z Support number pad keys adnano me@adnano.co commit 8cc6a22737ba801cc4b5846af3e33f348abfc52e parent 01a343ed121efdc2181e34c1192f96d53f8a5a86 Author: adnano <me@adnano.co> Date: Fri, 2 Dec 2022 09:29:15 -0500 Support number pad keys 01a343ed121efdc2181e34c1192f96d53f8a5a86 2022-04-17T17:53:11Z 2022-04-17T17:53:11Z README: Mention Sway adnano me@adnano.co commit 01a343ed121efdc2181e34c1192f96d53f8a5a86 parent f8aa02f55bd33c70fda3276a6f60c7ef5cfe99d8 Author: adnano <me@adnano.co> Date: Sun, 17 Apr 2022 13:53:11 -0400 README: Mention Sway f8aa02f55bd33c70fda3276a6f60c7ef5cfe99d8 2022-04-15T08:50:45Z 2022-04-17T17:45:24Z README: add contributing section lemontree lemontree@subnet.email commit f8aa02f55bd33c70fda3276a6f60c7ef5cfe99d8 parent 1f9b23e41238bc51574f7dd4470a788430e5ab5f Author: lemontree <lemontree@subnet.email> Date: Fri, 15 Apr 2022 10:50:45 +0200 README: add contributing section 1f9b23e41238bc51574f7dd4470a788430e5ab5f 2022-04-17T17:27:28Z 2022-04-17T17:27:28Z Adjust line height adnano me@adnano.co commit 1f9b23e41238bc51574f7dd4470a788430e5ab5f parent decd2452deddb9c8a4bdcb1a0184cd056b01a5a0 Author: adnano <me@adnano.co> Date: Sun, 17 Apr 2022 13:27:28 -0400 Adjust line height decd2452deddb9c8a4bdcb1a0184cd056b01a5a0 2022-04-17T17:15:07Z 2022-04-17T17:15:09Z Implement vertical list support adnano me@adnano.co commit decd2452deddb9c8a4bdcb1a0184cd056b01a5a0 parent 2f1c189d535c2d8dce74ec44c670305f00e4a30c Author: adnano <me@adnano.co> Date: Sun, 17 Apr 2022 13:15:07 -0400 Implement vertical list support Implements: https://todo.sr.ht/~adnano/wmenu/1 2f1c189d535c2d8dce74ec44c670305f00e4a30c 2022-01-16T13:32:58Z 2022-01-16T13:32:58Z Initial commit adnano me@adnano.co commit 2f1c189d535c2d8dce74ec44c670305f00e4a30c Author: adnano <me@adnano.co> Date: Sun, 16 Jan 2022 08:32:58 -0500 Initial commit