Commit Graph

126 Commits

Author SHA1 Message Date
Dane Jensen
7de5eb1254 Merge branch 'master' into floating_panes 2026-07-01 14:37:05 -07:00
nicm
824ef37f5f Change layout sets to build the layout using the new mechanics, from
Dane Jensen.
2026-07-01 16:43:14 +00:00
Dane Jensen
9e0ca948bf Fixed merge errors. 2026-06-29 15:34:45 -07:00
Dane Jensen
8e070f1a34 Merge branch 'master' into floating_panes 2026-06-29 15:25:54 -07:00
nicm
e06207c914 Cache scrollbar options in window to avoid a slow lookup when working
out visible ranges.
2026-06-29 19:03:34 +00:00
nicm
c29b41e527 Make pane scrollbars able to auto-hide after a short timeout. This
replaces the previous "modal" behaviour where the pane would be resized,
which tended to make a mess. Instead, the scrollbar appears when
scrolling or when hovered over with the mouse and disappears a
(configurable) short period later. From Michael Grant.
2026-06-29 07:45:09 +00:00
nicm
5e0b0a2aa3 Pulled code out of layout_split_pane for reuse and added
layout_insert_tile. From Dane Jensen.
2026-06-27 10:21:26 +00:00
nicm
e24969b422 Add a helper to swap a node into the place of a leaf, from Dane Jensen. 2026-06-27 10:18:32 +00:00
nicm
d0bf3bf06d Add ability to float a tiled pane to break-pane, from Dane Jensen. 2026-06-26 10:02:01 +00:00
nicm
9dba08ac8b Allow -p more than 100%, and account for borders when sizing new panes.
From Dane Jensen.
2026-06-23 09:29:26 +00:00
nicm
3ec115115d Do not leak error message, use it instead. From Dane Jensen. 2026-06-23 09:13:30 +00:00
Dane Jensen
6ec0afe5f7 Merge branch 'master' into floating_panes 2026-06-22 11:32:30 -07:00
nicm
02b37b3c69 Fix scrollbar pad to work even if not set in style. 2026-06-22 13:57:33 +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
e680420c89 Place floating cells meaningfully into the layouts, from Dane Jensen. 2026-06-22 08:10:16 +00:00
Dane Jensen
19843cd826 bugfix
There is a signature and functionality mismatch with the recent merge in
`layout_floating_pane` that has been fixed. It now more gracefully
handles inputs.
2026-06-20 12:22:08 -07:00
Dane Jensen
8a4a150a1a Fixed tiled cell detection and removed dead guard. 2026-06-18 15:01:21 -07:00
Dane Jensen
de41b93b73 Merge branch 'master' into floating_panes 2026-06-18 12:54:11 -07:00
nicm
b1b184cdb8 Add functions to work out cell neighbours, and to remove a tiled cell.
From Dane Jensen.
2026-06-18 09:11:24 +00:00
nicm
eafd2bed5d FIx a couple of minor errors in use of layout_cell_is_tiled. 2026-06-17 07:43:55 +00:00
Dane Jensen
c54f7ec95e Remove extra code. 2026-06-16 13:43:13 -07:00
Dane Jensen
f8448764e2 Merge branch 'master' into floating_panes 2026-06-16 13:38:33 -07:00
nicm
0890df5891 Add layout_cell_is_tiled and layout_cell_has_tiled_child helper
functions, from Dane Jensen.
2026-06-16 07:06:32 +00:00
Dane Jensen
9bd53b8565 changed window_pane_visible to window_pane_is_visible 2026-06-15 21:18:47 -07:00
Dane Jensen
55c8b0c2a7 Merge branch 'master' into floating_panes 2026-06-15 13:00:51 -07:00
nicm
b86bd1fcd0 Add pane-border-lines none like popups (-B to new-pane). 2026-06-15 17:34:25 +00:00
Dane Jensen
bba9f38636 Bug fix for parsing floating args. 2026-06-14 22:11:57 -07:00
Dane Jensen
195a9b357a hide-pane and show-pane now use the new layout mechanics. 2026-06-14 21:48:03 -07:00
Dane Jensen
e244be2540 Bug fixes and adjustments from feedback. 2026-06-14 20:02:24 -07:00
Dane Jensen
5dad31b06e slight renaming. 2026-06-14 19:59:41 -07:00
Dane Jensen
64ded18960 Updating tile-pane and float-pane to use new layout mechanics. 2026-06-14 19:59:37 -07:00
Dane Jensen
4dd496790a Merge branch 'master' into floating_panes 2026-06-14 19:54:43 -07:00
nicm
cc27470cb6 Skip floating panes when working out the top or bottom cell. Fixes
missing bottom status pane status line when floating panes exist.
2026-06-14 20:37:57 +00:00
nicm
87976aa48e Add a helper to get pane-border-status for a window for some other
changes to come.
2026-06-14 19:31:37 +00:00
nicm
778a15b64a Take account of borders when resizing floating panes. 2026-06-14 18:59:15 +00:00
nicm
d23a2b7e97 Skip floating cells when moving to previous cell for resize of tiled cells. 2026-06-13 20:03:10 +00:00
nicm
b182791052 Tidy up error messages from split-window. 2026-06-13 18:30:16 +00:00
Dane Jensen
8497b588a2 Merge master into floating_panes 2026-06-11 12:05:11 -07:00
nicm
3ea458b9dc Add support for floating panes to resize-pane, from Dane Jensen. 2026-06-11 10:16:19 +00:00
Dane Jensen
e370ce5a00 Added function comment. 2026-06-09 15:44:24 -07:00
Dane Jensen
2a1ad05671 There was an bug with the earlier commit, reproduction: "splitw; newp
-t0; killp -t0". Added logic to handle previously unforseen states, like
a floating cell before a tiled cell at the top of the screen.
2026-06-09 15:37:30 -07:00
Dane Jensen
7568bff8e6 Layout cells for floating panes are now inserted after the cell of a
provided window pane.
2026-06-09 13:33:45 -07:00
Dane Jensen
6766c8ec1d Initial commit. 2026-06-09 13:33:45 -07:00
Dane Jensen
a7952492c1 Merged master into floating_panes 2026-06-08 15:58:38 -07:00
nicm
5744021ac9 Allow floating panes to be created partially off the window, based on a
change from Michael Grant.
2026-06-07 09:54:25 +00:00
nicm
35709a30ee Change so that floating panes are always part of the root layout. From
Dane Jensen.
2026-06-06 17:30:48 +00:00
Dane Jensen
7c908bca7a Fixed vestigal compile errors 2026-06-03 17:46:29 -07:00
Nicholas Marriott
90ede52728 Merge branch 'master' into floating_panes 2026-06-02 20:36:08 +01:00
nicm
a3bf632276 Move cell creation into layout.c, from Dane Jensen. 2026-06-02 19:25:06 +00:00
nicm
ae6a749d3a Move the PANE_FLOATING flag into the layout cell and add an accessor.
From Dane Jensen.
2026-06-02 08:13:50 +00:00