Commit graph

3671 commits

Author SHA1 Message Date
Kovid Goyal
cf136a233c
... 2026-08-11 08:29:47 +05:30
Kovid Goyal
953ac19e77
Autoformat slang code 2026-08-10 22:29:18 +05:30
Kovid Goyal
81e94953f8
Merge branch 'feature/UAT-set-os-window-title' of https://github.com/Bonjour123/kitty 2026-08-10 21:14:35 +05:30
Kovid Goyal
e1f2d2dc8d
A simple shader pipeline example 2026-08-10 20:49:36 +05:30
Kovid Goyal
b0052a333b
preserve scroll position when opening and closing vdeo popups 2026-08-10 20:41:32 +05:30
Kovid Goyal
69c0841765
Add retro terminal shaders to demo gallery 2026-08-10 19:54:49 +05:30
Lucas TAVEAU
988242d4d2 feat: add remote control for OS window titles [feature/UAT-set-os-window-title] 2026-08-10 09:52:16 +02:00
Kovid Goyal
ac2c1ca86c
Pass geometry of window with bell to custom shaders 2026-08-10 13:09:37 +05:30
Kovid Goyal
4a7b87a4f5
Remove extern from custom shader vars declarations
Since we specialize and compiler shader separately for every occurrence
in the pipeline, it is no longer needed.
2026-08-10 12:03:56 +05:30
Kovid Goyal
79a1ad2b57
Cleanup docs 2026-08-10 10:28:21 +05:30
Kovid Goyal
60ab484dfb
Add a focus highlight demo 2026-08-09 21:59:38 +05:30
Kovid Goyal
8660a97523
Couple more uses of repo_folder 2026-08-09 21:40:03 +05:30
Kovid Goyal
919523f31a
Link to code for shipped custom shaders 2026-08-09 21:36:39 +05:30
Kovid Goyal
7da676b061
Finish custom shader docs 2026-08-09 20:20:51 +05:30
Kovid Goyal
3b6c330278
Work on documentation for custom shaders 2026-08-09 20:02:47 +05:30
Kovid Goyal
356e140d92
... 2026-08-09 18:47:46 +05:30
Kovid Goyal
c9fef78103
Cleanup docs formatting 2026-08-09 18:42:08 +05:30
Kovid Goyal
802ef3c1ea
Cleanup video demo generation 2026-08-09 16:03:37 +05:30
Kovid Goyal
b2f249cbfd
dont upscale demo videos 2026-08-09 15:49:36 +05:30
Kovid Goyal
99c75d1243
generate includes for custom shader demo videos 2026-08-09 15:49:36 +05:30
Kovid Goyal
9bb664ee3c
Switch from sphinx-inline-tabs to sphinx-design
sphinx-design gives us more capabilities such as cards and grids
2026-08-09 14:31:33 +05:30
Kovid Goyal
b1bab0eb90
Remove no longer needed restriction 2026-08-09 14:03:11 +05:30
Kovid Goyal
d97bdc22c9
Define custom shader categories 2026-08-09 13:53:13 +05:30
Kovid Goyal
9e9087c319
Start work on custom shader docs 2026-08-09 13:25:13 +05:30
eureka-cpu
fa4490daf8 doc: Mention kitty-diff-git in kitty-diff doc 2026-08-09 00:07:57 -07:00
Kovid Goyal
7a436920de
Clean up previous PR 2026-08-06 08:18:25 +05:30
MiguelRegueiro
f7280f458c Add elio to graphics and DnD support lists 2026-08-05 20:12:23 +02:00
MiguelRegueiro
b6a9f7e9b4 Add elio to integrations 2026-08-05 19:39:10 +02:00
Kovid Goyal
3d02563153
Update changelog 2026-08-05 20:35:57 +05:30
Kovid Goyal
41fc5cb97a
Update changelog 2026-08-05 13:37:48 +05:30
Kovid Goyal
7f0b072f0d
autoformat 2026-08-05 05:32:56 +05:30
Kovid Goyal
100c78bbb3
A new option to color compensatory padding with neighboring cell colors 2026-08-05 05:32:55 +05:30
Kovid Goyal
28b534a821
... 2026-08-05 05:32:55 +05:30
Kovid Goyal
766466ad57
Add a screenshot remote control command 2026-08-05 05:32:55 +05:30
Kovid Goyal
d8841799ac
... 2026-08-05 05:32:53 +05:30
Kovid Goyal
70031b709a
Note that shader-slang is now a dependency 2026-08-05 05:32:49 +05:30
Alex Myczko
2be09a7f1b
Add chawan as a TUI web browser option 2026-08-04 21:05:20 +02:00
Kovid Goyal
fe60b67c50
Add a new AI category to integrations
Some checks failed
CI / Linux (python=3.14 cc=clang sanitize=1) (push) Has been cancelled
CI / Linux (python=3.12 cc=gcc sanitize=0) (push) Has been cancelled
CI / Linux (python=3.13 cc=gcc sanitize=1) (push) Has been cancelled
CI / Linux package (push) Has been cancelled
CI / Bundle test (macos-latest) (push) Has been cancelled
CI / Bundle test (ubuntu-latest) (push) Has been cancelled
CI / macOS Brew (push) Has been cancelled
CI / Test ./dev.sh and benchmark (push) Has been cancelled
CodeQL / CodeQL-Build (actions, ubuntu-latest) (push) Has been cancelled
CodeQL / CodeQL-Build (c, macos-latest) (push) Has been cancelled
CodeQL / CodeQL-Build (c, ubuntu-latest) (push) Has been cancelled
CodeQL / CodeQL-Build (go, ubuntu-latest) (push) Has been cancelled
CodeQL / CodeQL-Build (python, ubuntu-latest) (push) Has been cancelled
Depscan / Scan dependencies for vulnerabilities (push) Has been cancelled
2026-08-04 09:51:11 +05:30
Rick Ye
f2ebc805c8
Add captain-miao tool to integrations documentation
captain-miao is a TUI app to manage multiple AI coding sessions. It deeply integrates into the kitty terminal through the remote control. I think it's a nice showcase for this unique capability of kitty.
2026-08-04 00:12:16 -04:00
Kovid Goyal
fd6c299965
Fix #10312 2026-08-04 06:28:12 +05:30
Valentin Shergin
faec3fc63d Add malevich to graphics protocol support list 2026-08-03 15:51:10 -07:00
Kovid Goyal
5de75dfd02
Cleanup previous PR 2026-08-03 08:55:12 +05:30
Francis Lavoie
86c5e13816
Wayland: do not ignore the scroll wheel after reversing direction
A high resolution wheel delivers one physical detent as several VALUE120
events, so pending_scroll_pixels accumulates fractions of a line and carries
the remainder to the next event. Detents do not reliably total 120 units, so
that carry is load bearing: it is what lets an undersized detent still scroll
a line.

It breaks down when the scroll direction changes, because the residual then
has the wrong sign and the first detent of the new direction is spent
cancelling it rather than scrolling. Measured on a Logitech MX Master 3 under
GNOME/Wayland, against a terminal program that had requested mouse events,
47% of detents that reversed direction scrolled nothing, against 2% of
detents continuing in the same direction.

Discard the residual when the direction changes, and leave the carry alone
otherwise, so scrolling in a single direction is unaffected.

The accumulator state also moves from Screen to OSWindow, since scroll events
are delivered to an OS Window rather than to a particular terminal window.
2026-08-02 15:47:31 -04:00
Kovid Goyal
f293199d30
Update changelog
Some checks are pending
CI / Linux (python=3.14 cc=clang sanitize=1) (push) Waiting to run
CI / Linux (python=3.12 cc=gcc sanitize=0) (push) Waiting to run
CI / Linux (python=3.13 cc=gcc sanitize=1) (push) Waiting to run
CI / Linux package (push) Waiting to run
CI / Bundle test (macos-latest) (push) Waiting to run
CI / Bundle test (ubuntu-latest) (push) Waiting to run
CI / macOS Brew (push) Waiting to run
CI / Test ./dev.sh and benchmark (push) Waiting to run
CodeQL / CodeQL-Build (actions, ubuntu-latest) (push) Waiting to run
CodeQL / CodeQL-Build (c, macos-latest) (push) Waiting to run
CodeQL / CodeQL-Build (c, ubuntu-latest) (push) Waiting to run
CodeQL / CodeQL-Build (go, ubuntu-latest) (push) Waiting to run
CodeQL / CodeQL-Build (python, ubuntu-latest) (push) Waiting to run
Depscan / Scan dependencies for vulnerabilities (push) Waiting to run
2026-08-02 22:01:41 +05:30
Kovid Goyal
75bd9d7979
Improve fade style for vertical tab bar 2026-08-02 21:54:56 +05:30
Chance Zibolski
51ebfe4912 Vertical tabs: add tab_title_wrap to wrap long titles
A tab title too wide for the sidebar could only be truncated, which is wasteful
now that a title may use several lines. Add tab_title_wrap, accepting no (the
default, truncate as before), yes to wrap at the width of the tab bar, or a
number to wrap at that many cells.

Wrapping happens on grapheme boundaries so a line break can never land inside a
multi-codepoint grapheme, and SGR escapes are treated as zero width so colors
from tab_title_template neither consume cells nor get split in half. Wrapping is
bounded by tab_title_max_lines, and when a title needs more lines than it is
allowed the last line it gets is truncated with an ellipsis, which also makes
dropped lines visible for titles containing explicit newlines.

Only vertical tab bars are affected, since wrapping requires more than one row.
2026-08-01 09:18:15 -07:00
Chance Zibolski
4ccb98058b Vertical tabs: fill the tab background for the full width of the tab bar
Each line of a vertical tab was only painted as far as its text reached, so the
tab background ended mid row and the sidebar showed a ragged right edge. This
was already the case for single line titles, but multi-line titles make it
obvious, since the lines of one title rarely have the same length.

Paint the tab's full width before drawing the title over it, so every line a tab
occupies is filled in that tab's colors.
2026-08-01 09:18:15 -07:00
Chance Zibolski
26032a4802 Vertical tabs: support multi-line tab titles
Newlines in tab_title_template were drawn as a linefeed without a carriage
return, so each line started where the previous one ended, staircasing to the
right. Titles also collided with the tab below them after two lines, because
update_vertical assumed a fixed two line stride per tab.

Set LNM on the tab bar screen so a newline returns to the start of the next
line, measure how many lines each title actually occupies, and pack tabs at
cumulative offsets.

The blank line between tabs is preserved: one is inserted between tabs while
there is room, and dropped automatically once the tabs need the space, as
before. Previously this fell out of every tab reserving two lines, which is no
longer true now that a tab occupies only as many lines as its title needs.

The number of lines a title may use is limited by the new tab_title_max_lines
option, defaulting to 1 so existing configurations render as before. Lines
beyond the limit are dropped rather than bleeding into the next tab, and a title
is never allowed to use more lines than remain below it, since drawing past the
last line would scroll the tab bar and lose the tabs already drawn.

Only vertical tab bars are affected; horizontal tab bars share a single row.
2026-08-01 09:17:55 -07:00
Kovid Goyal
2cb1d95c3a
version 0.48.2
Some checks are pending
CI / Linux (python=3.14 cc=clang sanitize=1) (push) Waiting to run
CI / Linux (python=3.12 cc=gcc sanitize=0) (push) Waiting to run
CI / Linux (python=3.13 cc=gcc sanitize=1) (push) Waiting to run
CI / Linux package (push) Waiting to run
CI / Bundle test (macos-latest) (push) Waiting to run
CI / Bundle test (ubuntu-latest) (push) Waiting to run
CI / macOS Brew (push) Waiting to run
CI / Test ./dev.sh and benchmark (push) Waiting to run
CodeQL / CodeQL-Build (actions, ubuntu-latest) (push) Waiting to run
CodeQL / CodeQL-Build (c, macos-latest) (push) Waiting to run
CodeQL / CodeQL-Build (c, ubuntu-latest) (push) Waiting to run
CodeQL / CodeQL-Build (go, ubuntu-latest) (push) Waiting to run
CodeQL / CodeQL-Build (python, ubuntu-latest) (push) Waiting to run
Depscan / Scan dependencies for vulnerabilities (push) Waiting to run
2026-07-30 17:04:27 +05:30
Kovid Goyal
35a6e8b961
...
Some checks are pending
CI / Linux (python=3.14 cc=clang sanitize=1) (push) Waiting to run
CI / Linux (python=3.12 cc=gcc sanitize=0) (push) Waiting to run
CI / Linux (python=3.13 cc=gcc sanitize=1) (push) Waiting to run
CI / Linux package (push) Waiting to run
CI / Bundle test (macos-latest) (push) Waiting to run
CI / Bundle test (ubuntu-latest) (push) Waiting to run
CI / macOS Brew (push) Waiting to run
CI / Test ./dev.sh and benchmark (push) Waiting to run
CodeQL / CodeQL-Build (actions, ubuntu-latest) (push) Waiting to run
CodeQL / CodeQL-Build (c, macos-latest) (push) Waiting to run
CodeQL / CodeQL-Build (c, ubuntu-latest) (push) Waiting to run
CodeQL / CodeQL-Build (go, ubuntu-latest) (push) Waiting to run
CodeQL / CodeQL-Build (python, ubuntu-latest) (push) Waiting to run
Depscan / Scan dependencies for vulnerabilities (push) Waiting to run
2026-07-30 08:45:35 +05:30