OBrutus
344d45d694
remote_file kitten: reset terminal before top-level error display
...
main()'s error path after handle_action fails (e.g. malformed
--ssh-connection-data, or a ControlMaster connect failure) was missing the
reset_terminal() call Python's equivalent except-path makes
(kittens/remote_file/main.py pre-shrink: `except Exception: print(reset_terminal(),
...); traceback.print_exc(); show_error(...)`). Without it, the error rendered
over the stale ask-menu screen instead of a clean one. Added reset_terminal()
before show_error(), matching the other four call sites already added for
this kitten.
Verified: launched `kitten remote-file --path /nonexistent --hostname x
--ssh-connection-data 'not-json'` in a disposable kitty instance, selected an
action to trigger the parse failure, and confirmed via `get-text`/`get-text
--extent=all` that only the error message is present -- no ask-menu leftovers.
2026-08-14 12:41:25 +05:30
OBrutus
a0978a74a2
remote_file kitten: port ask UI to Go, wrap and shrink Python to result-handler shim
...
Adds kittens/remote_file/main.go (ask menu, hostname-mismatch prompt,
save-path prompt with tab completion, edit/open/save actions) on top of the
ControlMaster/ssh helpers from the previous two commits, registers it in
tools/cmd/tool/main.go, and adds remote_file to shell-integration/ssh/kitty's
wrapped_kittens list so both `kitty +kitten remote_file` and ssh-session
invocations exec the Go binary directly. main.py is shrunk to option_text
(kept importable by kitty/cli_stub.py and used for --doc/--help generation),
is_ssh_kitten_sentinel (kept importable by kitty/window.py), and the
handle_result shim boss.py runs in-process to open the returned file.
Also drops the dead `-h` alias on --hostname: Python's CLI layer always
special-cases -h/--help ahead of user options, so it never worked as a
hostname shorthand, but the Go CLI layer hard-errors on the collision; removing
it is a no-op for existing behavior (boss.py only ever passes --hostname) and
unblocks `kitten remote-file --help`. Also adds the same reset_terminal()
calls Python makes between UI phases (ask menu -> action, hostname-mismatch
prompt, overwrite prompt, $EDITOR handoff) so the Go and Python screens match.
Manually verified parity against Python (ask menu, cancel, open/edit/save
download+upload round-trips, hostname-mismatch Y/N, save-path prompt and
overwrite O/A/R/N) using a fake-ssh test double, and confirmed post-wrap that
`kitty +kitten remote_file` execs the Go kitten binary.
2026-08-13 15:21:57 +05:30
OBrutus
36f93e72a7
remote_file kitten: Go control master, download/upload, edit loop
2026-08-12 18:02:57 +05:30
OBrutus
062ff5fed1
remote_file kitten: correct pythonSplitExt to match os.path.splitext semantics
2026-08-12 17:50:13 +05:30
OBrutus
f9e242e308
remote_file kitten: fix dotfile rename and ssh-kitten cmdline truncation edge cases
2026-08-12 17:45:35 +05:30
OBrutus
25c3347d38
remote_file kitten: Go connection-data parsing and ssh helpers
2026-08-12 16:32:53 +05:30
OBrutus
7e5c773df1
broadcast kitten: wrap as Go kitten, remove Python implementation
2026-08-12 16:04:03 +05:30
OBrutus
aa8bf26b02
broadcast kitten: Go TUI implementation and registration
2026-08-12 12:52:40 +05:30
OBrutus
59438927a9
broadcast kitten: Go send-text/session escape-code helpers
2026-08-11 17:24:52 +05:30
OBrutus
9cffe48359
resize_window kitten: wrap as Go kitten, remove Python implementation
2026-08-11 17:16:05 +05:30
OBrutus
edbf66f004
resize_window kitten: Go TUI implementation and registration
2026-08-11 00:27:05 +05:30
OBrutus
9e34cad010
resize_window kitten: Go RC escape-code helper
2026-08-06 19:24:28 +05:30
Kovid Goyal
2607d22ac3
Merge branch 'copilot/fix-cursor-trail-start-threshold' of https://github.com/kovidgoyal/kitty
...
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
Fix #10248
2026-07-10 07:55:51 +05:30
copilot-swe-agent[bot]
7906e0b96b
Make cursor_trail_start_threshold accept two values for x and y dimensions independently
2026-07-10 02:05:57 +00:00
Kovid Goyal
996714cff7
Merge branch 'fix-wayland-ime-popup-position' of https://github.com/lsdhophora/kitty
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-09 07:56:39 +05:30
Kovid Goyal
d453586b9c
Bump go version for stdlib CVEs
2026-07-09 07:46:27 +05:30
Kovid Goyal
15a44edefc
Clean up previous PR
2026-07-09 07:01:18 +05:30
Kovid Goyal
8d6e855480
Merge branch 'feat/quick-access-terminal-layer-config' of https://github.com/qo0u0op/kitty
2026-07-09 06:58:46 +05:30
lsdhophora
00029d0a6f
Fix IME popup position after text_input re-enters on Wayland
...
When a kitty window regains text-input focus (e.g. switching back to a
workspace in sway, unminimizing, or unlocking the screen), the
zwp_text_input_v3::enter event is fired. However, text_input_enter()
only called enable + set_content_type without restoring the cursor
rectangle. If the compositor does not re-send wl_keyboard.enter at the
same time, kitty never updates the IME position, causing the popup to
appear at the top-left corner.
Restore the last known cursor rectangle in text_input_enter() so the
IME popup immediately appears at the correct position.
2026-07-09 08:22:06 +08:00
qo0u0op
ead0836c5d
feat(quick-access-terminal): make --layer configurable
2026-07-09 02:18:03 +08:00
Kovid Goyal
efc31d9de8
note that bspwm does not support the needed NET_WM protocols for the panel kitten
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-08 20:12:41 +05:30
Kovid Goyal
5d0c976018
Merge branch 'fix-smooth-scroll-timers' of https://github.com/ivaradi/kitty
2026-07-08 19:28:54 +05:30
István Váradi
18abd21a9f
Remove timer when scroll finished
...
If smooth scrolling has reached its target, scroll_animation_tick()
clears the timer ID in the animation object. However, the timer
was not removed, which resulted in the timers potentially accumulating
and preventing the creation of new timers eventually. This caused smooth
scrolling to stop working in the terminal.
2026-07-08 15:47:55 +02:00
Kovid Goyal
5879199d4a
Update changelog
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-07 20:05:03 +05:30
Kovid Goyal
b161786253
Merge branch 'follow-cocoa-platform' of https://github.com/zzhaolei/kitty
2026-07-07 20:01:42 +05:30
Kovid Goyal
46ed64782c
Merge branch 'master' of https://github.com/tellezhector/kitty
2026-07-07 15:02:12 +05:30
Hector Tellez
501f28acdf
Fixes bug where hints starting with the first alphabet's character are _almost never_ generated.
...
* Switches to "positional notation" to fix the bug.
* Consolidates `encode_hint` and `generate_prefix_free_hint` into `encode_hint`.
* Moves prefix_free_hints.go to hints_generator.go; `encode_hint` and `decode_hint` were moved here too.
* The "prefix-free" logic was made 0-index based instead of 1-index based for two reasons:
1. To simplify 1-off discrepancies.
2. To keep backwards compatibility with the old usage of `encode_hint`.
* Slight perfomance improvement added by reusing the runt-to-index map instead of rebuilding for each call to `decode_hint`.
* Unit tests added; for all new logic and old affected logic.
Fixes #10231
2026-07-07 02:07:51 -07:00
Kovid Goyal
1543831a1c
Get rid of some obsolete TypeVar usages
2026-07-07 14:01:30 +05:30
Kovid Goyal
8860f1a0a7
ty does not enforce existence of type signatures on functions, so use ruff to do it
2026-07-07 13:56:54 +05:30
zhaolei
e7a7362d54
Make first mouse clicks activate and pass through
...
Allow the first mouse click on an inactive Cocoa OS window to be delivered to kitty instead of only activating the window.
Make the matching kitty-internal behavior consistent by forwarding clicks that switch focus to another kitty window in the currently focused OS window. This lets the same first click both focus the target kitty window and perform the click action, including forwarding to mouse-tracking applications.
2026-07-07 15:51:20 +08:00
Kovid Goyal
cc95fccc8d
Merge branch 'fix-freebsd-wayland-dnd' of https://github.com/MiguelRegueiro/kitty
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-07 06:40:10 +05:30
MiguelRegueiro
0b95d43833
Fix Wayland drag source startup on FreeBSD
2026-07-06 21:07:08 +02:00
MiguelRegueiro
aedb75d4f3
Fix FreeBSD Wayland build
2026-07-06 21:07:01 +02:00
Kovid Goyal
fab7ce90db
Agent neutral instructions
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-06 11:18:16 +05:30
Kovid Goyal
4e01ab48cc
...
2026-07-06 09:35:04 +05:30
Kovid Goyal
a16ee94f12
Merge branch 'dependabot/github_actions/actions-0faa7b25e7' of https://github.com/kovidgoyal/kitty
2026-07-06 09:32:54 +05:30
Kovid Goyal
a97243613e
Merge branch 'dependabot/go_modules/all-go-deps-8549c3adfb' of https://github.com/kovidgoyal/kitty
2026-07-06 09:32:43 +05:30
Kovid Goyal
93552eba08
Fix race between starting talk thread and calling wakeup_talk_thread
2026-07-06 09:31:46 +05:30
dependabot[bot]
8e9f335012
Bump the actions group with 3 updates
...
Bumps the actions group with 3 updates: [actions/setup-python](https://github.com/actions/setup-python ), [actions/setup-go](https://github.com/actions/setup-go ) and [actions/cache](https://github.com/actions/cache ).
Updates `actions/setup-python` from 6.2.0 to 6.3.0
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v6.2.0...v6.3.0 )
Updates `actions/setup-go` from 6.4.0 to 6.5.0
- [Release notes](https://github.com/actions/setup-go/releases )
- [Commits](https://github.com/actions/setup-go/compare/v6.4.0...v6.5.0 )
Updates `actions/cache` from 5.0.5 to 6.1.0
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/v5.0.5...v6.1.0 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: 6.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions
- dependency-name: actions/setup-go
dependency-version: 6.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: actions
- dependency-name: actions/cache
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: actions
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 03:45:02 +00:00
dependabot[bot]
20f7bdb4e0
Bump the all-go-deps group with 2 updates
...
Bumps the all-go-deps group with 2 updates: [github.com/emmansun/base64](https://github.com/emmansun/base64 ) and [github.com/shirou/gopsutil/v4](https://github.com/shirou/gopsutil ).
Updates `github.com/emmansun/base64` from 0.9.0 to 0.10.0
- [Release notes](https://github.com/emmansun/base64/releases )
- [Commits](https://github.com/emmansun/base64/compare/v0.9.0...v0.10.0 )
Updates `github.com/shirou/gopsutil/v4` from 4.26.5 to 4.26.6
- [Release notes](https://github.com/shirou/gopsutil/releases )
- [Commits](https://github.com/shirou/gopsutil/compare/v4.26.5...v4.26.6 )
---
updated-dependencies:
- dependency-name: github.com/emmansun/base64
dependency-version: 0.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: all-go-deps
- dependency-name: github.com/shirou/gopsutil/v4
dependency-version: 4.26.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: all-go-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 03:42:57 +00:00
Kovid Goyal
d348fbc17a
...
2026-07-06 09:09:43 +05:30
Kovid Goyal
d5cac0100e
Fix remote_control_script not working in a kitty instance run from inside another kitty instance
2026-07-06 09:08:43 +05:30
Kovid Goyal
c1660a4e83
track child exit code on window object
2026-07-06 08:23:09 +05:30
Kovid Goyal
6614f402ee
...
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-05 20:03:36 +05:30
Kovid Goyal
5ca4805b43
Fix text overflow in choose files search box caused by move to readline
2026-07-05 18:01:42 +05:30
Kovid Goyal
011ef4d319
Use readline for the choose files search input
2026-07-05 15:16:11 +05:30
Kovid Goyal
31eb21f9f5
...
2026-07-05 15:06:29 +05:30
Kovid Goyal
adcce6f8b9
...
2026-07-05 14:56:50 +05:30
Kovid Goyal
b90e2124e0
Fix #10225
2026-07-05 13:38:48 +05:30
Kovid Goyal
60a128a5c4
Add CLAUDE.md
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-05 12:30:53 +05:30