Commit Graph

4831 Commits

Author SHA1 Message Date
Thomas Adam
0ce72059e6 build: capture openbsd-base before filtering 2026-07-13 09:05:10 +01:00
Thomas Adam
f80d3f6123 build: fetch cutover master before merge 2026-07-13 09:00:47 +01:00
nicm
0925c9846b Use _exit in child after fork, from Yayo Razo in GitHub issue 5376. 2026-07-13 07:57:44 +00:00
nicm
3612a9a605 Add missing calloc check and use fatal. Prompted by a similar change
from Yayo Razo.
2026-07-13 07:57:44 +00:00
Thomas Adam
cc8e0f2f67 actions: use published openbsd-git as base update 2026-07-13 08:50:49 +01:00
Thomas Adam
b602dc57b1 github actions: automate updates 2026-07-12 17:24:37 +01:00
nicm
7f2b0ae16e Do not make pty fds blocking again until all the data has been consumed
or control mode clients can get stuck, GitHub issue 5356 from Ben Maurer.
2026-07-10 15:45:11 +00:00
nicm
512255b9a7 Add formats and events for OSC 133 commmands, as well as a -T flag to
set-hook -B to only fire when the format is true.
2026-07-10 15:20:06 +00: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
1508bec957 Don't bother to send notifications to clients with CLIENT_EXIT, GitHub
issue 5357 from Ben Maurer.
2026-07-10 07:25:05 +00:00
nicm
bcc73e0db4 Change NOTHING (which means only redraw the indicator) to MOVE. And
redefine NOTHING as /actually/ nothing. Use it for commands which
actually make no change. Fixes flickering due to excessive redrawing of
indicator lines. Mostly from Michael Grant.
2026-07-10 07:13:05 +00:00
nicm
3a6c717bb8 Do not exit at bottom if a selection is in progress, GitHub issue 5349
from xiaomublue at gmail dot com.
2026-07-09 07:54:07 +00:00
nicm
161dbaf1ce Cancel pending resizes and resize immediately when entering alternate
screen, fixes flickering with scrollbars. GitHub issue 5351 from Michael
Grant.
2026-07-09 07:35:05 +00:00
nicm
e242da168b Clip the status line and menu against an open popup overlay, GitHub
issue 5350 from Noam Stolero.
2026-07-09 07:32:58 +00:00
nicm
dea309cf8d Allow empty name with new-window again, from Jacob Koziej. 2026-07-09 07:19:24 +00:00
nicm
1fefb80445 Add t/d for time difference in seconds. 2026-07-09 06:33:19 +00:00
nicm
e37a2e54ab Fix regsub with anchor at start of pattern, GitHub issue 5341. 2026-07-08 11:04:51 +00:00
nicm
8e76565c9c Keep all modes except cursor during redraw, GitHub issue 5337 from Ayman
Bagabas.
2026-07-08 09:23:10 +00:00
nicm
dac6514147 Report the terminal's own theme to panes rather than guessing from the
background. GitHub issue 5343 from Ayman Bagabas.
2026-07-08 08:21:53 +00:00
nicm
ac723bf2df Do not crash looking for next or previous session. GitHub issue 5344. 2026-07-08 08:15:49 +00:00
nicm
25060c3fa5 Fix empty argument to splitw/newp and add -k to copy-mode. 2026-07-08 08:07:42 +00:00
nicm
28c2005a2a Fix a typo (use right var), from Dane Jensen. 2026-07-08 07:55:17 +00:00
nicm
7b02cb6d03 Fix . and ; bindings, reported by tb. 2026-07-07 12:30:36 +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
nicm
7188391a22 Add a layout_geometry container struct, from Dane Jensen. 2026-07-07 08:07:26 +00:00
nicm
1ea574e4ca Set initial scrollbar state, from Michael Grant. 2026-07-07 07:47:03 +00:00
nicm
af35bcb64f Restore { and } to swap-pane and for floating panes and use a separate
key table accessed by g (short for "gove and/or gesize") for floating
panes. So "C-b g Up" moves the pane to top-centre, "C-b g M-Up" moves
and resizes it. This means we not only do not lose the surprisingly
popular { and } bindings, but we can have more than four keys for moving
and resizing panes.
2026-07-07 07:43:07 +00:00
nicm
ff09914327 Could of minor tidy ups. 2026-07-06 21:44:26 +00:00
nicm
d33d5b7de8 When sync is enabled, we need to mark the whole scroll region dirty if
there has been any scrolling. GitHub issue 5330.
2026-07-06 15:41:31 +00:00
nicm
20ef19b42f Add a key to change an array key in customize mode. 2026-07-06 14:40:57 +00:00
nicm
1117caaf09 Change array item keys to be strings instead of numbers which are
painful to work with.
2026-07-06 14:29:10 +00:00
nicm
79b83600af NOJOBS is a flag, use correct argument. 2026-07-06 12:10:18 +00:00
nicm
85e3ca5ae2 Check for width/height 0, based on change from Uzair Aftab. 2026-07-06 12:08:52 +00:00
nicm
d565fd3b54 Do not create zero size panes, from Uzair Aftab. 2026-07-06 11:28:39 +00:00
nicm
699b18414d Do not allow jobs in monitor formats. 2026-07-06 11:17:28 +00:00
nicm
913e503296 Unzoom before creating a floating pane (for now). 2026-07-06 07:57:45 +00:00
nicm
3f065cf789 Add a window pane reference count. 2026-07-05 18:37:57 +00:00
nicm
2fdcb64a79 Add a define for whether mouse is enabled by default (still off). 2026-07-05 10:49:05 +00:00
nicm
468c2942a3 Apply tree mode selection style to the entire line. 2026-07-05 10:28:02 +00:00
nicm
de024e04d7 Add set-hook -B install a subscription like in control mode.
Subscriptions are formats which are checked once a second and if changed
invoke a hook. show-hooks -B lists.
2026-07-05 08:24:00 +00:00
nicm
7a8f8f5a74 Do not use stale pointers in modes. 2026-07-04 22:09:06 +00:00
nicm
415885ecb9 Infer the terminal theme from the background colour correctly, if theme
reporting is not supported.
2026-07-04 22:06:45 +00:00
nicm
b05f0abeeb Do not ignore filter when >1 pane. GitHub issue 5326. 2026-07-04 20:17:53 +00:00
nicm
898a91903a Add some missing checks which make new pane positions off, from Dane
Jensen.
2026-07-04 18:54:18 +00:00
nicm
c5a7309966 Dirty ED 2 correctly, GiHub issue 5322 from git at twilligon dot com. 2026-07-04 08:34:16 +00:00
nicm
8e03310afe Move monitor stuff out of control.c into its own file for reuse. 2026-07-03 22:58:23 +00:00
nicm
d512a65d4c Add O and V loops in formats for options and environment. 2026-07-03 18:28:57 +00:00
nicm
4378a17fbe Add floating panes key bindings and menu options, from Dane Jensen. 2026-07-03 18:14:45 +00:00
nicm
b5a6d9bcab Fix some spelling and indentation. 2026-07-03 17:43:14 +00:00
nicm
e03a937c71 Add a quoted pane_start_command_list which does not lose argument
information.
2026-07-03 16:10:25 +00:00