Commit Graph

17761 Commits

Author SHA1 Message Date
Kovid Goyal
21467fcff9 Fix copilot code 2026-03-28 14:26:49 +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
e23c992135 Bump deps for CVEs 2026-03-28 14:03:32 +05:30
Kovid Goyal
f1f19519f7 Update changelog 2026-03-28 13:59:22 +05:30
Kovid Goyal
c01d36e318 ... 2026-03-28 13:52:27 +05:30
Kovid Goyal
3627621fd2 DRYer 2026-03-28 13:46:25 +05:30
Kovid Goyal
3d369f8632 Cleanup handling of drag_overlay_mode 2026-03-28 13:26:56 +05:30
Kovid Goyal
ae3818bf7e Cleanup drag overlay rendering 2026-03-28 12:51:23 +05:30
Kovid Goyal
8af6fceb2f Start cleanup of previous PR 2026-03-28 10:19:45 +05:30
Kovid Goyal
9e79d3be9c Merge branch 'feat-draggable-window-title-bars' of https://github.com/mcrmck/kitty 2026-03-28 10:02:14 +05:30
Kovid Goyal
3124864ee0 Fix #9765 2026-03-28 09:35:54 +05:30
Kovid Goyal
fe0ecbd9ca Regenerate palette colors when changing colors at runtime
Fixes #9763
2026-03-28 09:33:25 +05:30
Kovid Goyal
0c1ca14782 Merge branch 'copilot/add-tests-for-click-behaviors' of https://github.com/kovidgoyal/kitty 2026-03-28 06:34:12 +05:30
copilot-swe-agent[bot]
0330db0b7a Add tests for triple/double click mouse selection behaviors; fix extension_in_progress not being cleared on selection reset
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/3ee2e09c-5400-46f6-a556-0bba0e9dcff8

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-03-27 16:59:58 +00:00
Kovid Goyal
f9e8d8d232 ... 2026-03-27 21:46:55 +05:30
Kovid Goyal
65cd74bfa0 Cleanup previous PR 2026-03-27 21:36:07 +05:30
Kovid Goyal
bad02b1d31 Merge branch 'master' of https://github.com/mc36/kitty 2026-03-27 21:32:22 +05:30
Kovid Goyal
52015cc8c8 Cleanup previous PR 2026-03-27 21:15:59 +05:30
Kovid Goyal
19cd4abaa5 Merge branch 'copilot/generate-256-palette-color-function' of https://github.com/kovidgoyal/kitty 2026-03-27 21:15:23 +05:30
copilot-swe-agent[bot]
2f55eae27d Add generate_256_palette_color for single-index color generation
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/bf839f5e-fdb7-4c85-be97-a125b3abe86b

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-03-27 15:41:45 +00:00
Kovid Goyal
7be9fadd49 Add fix missing to copilot software install instructions 2026-03-27 21:09:58 +05:30
Kovid Goyal
7e5aac2e2b Allow setting color table value to none via OSC 21 2026-03-27 20:50:28 +05:30
Kovid Goyal
0a3a9031c5 When generating color table respect overriden fg/bg if any 2026-03-27 20:23:10 +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
Jake Stewart
1a62cde212 Add option to generate 256 color palette from first 16 colors
Needs more work to test and possibly implement reporting and setting
of the nullable color table colors.

Fixes #9426
2026-03-27 20:01:14 +05:30
mc36
a7e5b949a6 adding mouse action line_from_begin see #9755 2026-03-27 08:21:30 +01:00
mcrmck
6c37c1c391 Fix mypy: annotate drag_overlay_mode with full union type in Vertical and Tall
Bare literal assignments (drag_overlay_mode = 'axis_y') cause mypy to
narrow-infer the type as Literal['axis_y'] on the parent class, making
the subclass override (Horizontal = 'axis_x', Fat = 'axis_x') an
incompatible assignment. Fix by explicitly annotating Vertical and Tall
with the full union type from the base class, so the declared type stays
wide and subclasses can freely assign any valid mode.

Also removes unused ClassVar/Literal imports from splits.py.
2026-03-27 02:25:35 -04:00
mcrmck
d1b8df6975 Fix mypy error: remove narrowing ClassVar[Literal] annotations from layout subclasses
Horizontal extends Vertical, and Fat extends Tall. Declaring
drag_overlay_mode with a narrower Literal type in the subclass
conflicts with the parent's declared type, causing mypy error
"Incompatible types in assignment". Since the base Layout class already
declares the full union type, subclasses only need a bare assignment.

Also removes now-unused ClassVar and Literal imports from vertical.py,
tall.py, and grid.py.
2026-03-27 02:17:59 -04:00
mcrmck
a368a90e37 Add directional drag-and-drop inserts for Vertical, Horizontal, Tall, Fat, Grid
Previously, body drops in all non-Splits layouts showed a full-window overlay
and performed a positional swap. This adds proper top/bottom or left/right
half-window overlays and true before/after insertion for the five layouts
Kovid identified.

Architecture:

- New `drag_overlay_mode` ClassVar on Layout ('full'|'axis_y'|'axis_x'|'free')
  controls both overlay display and valid direction axis. Layout subclasses set
  one line; tabs.py and boss.py dispatch on this attribute instead of hasattr.

- New `insert_window_group_next_to(target_group_id, after)` on WindowList
  performs a positional insert (not swap) by popping the active group and
  inserting it before or after the target.

- New base `insert_window_next_to` on Layout uses insert_window_group_next_to
  for axis_x/axis_y layouts and falls back to swap for 'full' (Stack).
  Splits overrides this with its existing tree-based implementation.

- `_insert_window_in_direction` in boss.py collapses from a 7-line hasattr
  branch to a single layout.insert_window_next_to() call.

Direction constraints:
  Vertical, Tall, Grid -> top/bottom (axis_y)
  Horizontal, Fat      -> left/right (axis_x)
  Splits               -> 4-way free (unchanged)
  Stack                -> full-window swap (unchanged)
2026-03-27 02:08:41 -04:00
Kovid Goyal
99d986c821 Merge branch 'copilot/fix-scrollbar-margin-issue' of https://github.com/kovidgoyal/kitty 2026-03-27 11:36:57 +05:30
copilot-swe-agent[bot]
df79b8247f Give hovered scrollbar precedence over window borders to prevent flickering
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/260f17ab-b8d3-4581-ae88-de6f6c011637

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-03-27 05:48:50 +00:00
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
Kovid Goyal
e8461b2a9f When running kittens use the last reported cwd when at a prompt 2026-03-27 09:09:30 +05:30
Kovid Goyal
203ea700f4 Merge branch 'copilot/fix-spurious-mouse-release-event' of https://github.com/kovidgoyal/kitty 2026-03-26 19:52:12 +05:30
copilot-swe-agent[bot]
efe319f755 Send synthetic left button release after drag ends to fix stale mouse state
Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/e3cf07a9-b3c0-4786-b264-a83b85f098ac
2026-03-26 14:16:44 +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
d3133420ba Micro-optimization 2026-03-26 16:45:04 +05:30
Kovid Goyal
0c46783f5e Cleanup previous PR 2026-03-26 10:21:08 +05:30
Kovid Goyal
3411c61fa7 Merge branch 'copilot/refactor-shortcut-tracker-match-function' of https://github.com/kovidgoyal/kitty 2026-03-26 10:08:03 +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
1af334eed8 bump image dep for vuln 2026-03-26 09:43:58 +05:30
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
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