Commit graph

19179 commits

Author SHA1 Message Date
Kovid Goyal
49b7bf6646
Fix #10434
Some checks are pending
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-09-04 03:58:20 +05:30
Kovid Goyal
0dbbedfb5e
Add a note about text/uri-list lifetime
Some checks failed
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
2026-09-02 10:14:32 +05:30
Kovid Goyal
e2093178e5
Fix empty kitty config dir causing watching for changes to kitty.conf failing 2026-09-02 09:36:03 +05:30
Kovid Goyal
b869fe4e7f
macOS: Fix pasting paths from dropped file promises
Previously they were always invalid (deleted in a few milliseconds).
Now, kitty preserves them for ten minutes or till kitty exit, whichever
is sooner. This is still not ideal, but is likely the best that can be
done with File Promises since we have no idea when the client will
consume them. It is at any rate better than the old behavior and is
superior to the alternative of letting the drag source keep the promised
data alive for some indeterminate time period. Now we can guarantee ten
minutes of validity.

Note I still need to test this on an actual mac as I currently dont have
access to one.

Fixes #10430
2026-09-02 09:35:55 +05:30
Kovid Goyal
ede47d2f93
file transfer protocol: harden against malicious clients planting symlinks
This is actually not a security boundary for this protocol. Since it is
explicitly *not* designed to be proof against malicious clients.
However, to avoid more AI generated security reports against it...
2026-09-01 22:23:24 +05:30
Kovid Goyal
03fbdad855
Color control protocol: Respond to unknown field names safely using base64 encoding 2026-09-01 21:20:04 +05:30
Kovid Goyal
57bb144d96
More efficient is digit check
Also fixes the previous check allowing trailing newlines
2026-09-01 20:59:31 +05:30
Kovid Goyal
35f88faeea
Make UBSan happy 2026-09-01 20:31:30 +05:30
Kovid Goyal
b54bfbb4f8
Drag and drop: Fix a use-after-free 2026-09-01 20:30:45 +05:30
Kovid Goyal
398fa49084
Skip test inapplicable on macOS 2026-09-01 20:28:26 +05:30
Kovid Goyal
3281919056
ssh kitten: Verify owner and permissions of SHM memory used for askpass
Some checks are pending
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-09-01 20:14:03 +05:30
Kovid Goyal
41095672e8
Fix #10427
Some checks failed
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
2026-08-31 10:36:38 +05:30
Kovid Goyal
4c784bc8e3
Merge branch 'dependabot/github_actions/actions-ebe228fd2f' of https://github.com/kovidgoyal/kitty 2026-08-31 09:17:44 +05:30
Kovid Goyal
4d92f6ad37
Merge branch 'dependabot/go_modules/all-go-deps-20a44d9da3' of https://github.com/kovidgoyal/kitty 2026-08-31 09:17:31 +05:30
dependabot[bot]
1889d266f0
Bump github/codeql-action from 4.37.7 to 4.37.8 in the actions group
Bumps the actions group with 1 update: [github/codeql-action](https://github.com/github/codeql-action).


Updates `github/codeql-action` from 4.37.7 to 4.37.8
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v4.37.7...v4.37.8)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.37.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-31 03:45:52 +00:00
dependabot[bot]
b145cfadd1
Bump the all-go-deps group with 2 updates
Bumps the all-go-deps group with 2 updates: [github.com/ALTree/bigfloat](https://github.com/ALTree/bigfloat) and [github.com/nwaples/rardecode/v2](https://github.com/nwaples/rardecode).


Updates `github.com/ALTree/bigfloat` from 0.2.0 to 0.3.0
- [Commits](https://github.com/ALTree/bigfloat/compare/v0.2.0...v0.3.0)

Updates `github.com/nwaples/rardecode/v2` from 2.3.0 to 2.4.1
- [Commits](https://github.com/nwaples/rardecode/compare/v2.3.0...v2.4.1)

---
updated-dependencies:
- dependency-name: github.com/ALTree/bigfloat
  dependency-version: 0.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go-deps
- dependency-name: github.com/nwaples/rardecode/v2
  dependency-version: 2.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-31 03:42:58 +00:00
Kovid Goyal
d5e912d999
Merge branch 'empty-envvar' of https://github.com/MithicSpirit/kitty 2026-08-31 06:14:17 +05:30
MithicSpirit
04930efa44
Treat empty display server envvars as unset
This makes the DISPLAY, WAYLAND_DISPLAY, WAYLAND_SOCKET, and
KITTY_DISABLE_WAYLAND envvars be treated as unset if they are the empty
string.  Therefore, users can simply do "WAYLAND_DISPLAY= kitty" as
opposed to the full incantation "env -u WAYLAND_DISPLAY kitty" (in this
case setting KITTY_DISABLE_WAYLAND would also work, but that wouldn't
propagate to any clients launched through kitty).  This matches the
behavior of many other programs.
2026-08-30 15:54:55 -04:00
Kovid Goyal
1de47c6cf4
...
Some checks are pending
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-08-30 21:12:41 +05:30
Kovid Goyal
8dd6436917
Fix #10423 2026-08-30 21:12:13 +05:30
Kovid Goyal
33a2685550
autoformat
Some checks are pending
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-08-30 08:28:03 +05:30
Kovid Goyal
fa2e694c38
explicitly reject POSIX SHM names that dont start with / to match spec requirement 2026-08-30 08:25:57 +05:30
Kovid Goyal
049574d489
Update changelog 2026-08-30 08:19:14 +05:30
Kovid Goyal
8e58d32dae
Fix rounded window borders leaving corner regions unpainted
When not rendering in layers (opaque windows) kitty never clears the
framebuffer and relies on full pixel coverage. The rounded border pass
left the corner regions between the rounded outline and its bounding
rect unwritten, so they accumulated stale framebuffer content, and in
the layered path (e.g. during live resize) they blitted as black on
opaque windows. Add an outer_color uniform to the rounded rect shader
that fills the area outside the outline, and paint it with the default
background at the same opacity draw_borders() uses for non-border
rects, so corners match the surrounding gaps in all rendering paths.

Also skip the rounded border pass entirely when no rounded rects
exist, instead of binding GL state and iterating all border rects
every frame with the default window_border_radius of 0.
2026-08-30 08:16:42 +05:30
Kovid Goyal
3d600a5ef2 Merge pull request #10421 from NightWatcher314/master
Add configurable rounded window borders
2026-08-30 08:02:52 +05:30
Kovid Goyal
22042970cf
Be more explicit about allowed SHM name format
This was already covered by the POSIX spec, but there are apparently
some clients that still get it wrong, so make the requirement explicit.

IMO terminals should not be allowing clients to skip the leading slash,
it just papers over the bug in the client.

Fixes #10422
2026-08-30 07:27:48 +05:30
NightWatcher
376e72ded8 Add configurable rounded window borders 2026-08-29 22:30:04 +08:00
Kovid Goyal
dc5289beec
Bump version of openssl for CVEs
Some checks are pending
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-08-29 13:37:57 +05:30
Kovid Goyal
902c48a9ef
... 2026-08-29 09:54:32 +05:30
Kovid Goyal
64fa6ff111
Speed up pixel compositing with SIMD vectorization
Some checks are pending
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
Alpha blending of graphics protocol images and animation frames is
2-3.5x faster and glyph alpha masks are composited onto canvases using
the same vectorized primitives
2026-08-29 09:53:38 +05:30
Kovid Goyal
fb99338101
also ask for cursor position on benchmark data completion to ensure terminal has updated its state 2026-08-29 03:02:56 +05:30
Kovid Goyal
302399681c
Make benchmark warmup more sophisticated by allocating a few thousand colors as well 2026-08-29 02:58:15 +05:30
Kovid Goyal
8e3cfd11d9
Merge branch 'master' of https://github.com/btpence/kitty
Some checks are pending
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-08-29 01:46:43 +05:30
btpence
0c4d9db7cd
Merge pull request #1 from btpence/btpence-add-absolute-to-client-list
Add AbsoluteTelnet/SSH to graphics protocol documentation
2026-08-28 11:46:38 -05:00
btpence
a31c70bc2f
Add AbsoluteTelnet/SSH to graphics protocol documentation
Added AbsoluteTelnet/SSH as a terminal implementing the graphics protocol.  Absolute supports the full suite of features of the kitty graphics protocol.  See https://www.celestialsoftware.net/kitty-graphics-protocol for examples.
2026-08-28 11:45:14 -05:00
Kovid Goyal
d52c8f80ab
awrit has been abandoned replace with terminal-browser 2026-08-28 21:42:53 +05:30
Kovid Goyal
3409b678f2
Merge branch 'fix/session-discovery-options' of https://github.com/M-Hassan-Raza/kitty 2026-08-28 18:09:47 +05:30
Hassan Raza
bf7d908e3f
Parse goto_session options when discovering sessions 2026-08-28 16:21:17 +05:00
Kovid Goyal
412b856771
Merge branch 'fix/font-alpha-mask-leak' of https://github.com/M-Hassan-Raza/kitty
Some checks are pending
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-08-28 15:58:08 +05:30
Hassan Raza
1423c33fb8
Fix alpha mask leak when growing the font canvas 2026-08-28 14:33:16 +05:00
Kovid Goyal
b3273b5f8c
Merge branch 'fix/dnd-empty-transfer' of https://github.com/M-Hassan-Raza/kitty 2026-08-28 14:36:56 +05:30
Hassan Raza
bd2d09e467
Fix EOF handling for empty DnD transfers 2026-08-28 14:01:04 +05:00
Kovid Goyal
573488e5a7
Merge branch 'fix/dnd-stdin-mime' of https://github.com/M-Hassan-Raza/kitty 2026-08-28 14:06:07 +05:30
Hassan Raza
9c557f917b
Fix explicit stdin sources in the DnD kitten 2026-08-28 13:19:25 +05:00
Kovid Goyal
9ee01568f9
Merge branch 'fix/hints-empty-selection' of https://github.com/M-Hassan-Raza/kitty 2026-08-28 13:32:13 +05:30
Hassan Raza
e31a5e4e07
Fix empty hints selection handling 2026-08-28 11:49:17 +05:00
Kovid Goyal
caf36a4072
Merge branch 'fix/notify-close-mode' of https://github.com/M-Hassan-Raza/kitty 2026-08-28 12:01:20 +05:30
Hassan Raza
99fb1b8aca
Fix notification close mode 2026-08-28 11:20:05 +05:00
Kovid Goyal
da90724f54
Merge branch 'fix/hints-named-group-programs' of https://github.com/M-Hassan-Raza/kitty
Some checks are pending
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-08-28 07:11:51 +05:30
Hassan Raza
1229f19f6d
Restore hints named-group program arguments 2026-08-27 21:55:56 +05:00