Commit graph

3488 commits

Author SHA1 Message Date
Kovid Goyal
348151c457
More work on DnD protocol 2026-04-08 19:07:15 +05:30
Kovid Goyal
3f60cec587
Update changelog 2026-04-08 11:38:25 +05:30
Kovid Goyal
e7a196f403
fix broken links 2026-04-08 11:23:53 +05:30
Kovid Goyal
c630e1293e
Fix #9827 2026-04-08 11:09:51 +05:30
Kovid Goyal
b198a45fe8
Merge branch 'master' of https://github.com/lxcode/kitty 2026-04-07 19:56:07 +05:30
Kovid Goyal
7e5d4f8723
Update changelog 2026-04-07 19:43:25 +05:30
David Thiel
faed62e993 Make focus_follows_mouse only switch on window-boundary crossings
The previous implementation reverted any keyboard-driven window switch
on the next mouse motion event because it compared the hovered window
against the active window rather than against the previously hovered
window. Move the focus-follows-mouse trigger into
set_currently_hovered_window so it fires only when the hover ID
actually transitions, which also covers OS-window-entry.
2026-04-07 14:18:54 +01:00
copilot-swe-agent[bot]
18fb31b416
Fix double-click word selection not extending beyond viewport edges
Add continue_word_upwards_scrollback() and continue_word_downwards_offscreen()
to extend word selection beyond viewport boundaries, mirroring the line
selection fix. Add tests for word selection wrapping into scrollback and
below viewport.

Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/58191e45-d925-4996-b0d5-8b1bd4baa8d5

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-07 09:49:50 +00:00
copilot-swe-agent[bot]
82bf8923cc
Fix triple-click line selection not extending wrapped lines beyond viewport bottom
Similar to commit 625e984 which fixed extending into scrollback (above viewport),
this fix extends line selection below the viewport when a wrapped line continues
past the bottom edge. Adds continue_line_downwards_offscreen() and applies it
in both the initial selection and extending selection code paths.

Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/e548ce84-fdb7-4fd1-b3df-e1166b45f5bd

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-07 09:31:17 +00:00
Daniel M German
cb297c52c4 Document how command palette search computes candidates
Replace the brief Searching section with a structured user-facing
explanation covering: multi-word queries, per-word matching (exact,
prefix, and typo tolerance), compound names with delimiter characters,
and the five-level ranking order.
2026-04-06 22:42:47 -07:00
Kovid Goyal
c88adfba98
Allow optionally dragging URLs with the mouse
Fixes #9804
2026-04-06 10:40:11 +05:30
Kovid Goyal
a29b9387fa
More work on DnD protocol implementation 2026-04-04 14:27:03 +05:30
Kovid Goyal
ce041fab84
More work on DnD protocol implementation 2026-04-04 13:32:18 +05:30
Kovid Goyal
8bf1bd479b
edit-in-kitty: Ignore environment variables as some editors execute code present in env vars 2026-04-04 08:42:06 +05:30
Kovid Goyal
0fcbd265b6
Accumulate DnD image data 2026-04-03 23:18:07 +05:30
Kovid Goyal
e09bfc0708
Update changelog 2026-04-03 13:53:26 +05:30
Kovid Goyal
f6339d0bbf
More work on the DnD protocol 2026-04-03 11:42:22 +05:30
Kovid Goyal
06d201c3a5
... 2026-04-03 09:55:36 +05:30
Kovid Goyal
0584cbfadc
Implement sending drag start message to client 2026-04-03 09:42:57 +05:30
Kovid Goyal
07f4d3c7ae
Unify the two drag threshold settings 2026-04-02 13:49:15 +05:30
Kovid Goyal
e41592e3b1
More work on the DnD protocol 2026-04-02 12:03:49 +05:30
copilot-swe-agent[bot]
e948f64dbf
dnd.c: use non-blocking I/O in drop_send_file_chunks()
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/472b29a5-22c7-4f25-9541-9c9fafa78518

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-02 06:13:23 +00:00
Kovid Goyal
5cb0df0305
Update changelog 2026-04-02 08:55:45 +05:30
Kovid Goyal
af355e78d3
Merge branch 'copilot/improve-file-url-parsing' of https://github.com/kovidgoyal/kitty 2026-04-02 08:55:06 +05:30
copilot-swe-agent[bot]
087c5c1db9
dnd.c: strip query and fragment parts from file:// URLs before path resolution
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/8293fefc-4d7c-4502-9646-6270328d4a59

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-02 03:19:41 +00:00
Kovid Goyal
4688992d57
... 2026-04-02 08:45:09 +05:30
copilot-swe-agent[bot]
68cb5760b3
dnd.c: send file data in chunks instead of reading entire file into memory
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/5ec2905d-2e8a-4b6a-8070-cd59921cd61d

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-01 15:06:06 +00:00
Kovid Goyal
81d0e2dc8e
Cleanup previous PR 2026-04-01 13:05:56 +05:30
copilot-swe-agent[bot]
02aec3fa3e
Add DnD protocol test framework and tests
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/faa69cb9-991d-49f4-802b-263f4bb28ee9

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-01 07:22:47 +00:00
Kovid Goyal
4f7855aede
More work on the DnD protocol 2026-04-01 12:01:04 +05:30
copilot-swe-agent[bot]
96d10e51a0
Fix drag resize direction bugs and add comprehensive tests
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/12198e55-3901-439b-9fba-9b5f5b470416

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-01 03:48:49 +00:00
copilot-swe-agent[bot]
8aa83221e8
Improve password input: hide cursor and show lock emoji (U+1F512)
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/cf06c199-5837-41da-bebf-eb3c220684db

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-01 02:43:55 +00:00
Kovid Goyal
ea7a82c0c6
Cleanup previous PR 2026-03-31 22:49:54 +05:30
copilot-swe-agent[bot]
973c5fb650
Implement OSC 9;4 progress bar rendering in kitty window
Fixes #9777
Fixes #9786
2026-03-31 22:45:25 +05:30
copilot-swe-agent[bot]
c3a111fbd2
Fix inverted border drag direction in splits layout
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/10200944-3143-4347-880c-f4d5b96749f5

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-03-31 16:28:19 +00:00
Kovid Goyal
53ec55a1da
Cleanup previous PR
Fixes #9689
2026-03-31 21:10:31 +05:30
copilot-swe-agent[bot]
35ca3a178d
Implement smooth animated scrolling for scroll_line_up and scroll_line_down
Fixes #9784
2026-03-31 21:02:53 +05:30
copilot-swe-agent[bot]
c766b7e733
macOS: Add Copy/Paste menu items to the Edit menu in the global menu bar
Fixes #9780
Fixes #9781
2026-03-31 13:56:31 +05:30
Kovid Goyal
774b9af9e3
Fix crash when applying selections when rendering is paused
Use the scrolled by value from the paused rendering and clamp the
selection to the visual area.

Fixes #9778
2026-03-31 09:10:14 +05:30
Kovid Goyal
59d93577b1
Fix double click to rename tab being triggered too easily
Fixes #9774
2026-03-30 17:09:52 +05:30
Kovid Goyal
0f0ea8e43b
... 2026-03-30 09:25:19 +05:30
Kovid Goyal
1c95b321c4
... 2026-03-30 09:22:08 +05:30
Kovid Goyal
b3bdfbc487
Add link to where in the Unicode spec VS15 behavior comes from 2026-03-30 09:21:31 +05:30
Kovid Goyal
cf8ae0781e
... 2026-03-29 21:09:59 +05:30
Kovid Goyal
dd31561481
Docs: Sample function to output a line of text robustly in the face of VS15 narrowing the last grapheme 2026-03-29 20:57:51 +05:30
Kovid Goyal
9721346387
XWayland: Fix a regression where some wheel mice were not scrolling properly
We assume increment == 1 and delta * 120 == integer means we have
V120 events in units of 1/120.

Fixes #9770
2026-03-29 14:43:48 +05:30
Kovid Goyal
4718881e45
... 2026-03-28 14:35:27 +05:30
Kovid Goyal
66843f8058
Merge branch 'copilot/improve-window-dragging-feature' of https://github.com/kovidgoyal/kitty 2026-03-28 14:26:45 +05:30
copilot-swe-agent[bot]
0bafc0bdf7
Improve window drag thumbnail to include window content screenshot
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/d929ed68-51ad-414b-8c7e-139aa52cb506

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-03-28 08:47:23 +00:00
Kovid Goyal
f1f19519f7
Update changelog 2026-03-28 13:59:22 +05:30
Kovid Goyal
65cd74bfa0
Cleanup previous PR 2026-03-27 21:36:07 +05:30
Kovid Goyal
801718e38a
Update changelog 2026-03-27 20:11:48 +05:30
Kovid Goyal
4798ccd0d2
Fix completion for edit-in-kitty not including some common text file types 2026-03-27 20:07:55 +05:30
copilot-swe-agent[bot]
24414f6189
Fix scrollbar hit region to account for window margin (issue #9756)
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/eb5869d6-9938-4ff3-87fb-34fe14694d6c

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-03-27 05:25:06 +00:00
copilot-swe-agent[bot]
215bbf68de
Fix spurious mouse release event during drag out of OS window
Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/f4f7b9e7-102b-4af7-aa03-4fb7a85d6ed0
2026-03-26 14:00:57 +00:00
Kovid Goyal
79713b3ddf
Add a FAQ entry about grid size padding 2026-03-26 17:08:29 +05:30
Kovid Goyal
354d0780b2
Re-order FAQ 2026-03-26 17:03:06 +05:30
Kovid Goyal
0c46783f5e
Cleanup previous PR 2026-03-26 10:21:08 +05:30
copilot-swe-agent[bot]
6a0efbfdba
Refactor ShortcutTracker.Match() to respect AllowFallback priority order
Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/85fbf706-4688-4901-9a23-907cebc91da3
2026-03-26 04:31:37 +00:00
Kovid Goyal
9ea5441a2f
... 2026-03-26 09:39:33 +05:30
Kovid Goyal
88ee80b327
Cleanup previous PR
Actually respect the fallback order when finding matching shortcuts
2026-03-26 09:30:14 +05:30
Павел Мешалкин
8ffdf7d7ee feat: add per-mapping --allow-fallback for layout-independent shortcuts
Add --allow-fallback option to the map command that controls shifted
and ascii (alternate_key) fallback for individual key mappings.

For non-Latin keyboard layouts, when the current layout key is
non-ascii (codepoint > 127 and < 0xE000), the alternate_key from
the base layout is used for matching if the mapping opts in via
--allow-fallback=shifted,ascii.

Default kitty bindings use --allow-fallback=shifted,ascii so they
work out of the box with non-Latin layouts. User custom mappings
default to --allow-fallback=shifted (preserving existing shifted_key
behavior without ascii fallback).

--allow-fallback=none disables all fallback for a mapping.

Python side: parse_options_for_map() in options/utils.py handles flag
parsing, ShortcutMapping uses it in __init__. get_shortcut() filters
candidates by per-mapping allow_fallback.

Go side: ParseMap() handles --allow-fallback, KeyAction stores
AllowFallback, ShortcutTracker.Match passes it to matching.
MatchesParsedShortcut defaults to shifted,ascii for hardcoded shortcuts.

Migrated kittens (themes, command_palette, diff, choose_files) to
use ShortcutTracker with configurable map entries.

Tests added for Python (5 test methods) and Go (ParseMap + key matching).
2026-03-25 19:34:13 +03:00
Kovid Goyal
0ddad7474b
Cleanup previous PR 2026-03-25 09:23:29 +05:30
Kovid Goyal
2ce9d575ef
Update changelog 2026-03-24 21:18:42 +05:30
Kovid Goyal
97d3cd889c
Update changelog 2026-03-23 21:43:55 +05:30
copilot-swe-agent[bot]
c2f6fd9155 Expose session_name in kitten @ ls output for each window (fix #9732)
Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/98770c1a-7605-4597-a5ce-f27b35315930
2026-03-23 15:21:46 +00:00
copilot-swe-agent[bot]
6b86e7db5d Extend glfwGetKeyboardRepeatDelay() to return both initial delay and repeat interval
Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/bde9bf2e-a0dd-4ccd-8385-6a37be1e025f
2026-03-23 11:58:48 +00:00
copilot-swe-agent[bot]
998ee22ecb Add glfwGetKeyboardRepeatDelay() to the GLFW API for X11, Wayland and Cocoa
Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/4765810b-ecf5-4348-ae3a-ff0ff481aaae
2026-03-23 11:46:35 +00:00
Kovid Goyal
503e0a8acf
Cleanup previous PR 2026-03-23 08:54:57 +05:30
Daniel M German
6a3fe6ae01 Command palette: word-level search with multi-token cross-column matching
Implement a word-level scoring engine for the command palette that replaces
the previous FZF-based approach. Query tokens are matched against pre-tokenized
words in each column (key, action, category) with exact, prefix, and
edit-distance scoring. Multiple search terms are supported with cross-column
matching — items matching more tokens rank higher. Compound query tokens
containing delimiters (e.g. mouse_selection) are matched as units.

Add comprehensive tests using a Go builder API instead of raw JSON blobs,
covering single-token, multi-token, partial-match, ranking, mouse binding,
and unmapped action scenarios.

Add documentation for the command palette kitten.
2026-03-22 17:28:28 -07:00
Kovid Goyal
e9661f0f3a
Graphics protocol: Fix crash when handling invalid offset values in graphics compose commands 2026-03-22 21:49:12 +05:30
Kovid Goyal
46eee6e5df
Update changelog 2026-03-22 07:54:51 +05:30
Kovid Goyal
48ab623f59
Graphics protocol: Fix crash when handling invalid PNG image with direct transmission 2026-03-21 17:23:06 +05:30
Kovid Goyal
bd2a5cccfb
More work on dnd protocol 2026-03-21 17:13:19 +05:30
Kovid Goyal
6a71687942
Apply same correction for mid_lines() based chars as well
Also update changelog
2026-03-21 12:09:05 +05:30
copilot-swe-agent[bot]
e55c4468e5
Fix Too many timers bug and snprintf format string bug in DnD protocol
Fixes #9628
2026-03-21 08:41:47 +05:30
Kovid Goyal
b4d57525ea
Only base64 encode payload when needed 2026-03-21 08:41:47 +05:30
Kovid Goyal
17e941a180
Implement finishing of drops 2026-03-21 08:41:47 +05:30
Kovid Goyal
5ad55ec936
Implement drop data transmission 2026-03-21 08:41:47 +05:30
Kovid Goyal
4f404f8c85
Send dropped message 2026-03-21 08:41:47 +05:30
Kovid Goyal
3a30c47942
Get drop status updates working 2026-03-21 08:41:47 +05:30
Kovid Goyal
111b35b6a7
Implement drop leaving window 2026-03-21 08:41:47 +05:30
Kovid Goyal
fba67322d6
Some docs 2026-03-21 08:41:47 +05:30
Kovid Goyal
b0e57b4dce
Send drop move events to child 2026-03-21 08:41:46 +05:30
Kovid Goyal
8d069d3bcd
More dnd protocol docs 2026-03-21 08:41:46 +05:30
Kovid Goyal
5a8132d241
Start and stop accepting drops 2026-03-21 08:41:46 +05:30
Kovid Goyal
2898324047
Start work on DnD protocol 2026-03-21 08:41:46 +05:30
Kovid Goyal
4483a6c110
version 0.46.2 2026-03-21 06:36:04 +05:30
Kovid Goyal
81c3fa71a0
Update changelog 2026-03-20 08:32:26 +05:30
Kovid Goyal
4eaf380c30
Update changelog 2026-03-19 15:36:02 +05:30
Kovid Goyal
0051b7b046
Update changelog 2026-03-19 15:33:03 +05:30
Kovid Goyal
0321ca04f0
Cleanup previous PR
Fix leak of sub view and ensure child window has correct color space
2026-03-17 20:14:02 +05:30
Kovid Goyal
0479962dd7
Update changelog 2026-03-17 14:29:56 +05:30
Kovid Goyal
f2734fcfbd
Cleanup copilot code 2026-03-17 13:39:07 +05:30
Kovid Goyal
f57eb74dbe
Update changelog 2026-03-17 09:31:51 +05:30
Kovid Goyal
8457258f26
... 2026-03-17 09:30:23 +05:30
Kovid Goyal
6704f359a9
Update changelog 2026-03-17 08:57:30 +05:30
Kovid Goyal
ad53a5bdff
Cleanup previous PR 2026-03-17 08:40:56 +05:30
copilot-swe-agent[bot]
25f97f4ce5
Implement on_quit event for global watchers
Fixes #9682
2026-03-17 08:37:30 +05:30
Kovid Goyal
77821f6321
Fix #9679 2026-03-17 08:21:11 +05:30