Commit Graph

17549 Commits

Author SHA1 Message Date
Kovid Goyal
88ee80b327 Cleanup previous PR
Actually respect the fallback order when finding matching shortcuts
2026-03-26 09:30:14 +05:30
Kovid Goyal
3e5b3eb55d Merge branch 'match-physical-keys' of https://github.com/keplian/kitty 2026-03-26 06:53:49 +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
79bde7f9a9 Ignore inapplicable CVE in python 2026-03-25 20:20:17 +05:30
Kovid Goyal
f479c90533 Fix set_tab_title without prefilling not working 2026-03-25 20:16:15 +05:30
Kovid Goyal
0ddad7474b Cleanup previous PR 2026-03-25 09:23:29 +05:30
Kovid Goyal
95ca222eba Merge branch 'add-show-hyperlink-prefix-key' of https://github.com/zzhaolei/kitty 2026-03-25 08:56:46 +05:30
zhaolei
47d89faa23 Add modifier-based hyperlink target display 2026-03-25 11:06:00 +08:00
Kovid Goyal
2ce9d575ef Update changelog 2026-03-24 21:18:42 +05:30
Kovid Goyal
0e663ef8e3 Merge branch 'full-match-highlighting' of https://github.com/duvallj/kitty 2026-03-24 21:15:26 +05:30
Jack Duvall
c48111d92c Highlight full extent of hint matches, not just the prefix label
Add --hints-text-background-color option (default: auto) that can apply
a background color to the matched text after the hint label. This makes
it more clear exactly which text each hint covers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 11:23:30 -04:00
Kovid Goyal
64567a539b Merge branch 'fix-drag-tab' of https://github.com/zzhaolei/kitty 2026-03-24 19:16:37 +05:30
zhaolei
e78b7b1a99 Align drag thumbnail to cursor on macOS 2026-03-24 14:42:04 +08:00
Kovid Goyal
7038857090 Merge branch 'update-shell-nix' of https://github.com/duvallj/kitty 2026-03-24 06:05:15 +05:30
Jack Duvall
63a257591b Update shell.nix
According to
https://nixos.org/manual/nixpkgs/stable/#sec-darwin-legacy-frameworks,
the darwin.apple_sdk.framework namespace has been deprecated.

This commit updates shell.nix to be compatible with the nixos-unstable
channel on darwin. Tested by running `nix-shell --pure` and then `make`
inside that shell.
2026-03-23 17:26:53 -04:00
Kovid Goyal
7c963a67cf ... 2026-03-23 22:24:56 +05:30
Kovid Goyal
97d3cd889c Update changelog 2026-03-23 21:43:55 +05:30
Kovid Goyal
0907d27306 Merge branch 'copilot/fix-issue-9732-expose-session-name' of https://github.com/kovidgoyal/kitty 2026-03-23 21:08:42 +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
Kovid Goyal
e4b505b6ca Merge branch 'copilot/add-keyboard-repeat-delay-function' of https://github.com/kovidgoyal/kitty 2026-03-23 20:37:10 +05:30
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
23b5e44ce5 Merge branch 'copilot/add-tests-for-graphics-fixes' of https://github.com/kovidgoyal/kitty 2026-03-23 11:12:51 +05:30
Kovid Goyal
407cfdf327 Merge branch 'dependabot/go_modules/all-go-deps-55bade0cd8' of https://github.com/kovidgoyal/kitty 2026-03-23 11:05:09 +05:30
dependabot[bot]
dc01c324a1 Bump the all-go-deps group with 2 updates
Bumps the all-go-deps group with 2 updates: [golang.org/x/image](https://github.com/golang/image) and [golang.org/x/text](https://github.com/golang/text).


Updates `golang.org/x/image` from 0.36.0 to 0.37.0
- [Commits](https://github.com/golang/image/compare/v0.36.0...v0.37.0)

Updates `golang.org/x/text` from 0.34.0 to 0.35.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.34.0...v0.35.0)

---
updated-dependencies:
- dependency-name: golang.org/x/image
  dependency-version: 0.37.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go-deps
- dependency-name: golang.org/x/text
  dependency-version: 0.35.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-23 03:43:10 +00:00
copilot-swe-agent[bot]
b252524def Add tests for graphics protocol crash fixes (commits e9661f0 and 48ab623)
Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/52901924-cb01-416f-8d4c-56bc2872a3c6
2026-03-23 03:39:38 +00:00
Kovid Goyal
503e0a8acf Cleanup previous PR 2026-03-23 08:54:57 +05:30
Kovid Goyal
0c7f17a447 Merge branch 'palette-improvements' of https://github.com/dmgerman/kitty 2026-03-23 08:48:59 +05:30
Daniel M German
9619571dd3 Command palette: fix gofmt struct field alignment in tests 2026-03-22 17:59:42 -07:00
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
f7626c7472 Update copilot instructions 2026-03-22 07:57:47 +05:30
Kovid Goyal
46eee6e5df Update changelog 2026-03-22 07:54:51 +05:30
copilot-swe-agent[bot]
9b9bfeb02d Fix XI_BadDevice crash on USB device disconnect (#9723)
When a USB HID device (keyboard/mouse) is disconnected, X11 fires an
XI_HierarchyChanged event, which triggers read_xi_scroll_devices().
That function calls XIGetProperty() on devices from XIQueryDevice().
There is a race condition: if a device is removed between these calls,
X11 generates an XI_BadDevice error. Without a custom error handler, the
default X11 handler calls exit(), killing kitty.

Fix: wrap the device query loop in read_xi_scroll_devices() with
_glfwGrabErrorHandlerX11() / _glfwReleaseErrorHandlerX11() so that any
XI_BadDevice error is captured by kitty's own handler rather than the
default fatal one.

Fixes #9723
Fixes #9724
2026-03-22 07:52:49 +05:30
Kovid Goyal
07099b3a3d Add a reminder about cloning shell envs being unsafe 2026-03-22 07:36:55 +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]
b7d18d512e Fix diagonal line visual thickness in cross_line and half_cross_line
Fixes #9719
Fixes #9721
2026-03-21 12:04:43 +05:30
Kovid Goyal
b4005d0e97 Fix drop on clients. data should be requested only after the client actually requests it not on return from drop event callback 2026-03-21 09:06:24 +05:30
Kovid Goyal
59117ff5fd ... 2026-03-21 08:41:48 +05:30
Kovid Goyal
59cb8eb201 Fix offered mimes only being sent once 2026-03-21 08:41:48 +05:30
Kovid Goyal
bdd35ba84f Only send the i client id key when needed 2026-03-21 08:41:48 +05:30
Kovid Goyal
32d0d23f24 ... 2026-03-21 08:41:48 +05:30
Kovid Goyal
27ad4bc070 Fix some more misc bugs in the DnD code 2026-03-21 08:41:48 +05:30
Kovid Goyal
78d474fee3 Dont have empty m key when no payload is present 2026-03-21 08:41:47 +05:30
Kovid Goyal
1704d27004 ... 2026-03-21 08:41:47 +05:30
Kovid Goyal
eddaaed3e3 Modernize Go code 2026-03-21 08:41:47 +05:30
copilot-swe-agent[bot]
3d13cf1ca5 Fix three bugs in mouse demo kitten DnD drop handling
Fixes #9631
2026-03-21 08:41:47 +05:30
Kovid Goyal
3b17bf0b1a ... 2026-03-21 08:41:47 +05:30