Nicholas Marriott
d2d4b1bcee
Merge branch 'master' into command_parser
...
# Conflicts:
# cmd-parse.y
# regress/control-client-exit.sh
# regress/if-shell-error.sh
# tmux.h
2026-10-06 13:16:00 +01:00
nicm
dda0e4d489
Add support for borderless menus, like panes. GitHub issue 5447 from harikp2002
...
at gmail dot com.
2026-09-21 13:44:39 +00:00
Nicholas Marriott
cf3ab3cad9
Merge branch 'master' into command_parser
2026-08-19 20:57:59 +01:00
nicm
d384557b63
Remove flags from both keys for menus, GitHub issue 5484.
2026-08-17 08:54:26 +00:00
Nicholas Marriott
66e6b2e1c3
Merge master into command_parser
2026-07-15 10:34:14 +01:00
nicm
ad6832e697
Switch menus also to be attached to the window instead of an overlay and
...
drawn as part of the client's scene. This means removing the popup menu.
2026-07-14 22:13:51 +00:00
Nicholas Marriott
baf71480d0
Merge remote-tracking branch 'origin/master' into command_parser
...
# Conflicts:
# cmd-queue.c
# notify.c
# options.c
2026-07-13 11:12:46 +01:00
nicm
d29aa12117
Replace the notification system with events. Events can carry a payload of
...
additional payload (to reduce problems with lifetime of objects) and are
delivered to one or more event sinks. This is more powerful and reduces the
complex dependencies between control mode and hooks. Events are now used for
hooks, control mode notifications and for monitors (set-hook -B).
wait-for can now wait for an event to fire (-E flag, with -F to for filter),
with -v to print the payload, as well as listing (-l) waiting clients on an
event and forcing one to wake (-w).
A few additional hooks are also now available (pane-created, pane-resized, etc)
and some of the existing ones have additional format variables available.
2026-07-10 13:38:45 +00:00
nicm
76b693aa81
Add C-b g , and C-b g . for move and resize menus, also add to pane menu
...
(and fix to make them work).
2026-07-07 09:45:09 +00:00
Nicholas Marriott
54f5c82500
Convert most of remaining bits.
2026-06-30 18:19:26 +01:00
Your Name
9e8cf6f0e2
Stub out all users of old API.
2026-06-30 09:39:45 +01:00
nicm
49dff83a00
Set check callback for menus so they aren't overwritten by sync.
2026-06-22 10:17:08 +00:00
nicm
95afd7549c
Rewrite screen-redraw.c to make it tidier and more maintainable. A scene
...
is generated and cached in the client: it holds positions and sizes of
panes, borders and so on. The scene is invalidated when a pane is moved
or resized or relevant option is changed. This scene is then drawn to
the client as needed and text and colours are filled in. With Michael
Grant.
2026-06-22 08:47:45 +00:00
nicm
347baa6f3e
Do not walk off end or beginning of menu item list if every item is
...
disabled, GitHub issue 5255 from aizumusheer2 at gmail dot com.
2026-06-21 17:43:47 +00:00
nicm
d533d7c97c
Add a context for cell/palette/hyperlinks when drawing to tty to avoid
...
passing so much in parameters.
2026-06-09 21:22:22 +00:00
nicm
4a926e489b
Make C-[ have the same bindings as Escape for terminals with extended
...
keys where they are different, GitHub issue 5035 from Eric NICOLAS.
2026-04-28 10:01:07 +00:00
nicm
551e8fcd24
Fix comparison of menu keys, reported by Vladimir Bauer in GitHub issue
...
4891.
2026-03-12 07:15:26 +00:00
nicm
9e804202b6
Fix memory leak, from Emmanuel Ugwu in GitHub issue 4900.
2026-03-02 08:38:23 +00:00
nicm
8c7278b53a
Memory leaks in cmd_display_menu, from Huihui Huang.
2026-02-23 08:50:00 +00:00
nicm
f70150a663
Replace overlay_ranges with visible_ranges which can hold more than
...
three ranges (will be needed for floating panes); move the visible
ranges checks outside of tty_draw_line and rewrite it to fix issues with
partially-obscured wide characters. With Michael Grant.
2026-01-23 10:45:53 +00:00
nicm
ecbf8d76d0
Reevaluate menu and popup styles on each draw to allow them to change
...
when options change, from Josh Cooper in GitHub issues 4828 and 4829.
2026-01-22 07:52:24 +00:00
nicm
1d89233047
Add a resize callback for menus so that they are correctly moved on
...
resize. From m-einfalt at gmx dot de in GitHub issue 4696.
2025-11-25 20:27:23 +00:00
nicm
06c84dba59
Fix PageDown in menus, from Pavel Roskin in GitHub issue 4581.
2025-08-12 12:29:58 +00:00
nicm
cfd3c02306
Allow attributes in menu style, from Japin Li in GitHub issue 4194.
2024-10-17 17:10:41 +00:00
nicm
c7e61a01e5
Revamp extended keys support to more closely match xterm and support
...
mode 2 as well as mode 1. From Stanislav Kljuhhin (GitHub issue 4038).
This changes tmux to always request mode 2 from parent terminal, change
to an unambiguous internal representation of keys, and adds an option
(extended-keys-format) to control the format similar to the xterm(1)
formatOtherKeys resource.
2024-08-21 04:17:09 +00:00
nicm
b770a429c6
Add an option menu-selected-style to configure the currently selected
...
menu item, from Alexis Hildebrandt.
2023-08-15 07:01:47 +00:00
nicm
dee72ed41f
Add options and flags for menu styles similar to those existing for
...
popups, from Alexis Hildebrandt. GitHub issue 3650.
2023-08-08 08:08:47 +00:00
nicm
1071ef8fc5
Extend the menu drawing function to support custom characters and
...
styles, from Alexis Hildebrandt.
2023-08-08 07:41:04 +00:00
nicm
0cb75f1332
Do not allow multiple line separators in a row.
2023-02-05 21:26:48 +00:00
nicm
3aa458ea63
Add a flag to display-menu to select the manu item chosen first, GitHub
...
issue 3442.
2023-01-20 21:36:00 +00:00
nicm
de5cd54124
Change g and G to go to top and bottom of menu, GitHub issue 3286.
2022-08-04 12:06:09 +00:00
nicm
7cee982f90
Keep cursor on selected item on menu (useful for blind people), GitHub
...
issue 3225.
2022-06-16 13:27:39 +00:00
nicm
86a184b288
Trim menu item text correctly, GitHub issue 3197.
2022-05-31 10:22:42 +00:00
nicm
0027ee13a0
Support more mouse buttons when the terminal sends them, GitHub issue
...
3055.
2022-02-16 18:55:05 +00:00
nicm
97900d0442
A menu must be shown on a client, so always give the client when adding
...
the items. Also fix mode menus.
2022-02-01 18:12:20 +00:00
nicm
770d28b8c5
Do not overflow width when not enough space.
2022-02-01 11:52:08 +00:00
nicm
630c592ef8
If trimming menu item text, show key if it would take up less than a
...
quarter of the space; from Alexis Hildebrandt.
Also new sentence, new line in tmux.1, from jmc.
2021-11-11 09:22:33 +00:00
nicm
8235957eaa
Remove key and trim text if menu cannot fit in available space, based on
...
a change from Alexis Hildebrandt.
2021-10-22 17:12:50 +00:00
nicm
51ff77d47b
Fix menu width containing disabled items, from Alexis Hildebrandt in
...
GitHub issue 2935.
2021-10-18 09:48:35 +00:00
nicm
b8581ec80e
Make positions hidden by overlays range-based rather than character-based,
...
from Anindya Mukherjee.
2021-10-11 13:27:50 +00:00
nicm
a0b39dba31
Turn on both button and all mouse modes for menus since some terminals
...
only support the former.
2021-09-09 19:37:17 +00:00
nicm
5a4b2fd68c
Fix parsing of aliases again (GitHub issue 2842), also make argument
...
parsing a bit simpler and fix the names of some client flags.
2021-09-09 06:57:48 +00:00
nicm
7789639b5d
Add a menu when a popup is present (mouse only for now).
2021-08-13 18:54:54 +00:00
nicm
f0e02387b2
Do not close popups on resize, instead adjust them to fit, from Anindya
...
Mukherjee.
2021-07-21 08:06:36 +00:00
nicm
9726c4454e
Do not allow disabled items to be selected.
2020-10-30 12:00:01 +00:00
nicm
649e5970e9
Add a -O flag to display-menu to change the mouse behaviour and not
...
close the menu when the mouse is released, from teo_paul1 at yahoo dot
com.
2020-10-30 08:55:56 +00:00
nicm
869c0e860f
Fix some warnings, GitHub issue 2382.
2020-09-16 18:37:55 +00:00
nicm
26e8e467e8
Include title for the width of the menu.
2020-05-25 11:59:50 +00:00
nicm
292b335ca5
Separate key flags and modifiers, log key flags, make the "xterm" flag
...
more explicit and fix M- keys with a leading escape.
2020-05-16 16:35:13 +00:00
nicm
d056144aa1
Try to search the entire history first for up to 200 ms so a search
...
count can be shown. If it takes too long, search the visible text only.
2020-05-16 15:38:14 +00:00