Commit Graph

12084 Commits

Author SHA1 Message Date
Dane Jensen
b7aa734066 Added read-only helper functions to the json api which handle errors. 2026-08-30 09:19:10 -07:00
Dane Jensen
924d4aa274 Adjusted the api for json.c based on feedback. 2026-08-30 09:19:10 -07:00
Dane Jensen
305111d32b Adjusted invariant. 2026-08-30 09:19:10 -07:00
Dane Jensen
e550034c1b More bugfixes and test updates. 2026-08-30 09:19:10 -07:00
Dane Jensen
2c44f97152 Bugfixes and documentation updates. 2026-08-30 09:19:10 -07:00
Dane Jensen
2c2a683612 Fixed control_window_changed_layout_cb
It now emits the correct client informatiom.
2026-08-30 09:19:10 -07:00
Dane Jensen
f43043e9a2 Pulled out json into its own file, added better error reporting, and
added the parse context with some bug fixes.
2026-08-30 09:19:10 -07:00
Dane Jensen
7f487638a5 Added regression test. 2026-08-30 09:19:09 -07:00
Dane Jensen
2737943c2e Fixed two null dereferences. 2026-08-30 09:19:09 -07:00
Dane Jensen
80ba4a30a7 Fixed whitespace parsing bug for literals. 2026-08-30 09:19:09 -07:00
Dane Jensen
1c1688e1dc Bug fixes and touchups. 2026-08-30 09:19:09 -07:00
Dane Jensen
31b1c2e58a missing const 2026-08-30 09:19:09 -07:00
Dane Jensen
fbe5dae0b6 Updated comments. 2026-08-30 09:19:09 -07:00
Dane Jensen
d891943cf7 fixes from feedback.
Also moved away from individual allocations and implemented basic string
views.
2026-08-30 09:19:09 -07:00
Dane Jensen
5361839035 Bug fixes.
Lots of memory leak/double frees.
2026-08-30 09:19:09 -07:00
Dane Jensen
be14c849bd bug fix 2026-08-30 09:19:09 -07:00
Dane Jensen
f91cf12160 comment clarity. 2026-08-30 09:19:09 -07:00
Dane Jensen
e13611dd4b Fixes from feedback.
Added a tokenizer and JSON parser for version 2. It is extendable to be
useful into the future. Converted `layout_append_v1` to use `struct
layout_string`.
2026-08-30 09:19:09 -07:00
Dane Jensen
ceb71c3773 Updated documentation. 2026-08-30 09:19:09 -07:00
Dane Jensen
9e8ca18000 Added small comment to explain the two formats in layout-custom.c 2026-08-30 09:19:09 -07:00
Dane Jensen
bd3532e3e2 Old format does not dump floating cell information. 2026-08-30 09:19:09 -07:00
Dane Jensen
ffac5dfbed Changed from feedback. 2026-08-30 09:19:09 -07:00
Dane Jensen
2cc2447530 Changed key for top level layout field to "L" 2026-08-30 09:19:09 -07:00
Dane Jensen
8416eec742 Changed v2 of the layout string format to be a subset of JSON. 2026-08-30 09:19:09 -07:00
Dane Jensen
019a4d37ac Added client flag to enable the new format when in control mode. Added
back the old format which is dispatched to. Also added attributes to the
format.
2026-08-30 09:19:03 -07:00
Dane Jensen
6939698d0d Cleaned up some of the implementation and moved flags to the front. 2026-08-30 09:17:29 -07:00
Dane Jensen
3127f52d15 Updated the layout string format to be more readable and include flags. 2026-08-30 09:17:29 -07:00
tmux update bot
40381bdcd9 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Do not walk off end of grid lines if last line is wrapped, reported by Moe Khalilov.
  Do no free input context if it is NULL when popup create fails.
2026-08-28 10:32:01 +00:00
nicm
7bad4f7722 Do not walk off end of grid lines if last line is wrapped, reported by
Moe Khalilov.
2026-08-28 10:32:00 +00:00
nicm
65e811570b Do no free input context if it is NULL when popup create fails. 2026-08-28 10:32:00 +00:00
tmux update bot
dd31900f80 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Ignore focus events earlier to avoid them interfering with prefix, GitHub issue 5539.
2026-08-28 09:02:23 +00:00
nicm
013ada58c8 Ignore focus events earlier to avoid them interfering with prefix,
GitHub issue 5539.
2026-08-28 09:02:22 +00:00
Nicholas Marriott
78dad45f3b Add timeout for lock and don't keep credentials for regress, from Andreas
Fehlner.
2026-08-28 09:07:16 +01:00
Nicholas Marriott
52b452948f Check for buffer write error. 2026-08-28 08:56:12 +01:00
tmux update bot
267746603a Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Fix tiled pane resizing with floating layout cells, reported by Kevin Hovsäter.
2026-08-25 21:31:27 +00:00
nicm
b26b240613 Fix tiled pane resizing with floating layout cells, reported by Kevin
Hovsäter.
2026-08-25 21:31:25 +00:00
Nicholas Marriott
8e48c889dd Add a resize test. 2026-08-25 19:36:06 +01:00
tmux update bot
f4445a310a Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Add a clear-on-attach option which when turned off scrolls away the existing terminal state instead of entering the alternate screen. This is useful in environments where tmux is started as a login shell but it is important that any pre-tmux messages are still visible. GitHub issue 5508 from Josef Řídký.
2026-08-25 11:30:47 +00:00
nicm
4157b64754 Add a clear-on-attach option which when turned off scrolls away the
existing terminal state instead of entering the alternate screen. This
is useful in environments where tmux is started as a login shell but it
is important that any pre-tmux messages are still visible. GitHub issue
5508 from Josef Řídký.
2026-08-25 11:30:45 +00:00
tmux update bot
0d2aafe7b7 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Do not pass NULL to qsort, and add checks for invalid session or window after swap.
2026-08-25 09:38:42 +00:00
nicm
6f4c9b32af Do not pass NULL to qsort, and add checks for invalid session or window
after swap.
2026-08-25 09:38:40 +00:00
tmux update bot
eb77a75ab7 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Do not leak exit message on client free, from Jeong, Heon.
  Tidy up args_make_commands reference counting to fix a memory leak, from Jeong, Heon.
2026-08-25 07:59:42 +00:00
nicm
0851650c6b Do not leak exit message on client free, from Jeong, Heon. 2026-08-25 07:59:40 +00:00
nicm
1459c90a7f Tidy up args_make_commands reference counting to fix a memory leak, from
Jeong, Heon.
2026-08-25 07:59:40 +00:00
tmux update bot
af29c080ba Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Correct a comparison ('\0' should be 0).
  If a pane has no scrollbar, don't bother to redraw it, and if redraw is deferred change scrollbar redraws into redraw-all-scrollbars not redraw entire window. GitHub issue 5529.
2026-08-25 01:46:56 +00:00
nicm
50ea32162f Correct a comparison ('\0' should be 0). 2026-08-25 01:46:55 +00:00
nicm
2d5328a860 If a pane has no scrollbar, don't bother to redraw it, and if redraw is
deferred change scrollbar redraws into redraw-all-scrollbars not redraw
entire window. GitHub issue 5529.
2026-08-25 01:46:55 +00:00
tmux update bot
e5db7598b2 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Do not add messages to cfg_causes after config has finished, GitHub issue 5528.
2026-08-24 22:03:29 +00:00
nicm
dc78d8f9ea Do not add messages to cfg_causes after config has finished, GitHub
issue 5528.
2026-08-24 22:03:27 +00:00
tmux update bot
022b8451e3 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Always use synchronized updates in copy mode (like when not in the active pane), since copy mode will almost always moved the cursor. From Artem Goldenberg in GitHub issue 5525.
2026-08-24 16:44:37 +00:00