Commit graph

17881 commits

Author SHA1 Message Date
Kovid Goyal
797c7e86fe
Bump sqlite for CVE 2026-04-18 13:40:47 +05:30
Kovid Goyal
2d18b88480
macOS: Switch to Tahoe style application icon 2026-04-18 13:28:22 +05:30
Kovid Goyal
2af98fd4fd
Merge branch 'fix/overlay-line-null-deref' of https://github.com/fecet/kitty 2026-04-18 12:11:59 +05:30
distsystem
875ca70a55 Fix crash in overlay line drawing on uninitialized linebuf view
screen_draw_overlay_line accessed self->linebuf->line->cpu_cells
without ever calling linebuf_init_line on the shared view. Render
paths that initialize a stack-local Line via render_line_for_virtual_y
left the view's cpu_cells as NULL (the value set by alloc_line via
PyType_GenericAlloc), and the multicell-trim loop then dereferenced
NULL + xstart * sizeof(CPUCell), producing a SIGSEGV at a small
address (e.g. 0x1e for xstart=2). The crash was reachable any time
an IME pre-edit overlay was rendered with the cursor not in column 0
on a screen whose linebuf->line had not been re-pointed by some
unrelated prior call.

Fix by initializing the view at the overlay row on entry. Add a
test_draw_overlay_line method on Screen so the behavior can be
exercised directly from a regression test.
2026-04-18 13:10:07 +08:00
Kovid Goyal
9fd83e7cfb
Merge branch 'master' of https://github.com/stevenxxiu/kitty 2026-04-17 20:40:39 +05:30
Steven Xu
dbce70908b docs: add *BICat* to graphics protocol applications 2026-04-18 01:06:16 +10:00
Kovid Goyal
480720693c
Merge branch 'copilot/rewrite-mouse-demo-drop' of https://github.com/kovidgoyal/kitty 2026-04-16 21:09:33 +05:30
copilot-swe-agent[bot]
2e314ecba9
Rewrite mouse-demo drop to use OnDnDData API; fix QueueDnDData bugs
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/3359d812-5cb2-44a6-ae6e-ba1d708c490a

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-16 15:32:49 +00:00
Kovid Goyal
f8dd59ebb0
Loop callback for dnd escape codes 2026-04-16 20:47:16 +05:30
Kovid Goyal
5ea424abeb
Loop API for DnD transmission 2026-04-16 20:06:12 +05:30
Kovid Goyal
b16d199c54
... 2026-04-16 19:24:21 +05:30
Kovid Goyal
0e41c937ac
More modernization 2026-04-16 19:15:19 +05:30
Kovid Goyal
c3d1665fa6
run go modernizer 2026-04-16 19:12:31 +05:30
Kovid Goyal
9b406c21ff
Make CodeQL happy 2026-04-16 15:30:21 +05:30
Kovid Goyal
8a61dbeee0
Micro optimisation 2026-04-16 15:03:44 +05:30
copilot-swe-agent[bot]
69c608c70f
Add tests for watch_for_kitty_config_changes Go function
Fixes #9882
2026-04-16 14:55:34 +05:30
Kovid Goyal
e9f3844f64
Implement auto reload of config 2026-04-16 14:41:29 +05:30
Kovid Goyal
efbfbb49f9
Use a single go routine to watch all dirs 2026-04-16 12:53:53 +05:30
Kovid Goyal
aa0a415500
Parse config files to determine set of dirs to watch 2026-04-16 12:49:48 +05:30
Kovid Goyal
80ad647336
Start work on config watcher kitten 2026-04-16 12:37:43 +05:30
Kovid Goyal
a4608c77a6
Update changelog 2026-04-16 08:49:26 +05:30
Kovid Goyal
cbc23d948d
Merge branch 'copilot/fix-issue-9725-cursor-data' of https://github.com/kovidgoyal/kitty
Fixes #9725
2026-04-16 08:47:41 +05:30
copilot-swe-agent[bot]
09e10fea85
Fix stale is_selected buffer after screen buffer toggle (#9725)
When toggling between alt and main screen buffers, the selection buffer
(is_selected) was not always re-uploaded to the GPU. This caused a size
mismatch because render_lines_for_screen depends on pixel_scroll_enabled,
which depends on linebuf == main_linebuf.

On alt screen, pixel_scroll is disabled so render_lines = screen->lines.
On main screen, pixel_scroll is enabled so render_lines = screen->lines + 1.
After switching from alt to main, the cell data buffer was re-uploaded with
the larger size (is_dirty = true), but the selection buffer was not
(screen_is_selection_dirty could return false if no selections/urls/extra
cursors were active). The extra row of cells then read out-of-bounds from
the selection buffer, getting garbage data that the shader interpreted as
extra cursor shapes, producing blinking cursor-colored artifacts.

Fix by unconditionally setting extra_cursors.dirty = true after screen
toggle, ensuring the selection buffer is always re-uploaded with the
correct size matching the cell data buffer.

Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/daa73124-4795-4389-aea5-bb5593a26d9f

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-16 03:13:25 +00:00
copilot-swe-agent[bot]
a348cabe23
Skip generation increment in background_images() when paths unchanged 2026-04-16 08:13:14 +05:30
Kovid Goyal
12a87929c6
Fix various minor bugs in the multiple bgimage code 2026-04-15 23:02:11 +05:30
Kovid Goyal
df4d3218a3
... 2026-04-15 22:43:48 +05:30
Kovid Goyal
2c9541cf21
Allow preloading multiple background images to GPU for fast switching
Fixes #9836
2026-04-15 22:34:20 +05:30
Kovid Goyal
92262ca095
Merge branch 'feat/ls-tab-activity' of https://github.com/muchzill4/kitty 2026-04-15 17:37:25 +05:30
Bartek Mucha
0aa5d32f5f
Don't replicate data on tabs 2026-04-15 12:59:04 +01:00
Bartek Mucha
f711e55a22
Expose window activity state in the kitty @ ls 2026-04-15 09:54:24 +01:00
Kovid Goyal
fc1a17062e
... 2026-04-15 10:11:39 +05:30
Kovid Goyal
b24425a1fd
... 2026-04-15 08:04:02 +05:30
Kovid Goyal
f65438d6a5
Improve performance of using active process data when rendering the tab bar by only scanning processes once per second
We dont bother with configurable ttl. Instead treat the start of caching
as the instant when cache freshness is checked. And ensure that cache is
re-used for every OS Window.

Fixes #9862
Fixes #9872
2026-04-15 07:53:09 +05:30
Kovid Goyal
15a6a51a22
Fix RemoteCommand usage with bootstrap.py and bootstrap.sh not exiting after RemoteCommand 2026-04-15 05:37:56 +05:30
Kovid Goyal
a47093a7bf
ssh kitten: Fix -o RemoteCommand handling 2026-04-15 05:19:22 +05:30
Kovid Goyal
a9e56d52a0
Merge branch 'copilot/fix-memory-leaks-and-add-tests' of https://github.com/kovidgoyal/kitty 2026-04-14 17:47:00 +05:30
Kovid Goyal
5e8ca630d4
... 2026-04-14 17:39:04 +05:30
copilot-swe-agent[bot]
48523efc7f
Add null check for strdup in dnd_test_drag_notify
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/3c7e550c-e8e8-413e-a54b-87d61cb8e574

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-14 09:37:36 +00:00
copilot-swe-agent[bot]
e8e2b31182
Fix memory safety issues, protocol bugs, and add tests for DnD implementation
Fixes:
- Memory leak: drag_free_remote_item now frees children array
- Memory leak: drag_free_offer now frees pending data
- Memory leak: toplevel_data_for_drag frees old URI string before replacement
- Protocol bug: drag_notify missing OSC prefix in escape code output
- Protocol bug: drag_notify missing colon separators between metadata keys
- Buffer overflow: add_payload symlink case ensures capacity for null terminator
- Integer overflow: expand_rgb_data uses size_t casts for multiplication
- Memory leak: realloc anti-pattern fixed in 7 locations (drop_register_window,
  drop_dispatch_data, drag_add_mimes, drag_add_pre_sent_data, drag_add_image,
  add_payload default case, queue_payload_to_child)
- UB: queue_payload_to_child guards memcpy with NULL source + 0 count

Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/3c7e550c-e8e8-413e-a54b-87d61cb8e574

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-14 09:33:23 +00:00
Kovid Goyal
fc162e8793
Bump python for CVEs 2026-04-14 14:11:35 +05:30
Kovid Goyal
8697da9e2a
Merge branch 'feature/support-ssh-remote-command' of https://github.com/zzhaolei/kitty
Fixes #3988
2026-04-14 12:53:34 +05:30
zhaolei
b86367483f Asynchronously read ssh configuration 2026-04-14 14:29:18 +08:00
Kovid Goyal
e455b29a85
Ensure tmpdir used for remote drag is deleted on kitty exit 2026-04-14 11:27:55 +05:30
Kovid Goyal
bcae760ea7
Skeleton for dnd kitten 2026-04-14 11:20:30 +05:30
Kovid Goyal
4076c43783
Report missing pointer-gestures protocol 2026-04-14 09:44:48 +05:30
Kovid Goyal
95593ef008
Wayland: Allow holding momentum scroll by putting two finger on touchpad. Fixes #9863 2026-04-14 09:39:57 +05:30
zhaolei
9b02a59c4e Add support for RemoteCommand option in kitten ssh 2026-04-14 11:11:51 +08:00
Kovid Goyal
549d7d23f6
Merge branch 'copilot/move-dnd-testing-infrastructure' of https://github.com/kovidgoyal/kitty 2026-04-14 08:18:41 +05:30
copilot-swe-agent[bot]
efb4eeab50
move DnD testing infrastructure from glfw.c to dnd.c, add init_dnd()
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/78192f4b-c0b7-4c34-9073-4ea717b531da

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-14 02:12:18 +00:00
Kovid Goyal
6218a09a5b
DRYer 2026-04-13 21:50:58 +05:30