Jesse Miller
073957f014
Cache HarfBuzz text shaping results
...
Wire the shaper-cache to actually be used for shaped runs.
On a 10s loop of the same short-word screen (~16ms/frame), main-thread
CPU dropped ~28% vs master and hb_shape samples went to 0.
Parse speed remains unchanged (and fast), verified with kitten __benchmark__.
2026-09-08 13:56:39 -06:00
Jesse Miller
c655a592f9
Add shaped run cache
...
Per-font verstable map of exact run keys to glyph infos, positions and
cell groups. Skip runs longer than 32 cells. Full-drop at 2048 entries
or 1 MiB of live storage.
The intention here is to avoid shaping the same runs over and over again
on an active screen. This used to not have much of an impact, but now
"modern" full screen TUIs are actively drawing the screens in such a way
that harfbuzz shaping is showing up as a more significant portion in
profiling runs.
The cache is sized to not be a long-lived history but able to cache most
repeated runs on a few active screens.
2026-09-08 13:56:39 -06:00
Kovid Goyal
0b12ed8c41
...
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-08 18:55:51 +05:30
Kovid Goyal
df999b05e5
Fix drag gesture state leaking past the button event early returns
...
Follow-ups to the drag_or_normal_select selected text drag support:
- Reset the pending drag at the top of handle_button_event again, before
the scrollbar, missing screen and mouse position early returns. Moving
it into a helper placed it after those returns, so a scrollbar track
click (with scrollbar_jump_on_click disabled) no longer cleared an
armed URL drag, letting it fire on a later mouse move with no button
held. Split the helper in two, as arming the drag needs an up to date
mouse position but clearing it does not.
- Clear the click queue for all drag kinds, not just text drags. A native
drag consumes mouse-up, so the press lingered and turned the next press
into a double press, selecting a word instead of starting a new
gesture. Reproducible with link drags before this change.
- Note that handle_potential_drag can call into Python, which can
re-alloc the windows array, so w must not be used after it returns.
Also share the drag thumbnail construction between drag_url and
drag_selection (and skip the thumbnail rather than dividing by zero on a
zero width render), use None instead of -1 for the mock event pixel
position so negative positions remain testable, and tighten the
off-by-one bound in clear_click_queue.
2026-09-08 18:51:02 +05:30
Kovid Goyal
d90869a8c6
Merge branch 'feature/drag-selected-text' of https://github.com/xiaobai050/kitty
2026-09-08 18:44:56 +05:30
Kovid Goyal
0d0de4d5d8
Merge branch 'update-wayland-dependencies' of https://github.com/nitin88/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-09-08 10:46:38 +05:30
nitin88
5e00f55ac8
Bump Wayland and wayland-protocols versions
...
Use Wayland 1.26.0 and wayland-protocols 1.49 with verified release
checksums. The updated protocol definition fixes the zero blur capability
that prevents background-effect support from being detected.
2026-09-08 10:10:12 +05:30
Kovid Goyal
024d34ec8a
Make ty 79 happy
2026-09-08 09:35:54 +05:30
Kovid Goyal
1433653e7c
Remove changelog entry as this is not a significant enough change to merit one
2026-09-08 09:02:33 +05:30
Kovid Goyal
5abdd00373
Merge branch 'increase-max-font-zoom' of https://github.com/rudolf-blue/kitty
2026-09-08 09:02:26 +05:30
rudolf-blue
18bddffcca
Raise the maximum font size and fix the legacy zoom limit
...
The ceiling in change_font_size is ten times the configured font_size, so
the largest size you can reach depends on the size you configured. With
font_size 6 zooming stops at 60pt, while font_size 20 reaches 200pt. That
is backwards: a small configured font is if anything a reason to want a
larger temporary zoom, not a smaller one.
Use the larger of that multiple and an absolute 256pt. No existing setup
loses range, since the multiple still wins whenever it is the bigger of
the two. The bounds and the clamp move into options/utils.py so the
numbers are in one place and can be tested directly.
increase_font_size also had its own cap of five times font_size. That was
the old limit, missed when 25d8d9fe6 raised change_font_size to ten, and
because the wrapper clamps before delegating, the stale bound is the one
that wins. Both legacy wrappers can simply drop their bounds: they go
through change_font_size, which already clamps.
2026-09-07 19:41:08 -04:00
Kovid Goyal
df00dd1cec
Fix #10448
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-07 20:51:54 +05:30
Kovid Goyal
4498c00282
Merge branch 'dependabot/github_actions/actions-39eae9928b' of https://github.com/kovidgoyal/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-09-07 09:20:54 +05:30
Kovid Goyal
3a93141fec
Merge branch 'dependabot/go_modules/all-go-deps-bfb0acd25d' of https://github.com/kovidgoyal/kitty
2026-09-07 09:20:39 +05:30
dependabot[bot]
1aac2ec474
Bump github/codeql-action from 4.37.8 to 4.37.9 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.8 to 4.37.9
- [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.8...v4.37.9 )
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-version: 4.37.9
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: actions
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-09-07 03:45:33 +00:00
dependabot[bot]
9cbf912acc
Bump github.com/shirou/gopsutil/v4 in the all-go-deps group
...
Bumps the all-go-deps group with 1 update: [github.com/shirou/gopsutil/v4](https://github.com/shirou/gopsutil ).
Updates `github.com/shirou/gopsutil/v4` from 4.26.7 to 4.26.8
- [Release notes](https://github.com/shirou/gopsutil/releases )
- [Commits](https://github.com/shirou/gopsutil/compare/v4.26.7...v4.26.8 )
---
updated-dependencies:
- dependency-name: github.com/shirou/gopsutil/v4
dependency-version: 4.26.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: all-go-deps
...
Signed-off-by: dependabot[bot] <support@github.com>
2026-09-07 03:42:41 +00:00
白鸽
2cd6733c75
Allow dragging selected text with drag_or_normal_select
2026-09-06 21:16:02 +08:00
Kovid Goyal
d124d4f097
Proper fix for custom shader scaling on OS window grow + shrink
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-06 14:58:18 +05:30
Kovid Goyal
e55739bd10
was_maximized should use pre full screen state as well
2026-09-06 14:50:21 +05:30
Kovid Goyal
df2986feb3
Run autoformat after gen/config
2026-09-06 07:09:40 +05:30
Kovid Goyal
f90c26f1d0
Fix regression in master that broke text_fg_override_threshold
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-06 06:51:31 +05:30
Kovid Goyal
cb1b153526
...
2026-09-06 06:47:26 +05:30
Kovid Goyal
f3fdc21850
Fix #10436
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-04 21:04:24 +05:30
Kovid Goyal
b14ae3bf21
...
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 06:35:44 +05:30
Kovid Goyal
0dfa8dc4fd
Fix deprecation warning when building docs
2026-09-04 06:22:51 +05:30
Kovid Goyal
49b7bf6646
Fix #10434
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
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
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
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
...
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
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