Commit Graph

17624 Commits

Author SHA1 Message Date
Kovid Goyal
e65521e9c2 Clarify that overlay windows are not traversed by next/prev window actions 2026-03-02 19:36:13 +05:30
Kovid Goyal
e09e707dc6 Generalize leading edge special case 2026-03-02 19:28:04 +05:30
Kovid Goyal
d807960684 Update docs to note that tabs can be dragged and dropped 2026-03-02 16:48:43 +05:30
Kovid Goyal
ba8a8a0980 More work on splits drag resize 2026-03-02 16:43:21 +05:30
Kovid Goyal
c3d26f1cf0 Splits layout: cleanup resize drag handling 2026-03-02 16:17:04 +05:30
Kovid Goyal
a222df75cb Cleanup splits drag resize handling 2026-03-02 12:37:28 +05:30
Kovid Goyal
bc7523fe32 Merge branch 'fix/splits-layout-variable-shadowing' of https://github.com/noomz/kitty 2026-03-02 12:29:06 +05:30
Siriwat Uamganmsup
d5e45cf8d3 Splits layout: Fix variable shadowing in layout_pair causing corrupted pane positions
The for loops iterating over edge_border() results in layout_pair() used
top, bottom, left, right as loop variable names, which shadowed the
function's local variables tracking current layout position. This caused
sibling panes to be positioned at incorrect offsets when splitting a pane
that was itself a nested Pair (e.g. splitting the left pane horizontally
would cause the right pane to shift down half the screen).

Rename loop variables to etop, ebottom, eleft, eright to avoid shadowing.
2026-03-02 13:53:59 +07:00
Kovid Goyal
35c30423ea ... 2026-03-02 12:07:59 +05:30
Kovid Goyal
69b9993804 Fix border directionality in grid layout 2026-03-02 11:28:52 +05:30
Kovid Goyal
4264889e9a Fix border marking in tall/fat layout 2026-03-02 11:22:23 +05:30
Kovid Goyal
bc66878821 ... 2026-03-02 11:09:52 +05:30
Kovid Goyal
68d1a336fe Fix edge detection for borders in vert/horz layouts 2026-03-02 11:04:09 +05:30
Kovid Goyal
dc4cf8280d ... 2026-03-02 10:58:40 +05:30
mcrmck
c68f712d19 Fix CI: sort imports and fix Sphinx cross-references
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 00:10:37 -05:00
mcrmck
cc32af250b Rename pane → window title bar per reviewer feedback
- Rename all options from pane_title_* to window_title_*
- Use foreground/background instead of fg/bg in color option names
- Change color options to to_color_or_none defaulting to None,
  falling back to corresponding tab bar colors
- Add bell_symbol, activity_symbol, progress_percent template vars
  using existing bell_on_tab and tab_activity_symbol options
- Add custom script support via window_title_bar.py in config dir
  (draw_window_title function exposed as {custom} in templates)
- Update C structs, Python references, and regenerate config files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-01 23:53:28 -05:00
mcrmck
ab3a8ca56a Add pane title bar feature for window splits
Add an optional title bar that displays above or below each window pane
when multiple windows are visible in a tab. This is similar to tmux's
pane-border-format or Terminator's pane title bars.

New configuration options:
- pane_title_bar: none/top/bottom (default: none)
- pane_title_template: f-string template (same syntax as tab_title_template)
- active_pane_title_template: override for active pane
- pane_title_bar_active_fg/bg: colors for active pane title
- pane_title_bar_inactive_fg/bg: colors for inactive pane titles
- pane_title_bar_align: left/center/right text alignment

The title bars are rendered using virtual Screen objects registered with
the GPU, following the same model as the tab bar. Title bars are
automatically hidden when only a single window is visible.

Ref: https://github.com/kovidgoyal/kitty/discussions/9448

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-01 23:52:24 -05:00
Kovid Goyal
3281a8d634 DRYer 2026-03-02 08:45:34 +05:30
Kovid Goyal
6b54c201e5 Track window ids on border rects
More robust. Splits layout still needs work.
2026-03-02 08:31:36 +05:30
Kovid Goyal
9c0d7b83b1 Fix #9577 2026-03-01 16:11:21 +05:30
Kovid Goyal
3352b8e572 Wrap request attention API and expose to python 2026-03-01 11:33:03 +05:30
Kovid Goyal
4d0459df95 Update changelog 2026-03-01 11:00:26 +05:30
Kovid Goyal
5c2b088895 Merge branch 'fix/split-view-fullscreen-crash' of https://github.com/AndrewP-GH/kitty 2026-03-01 10:59:41 +05:30
Kovid Goyal
522aa7805b DRYer 2026-03-01 10:42:07 +05:30
Kovid Goyal
08d84aa211 Fix #9571 2026-03-01 10:38:23 +05:30
Kovid Goyal
04c35d85da Merge branch 'fix-accessibility-window-management' of https://github.com/alexasa79/kitty 2026-03-01 10:26:20 +05:30
Sasha Sandler
2c89a7dedf Allow accessibility selectors needed for external window management tools
Tools like Easy Move+Resize use the macOS Accessibility API to find and
move/resize windows. They call AXUIElementCopyElementAtPosition to get the
content view, then use kAXWindowAttribute to navigate to the parent window.

The isAccessibilitySelectorAllowed: whitelist was blocking these selectors,
preventing external window management tools (Easy Move+Resize) from working with
kitty.

Fixes #5561
2026-02-28 22:22:38 -05:00
Andrey Paramonov
21c2e585cf Refactor fullscreen exit handling to ensure frame constraint suppression is lifted consistently after a delay 2026-02-28 20:21:59 +03:00
Andrey Paramonov
72de57b5e5 Enhance fullscreen transition handling on macOS by adding frame constraint suppression 2026-02-28 19:59:43 +03:00
Andrey Paramonov
6d33cea816 Fix fullscreen handling for macOS Split View to prevent crashes 2026-02-28 17:56:19 +03:00
Kovid Goyal
7500c58e1c Fix #9569 2026-02-28 16:54:02 +05:30
Kovid Goyal
2d1d340d41 Work on drag resize for splits layout 2026-02-28 07:37:49 +05:30
Kovid Goyal
c09f0c07a6 Make border detection more rigorous 2026-02-28 06:08:50 +05:30
copilot-swe-agent[bot]
8eb0e35b63 Use closest border when detecting window borders
Fixes #9564
2026-02-27 13:50:11 +05:30
Kovid Goyal
ea11959c7f Do not spam child processes with resize notifications while a drag resize is in progress
Avoids prompt corruption because of shells doing rapid redraws
2026-02-27 09:20:39 +05:30
Kovid Goyal
f94051e752 Be a little more defensive 2026-02-27 08:26:33 +05:30
copilot-swe-agent[bot]
0ad9a15491 Implement drag resize target selection for splits layout
Fixes #9563
2026-02-26 21:57:43 +05:30
Kovid Goyal
09fcb7cef0 Implement resizing semantics based on layout
Still need to do splits layout but all others should be OK
2026-02-26 20:55:43 +05:30
Kovid Goyal
5e845a49a0 ... 2026-02-26 20:20:33 +05:30
Kovid Goyal
131a6ba8c6 Use the correct resize pointer shape on corners 2026-02-26 19:43:24 +05:30
Kovid Goyal
1a185e7027 ... 2026-02-26 19:11:00 +05:30
Kovid Goyal
32d8ebfbb3 Add an option to control dragging to resize windows 2026-02-26 19:07:47 +05:30
Kovid Goyal
ccc0ce5ceb Do drag resize by dragging window borders 2026-02-26 17:36:41 +05:30
Kovid Goyal
852db16fc9 Cleanup mouse.c 2026-02-26 14:53:10 +05:30
Kovid Goyal
609f6ed960 Cleanup tracking of drag resize in Boss 2026-02-26 14:17:26 +05:30
Kovid Goyal
69caa7be11 Merge branch 'mouse-drag-resize' of https://github.com/mcrmck/kitty 2026-02-26 13:53:31 +05:30
Kovid Goyal
492449608f Fix #9558 2026-02-26 09:11:28 +05:30
Kovid Goyal
d56958f61a Cleanup previous PR 2026-02-25 19:40:38 +05:30
Kovid Goyal
3108c0bc81 Merge branch 'master' of https://github.com/theAnuragMishra/kitty 2026-02-25 19:39:47 +05:30
Kovid Goyal
437d4f4166 Forgot to comment out debug print 2026-02-25 16:00:02 +05:30