Commit graph

3488 commits

Author SHA1 Message Date
Kovid Goyal
be325ccfcb
Update changelog 2026-02-15 09:58:30 +05:30
LazyStability
4504b5febe
feat(sessions): add active-only to goto_session
Allows to specify whether or not to switch only to an active session
2026-02-14 16:23:27 +01:00
Kovid Goyal
55f14aa63b
... 2026-02-13 11:15:41 +05:30
Kovid Goyal
7c7fc4d140
Fix focus_follows_mouse not working during a drag and drop
Fixes #9497
2026-02-13 10:16:11 +05:30
Kovid Goyal
f4ef955e95
Update changelog 2026-02-10 09:57:28 +05:30
Kovid Goyal
524a67d3aa
... 2026-02-09 06:47:31 +05:30
Antoine Cellerier
ef4574ae97 Support hide_window_decorations titlebar-only on Wayland
Hide the CSD titlebar subsurface while keeping shadow borders for
resizing. On SSD compositors (GNOME), forces CSD mode to draw
kitty's own shadows without a titlebar.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-08 19:49:44 +01:00
Kovid Goyal
386a6f14f0
Add bookorat to integrations 2026-02-08 15:36:15 +05:30
Kovid Goyal
1103aaf1a5
Cleanup previous PR
Testing is_local_file is insufficient since it can be false for local
files that dont have r/w permissions. Instead check if the child is
remote when the EditCmd is created and only use disconnected abort
if child was remote at creation but is not remote currently.
2026-02-08 07:57:15 +05:30
Robert MacLean
35ec8b81ac
Add Warp terminal to keyboard protocol documentation 2026-02-06 08:22:15 +02:00
Kovid Goyal
d02cd59e38
Add far2l to integrations
Fix #9478
2026-02-06 09:31:24 +05:30
Kovid Goyal
625e984b12
Fix line-at-once selection not extending wrapped lines into scrollback
Fixes #9437
2026-01-30 20:29:33 +05:30
Kovid Goyal
59a7a5df63
Note that xterm.js added support for the kitty keyboard protocol 2026-01-27 08:37:55 +05:30
Kovid Goyal
ccefeb05ff
Update changelog 2026-01-26 13:29:44 +05:30
copilot-swe-agent[bot]
027b73db64
Add momentum scrolling for X11 backend
Fixes #9421
2026-01-26 11:51:57 +05:30
Kovid Goyal
9cef9e90f2
Python min version is tracked in pyproject.toml 2026-01-26 11:50:08 +05:30
Kovid Goyal
a5433b8994
kitten choose-files: Add a new binding of Alt+Enter to modify the name of an existing file when choosing a save file name
Fixes #9387
2026-01-26 11:50:08 +05:30
Kovid Goyal
10273d5aa2
kitten @: Fix relative paths for --password-file being resolved relative to CWD instead of the kitty config directory 2026-01-25 20:30:11 +05:30
Kovid Goyal
be0dd00606
icat kitten: When catting multiple images display the images in input order
Fixes #9413
2026-01-24 14:16:54 +05:30
Kovid Goyal
dbcd31f22e
... 2026-01-22 13:13:32 +05:30
Kovid Goyal
391b9c9c80
Merge branch 'update-symbol-map' of https://github.com/rivenirvana/kitty 2026-01-22 09:47:23 +05:30
Arvin Verain
c573050909
docs: Update recommended symbol_map for Nerd Fonts 2026-01-22 08:26:13 +08:00
Arvin Verain
2199927cf1
docs: Small nits and fixes
- Fix unsetting var
- Use actual b64 value for 1
- Other small fixes for clarity
2026-01-22 08:19:41 +08:00
Arvin Verain
f68bb678f4
docs: Remove outdated note
cd72f2d9cf
2026-01-22 00:13:41 +08:00
Kovid Goyal
f6aedde7c2
Fix desktop-ui kitten configuration docs not shown 2026-01-21 10:24:23 +05:30
Kovid Goyal
a88cb2d14d
Fix horizontal alignment of emoji incorrect becase rendered_width was not being set after switching to using cairo to render them
Fixes #9395
2026-01-20 20:01:20 +05:30
Kovid Goyal
a53d5b2fae
Update changelog
Fixes #3732
2026-01-20 17:26:31 +05:30
Kovid Goyal
9ef934cf54
Wayland: Remove usage of the Wayland color management protocol to inform compositors of the color space used by kitty
As is typical with Wayland, the protocol is poorly designed and
implemented even worse. Hyprland 0.53 has completely broken color
management.
https://github.com/hyprwm/Hyprland/discussions/12788
In addition it and mangowc crash when using color management with nouveau drivers.
https://github.com/kovidgoyal/kitty/issues/9030

KDE kwin does not support the sRGB transfer function. And the geniuses
at Wayland are any way planning to deprecate sRGB as a transfer function.

Only GNOME mutter seems to get it right.

Then there are people that are likely going to shoehorn this into EGL
instead of leaving it under application control via the protocol anyway.
https://github.com/KhronosGroup/EGL-Registry/issues/197

Sigh. Wayland.
2026-01-15 09:53:09 +05:30
Kovid Goyal
d35c786358
Bump imaging to fix #9376 2026-01-15 09:13:02 +05:30
Kovid Goyal
c389f4d5b8
Wayland: Fix doubled key repeat events when compositor sends repeat events
Fixes #9374
2026-01-15 08:13:37 +05:30
Kovid Goyal
edd466e5f7
Pygments does not need type checking globally ignored anymore 2026-01-14 22:18:11 +05:30
Kovid Goyal
0cca5d1a10
Only update tab bar visibility after all tabs have been added from a session
Fixes #9382
2026-01-14 21:11:07 +05:30
Kovid Goyal
21da5350d3
Update changelog 2026-01-09 17:22:26 +05:30
Kovid Goyal
2ab0fcb373
Make Wayland momentum scrolling configurable 2026-01-09 13:46:49 +05:30
Kovid Goyal
3637e31ca3
Fix goto_session not respecting the focus_tab session directive when creating a session in an existing OS window
Fixes #9366
2026-01-08 20:43:38 +05:30
Kovid Goyal
d6cb5c367e
Remove warning about multiple cursors protocol being under discussion
It is no longer under discussion
2026-01-08 14:51:05 +05:30
Kovid Goyal
da45f7eeaa
Clenaup previous PR
Make pixel scrolling the default. Fix memory leak where blank line was
not being deallocated in Screen destructor.
2026-01-08 11:01:34 +05:30
Kovid Goyal
0168d19e57
Merge branch 'feat/scroll-per-pixel' of https://github.com/idelice/kitty 2026-01-08 09:12:34 +05:30
Kovid Goyal
df17142ea4
Fix #9355 2026-01-06 08:37:24 +05:30
Kovid Goyal
e1199bcee2
Initial implementation of momentum for finger based scrolling on Wayland
Needs configuration and possibly the parameter adjustment once pixel
scrolling is merged.
2026-01-05 19:52:44 +05:30
Kovid Goyal
e11e1ba929
... 2026-01-03 00:35:12 +05:30
Kovid Goyal
388388381d
ncurses is even worse than I thought it was 2026-01-03 00:32:43 +05:30
Kovid Goyal
ba389d68b9
macOS: Fix changes to macos_titlebar_color while in full screen not being applied after exiting fullscreen
Fixes #9350
2026-01-03 00:19:03 +05:30
Kovid Goyal
5375ca671c
Update changelog 2026-01-01 23:12:38 +05:30
Kovid Goyal
573bfb688a
Move parsing of colors fully into C
Uses a perfect hash function for color name lookup
2025-12-31 14:21:45 +05:30
Kovid Goyal
4773ac81b6
Fix warning from sphinx 2025-12-30 13:23:46 +05:30
Kovid Goyal
62d5fcc074
Merge branch 'wide-gamut-colors' of https://github.com/jokull/kitty 2025-12-30 13:19:44 +05:30
Kovid Goyal
74c67d2253
... 2025-12-29 12:12:27 +05:30
Kovid Goyal
95c1f5aca5
Ensure tabs bar visibility is updated when switching active tab as well
Visibility can change if tab_bar_filter is used and active tab is
changed. See #9328
2025-12-28 10:01:50 +05:30
Jökull Sólberg
64abd87a9e Add wide gamut color support with OKLCH and LAB formats
Implements modern wide gamut color formats with CSS Color Module Level 4
gamut mapping, addressing PR feedback with Go implementation, performance
benchmarks, and reorganized documentation.

Features:
- OKLCH (perceptually uniform color space)
- CIE LAB (device-independent color space)
- CSS Color 4 compliant gamut mapping algorithm
- Inline comment support in color config parsing

Addressing PR Feedback:

1. Go Implementation (tools/utils/style/):
   - Complete OKLCH and LAB parsing with gamut mapping
   - Matches Python implementation structure
   - Comprehensive test suite (all tests passing)
   - Performance benchmarks showing acceptable overhead

2. Performance Benchmarks:
   - OKLCH: ~4.6 µs/op
   - LAB: ~1.5 µs/op
   - 10 mixed colors: ~13 µs total
   - Typical config (50 colors): <0.5ms startup impact

3. Documentation Reorganization:
   - Moved detailed color docs to docs/wide-gamut-colors.rst
   - Configuration docs now link to separate documentation
   - Reduces size of main configuration documentation

Gamut Mapping:
- Binary search chroma reduction from CSS Color Module Level 4
- Preserves lightness and hue while reducing chroma for out-of-gamut colors
- Uses deltaE OK (JND threshold: 0.02) for perceptual difference
- Ensures graceful degradation on sRGB displays

Python Implementation:
- parse_oklch(): OKLCH color parsing with gamut mapping
- parse_lab(): CIE LAB parsing with gamut mapping via OKLCH conversion
- lab_to_oklch(): LAB to OKLCH conversion for consistent gamut mapping
- oklch_to_srgb_gamut_map(): CSS Color 4 gamut mapping algorithm
- srgb_to_oklab(): Reverse conversion for deltaE calculations
- deltaE_ok(): Perceptual color difference in OKLab space

Go Implementation:
- colorspaces.go: All color space conversions and gamut mapping
- wrapper.go: ParseColor() updated to support OKLCH and LAB
- Comprehensive test coverage with benchmarks
- Matches Python implementation behavior

Robustness:
- NaN and infinity validation in all color parsing functions
- Defense-in-depth with validation at parsing and gamut mapping levels
- Returns None/error for invalid input (consistent error handling)
- Validates before clamping operations to prevent NaN propagation

Files changed:
- Python: kitty/rgb.py, kitty_tests/datatypes.py (+250 lines)
- Go: tools/utils/style/colorspaces.go, wrapper.go (+350 lines, tests)
- Docs: docs/wide-gamut-colors.rst (moved from inline)
- Config: kitty/options/definition.py (simplified, links to docs)

References:
- CSS Color Module Level 4: https://www.w3.org/TR/css-color-4/
- OKLCH Color Space: https://bottosson.github.io/posts/oklab/

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-27 14:34:34 +00:00
Delice0
63fcebd285 Clarify pixel_scroll scrollback scope 2025-12-26 19:33:21 +01:00
Delice0
5f45abd311 Document pixel scrolling option 2025-12-26 19:33:21 +01:00
Kovid Goyal
0fd3a18121
... 2025-12-24 12:15:16 +05:30
Kovid Goyal
c26b770530
version 0.45.0 2025-12-24 09:24:17 +05:30
Kovid Goyal
ef4e6f97bc
... 2025-12-24 09:19:52 +05:30
Kovid Goyal
df32684afd
Update choose files docs 2025-12-24 09:17:24 +05:30
Kovid Goyal
44efa30679
... 2025-12-23 15:50:55 +05:30
Kovid Goyal
eb43aacb02
Update changelog 2025-12-23 12:25:48 +05:30
alex-huff
59cf17f2be docs: panel: update river compatibility information 2025-12-21 12:17:56 -06:00
Kovid Goyal
e368ce0d52
Fix docs build breakage 2025-12-20 09:13:02 +05:30
Kovid Goyal
5b0b714baa
Update changelog 2025-12-20 09:10:39 +05:30
Kovid Goyal
b9e75ac301
Add matplotlib as a requirement for docs 2025-12-20 09:07:19 +05:30
Kovid Goyal
4f73374a12
YATB: Yet Another Tahoe Bug from the company that should stick to selling fruit
Fixes #9299
2025-12-18 11:13:38 +05:30
Matt K
0a0a575a57 add nyancat app icon 2025-12-17 17:10:34 -05:00
Kovid Goyal
322904b339
Update changelog 2025-12-14 20:07:52 +05:30
Kovid Goyal
0ecee7dcca
macOS: Workaround for regression in Tahoe 26.2 that breaks --detach
Fixes #9288
2025-12-14 19:42:57 +05:30
shfc
51a08d23cd
fix: typos in documentation 2025-12-14 22:42:24 +10:30
Kovid Goyal
399354cbe5
Fix tab_bar_min_tabs not tab_bar_filter
Fixes #9278
2025-12-12 17:11:43 +05:30
Kovid Goyal
94106aa79e
Add dawn to the list of integrations 2025-12-12 00:41:41 +05:30
Kovid Goyal
0837fd548d
Update changelog 2025-12-11 11:21:43 +05:30
Filip Czaplicki
34776469e0
Optimize quake webp screenshots
I noticed that screenshots load slowly at
https://sw.kovidgoyal.net/kitty/kittens/panel/

I used https://squoosh.app/ with webp default settings
2025-12-07 17:32:33 +01:00
Kovid Goyal
270d3ed656
Note that iTerm2 also added support for the kitty graphics protocol 2025-12-04 22:32:52 +05:30
Kovid Goyal
8e15e14538
When moving windows to a new tab/OS Window fix overlay windows not being grouped with their parent windows
Fixes #9266
2025-12-04 07:49:48 +05:30
Kovid Goyal
16008b950a
Wayland: Fix spurious key repeat events when some user defined callback takes a long time to execute
On compositors that support compositor key repeat events, use those, for
complete robustness. Sadly no actual compositor implements these yet.

Otherwise use a timer fd/pipe to queue the repeat events and only
dispatch them after events from the compositor are handled. This means
release events from the compositor will prevent spurious repeat events.
One can, in the worst case lose some repeat events if there is a very
large interval between the start of the timer and the next poll, but
that is unavoidable and is why repeat events should come from the compositor
in the first place.

Fixes #9224
2025-12-03 22:26:09 +05:30
Kovid Goyal
7d24c82d4d
Update FAQ to defer to OSC 21 spec for setting colors via escape codes 2025-12-03 20:29:00 +05:30
Kovid Goyal
ff72c79628
Edit docs for typos 2025-12-02 06:26:47 +05:30
Kovid Goyal
20b39ee163
Add a default mapping for searching the scrollback
Opens the scrollback pager in search mode. Particularly useful for
newbies on macOS that are used to using cmd+f to trigger search mode.

If there is a current selection, it is automatically searched for.
2025-12-01 08:10:07 +05:30
Kovid Goyal
6db24b66fa
Dont rewrap text in the alternate screen buffer
Avoids flicker during live resize with no resize_debounce_time. See
https://github.com/kovidgoyal/kitty/discussions/9142 for discussion.
2025-11-26 10:29:12 +05:30
Kovid Goyal
9e918547e8
Since d7c2cdc closing an OS Window on macOS was causing minimized window to be restored.
Fixes #8913
2025-11-25 15:38:12 +05:30
Kovid Goyal
3d92a52676
When expanding environment variables in listen_on allow the env directive to take effect 2025-11-25 08:19:51 +05:30
Kovid Goyal
914631b049
Avoid malloc per chunk 2025-11-24 17:39:19 +05:30
Kovid Goyal
c9c1b20cd1
Code golf the python version as well 2025-11-24 15:50:51 +05:30
Kovid Goyal
a2636f1860
Code golf 2025-11-24 15:21:18 +05:30
Kovid Goyal
adf03c067c
Add support for OpenBSD as well to transmit_png 2025-11-24 15:08:55 +05:30
Kovid Goyal
1236f04a97
return rather than exit 2025-11-24 11:29:17 +05:30
Kovid Goyal
79cd4d3ee8
... 2025-11-24 11:28:27 +05:30
Kovid Goyal
701d229139
Dont depend on icat to read screen size in pixels 2025-11-24 10:52:53 +05:30
Kovid Goyal
9fdebd66cb
Minor robustness improvements 2025-11-24 10:22:36 +05:30
Kovid Goyal
905e72baa2
... 2025-11-24 10:20:58 +05:30
Kovid Goyal
a3777694fd
POSIX printf doesnt support \e 2025-11-24 10:18:43 +05:30
Kovid Goyal
0d78490cc8
Make the script to transmit PNG image POSIX sh compliant
Fixes #9243
2025-11-24 10:14:34 +05:30
Kovid Goyal
554859cc6e
... 2025-11-24 09:38:25 +05:30
Kovid Goyal
18e73d0cff
Make the example script to read screen geometry work on POSIX sh 2025-11-24 09:31:52 +05:30
Kovid Goyal
43253ad7c4
Change version added for choose files
Its only becoming fully functional now
2025-11-23 12:16:47 +05:30
Kovid Goyal
37da04aad6
choose files: Add default mappings to choose a file and insert it into the terminal 2025-11-23 11:41:21 +05:30
Kovid Goyal
11dd7eeb8e
Have the --start-as flag be respected when used with --single-instance
Fixes #9228
2025-11-17 17:42:26 +05:30
Kovid Goyal
e49d940621
kitten @ ls: Also output the neighbors for every window 2025-11-16 21:01:55 +05:30
Kovid Goyal
83f0d6bc1a
Have reloading config also reload the custom tab bar python modules 2025-11-13 14:41:46 +05:30
Kovid Goyal
2797b1f926
Update changelog 2025-11-13 08:34:21 +05:30
Arsenii Kvachan
8a1f4bda3b Allow browsing a directory with sessions
- interpret a directory argument by listing only *.kitty-session and similar files
  - reuse the existing sorting logic for the directory chooser and document the workflow
2025-11-12 17:37:13 +01:00
Kovid Goyal
7fe38ae579
macOS: Add a cycle through OS windows backwards action 2025-11-12 10:36:45 +05:30
Kovid Goyal
a9e71e5b5b
These days gnuplt comes with builtin KGP support 2025-11-11 22:29:35 +05:30
Kovid Goyal
6d4e6438f7
Clarify behavior of keyboard protocol for pure text events 2025-11-08 16:46:44 +05:30
Kovid Goyal
426167d78d
... 2025-11-08 11:55:45 +05:30
Kovid Goyal
a814ab4c2e
icat: Allow controlling how images are fit
Fixes #9201
2025-11-08 11:51:11 +05:30
Kovid Goyal
2eddb6ab19
Send an OTP for paste events 2025-11-08 08:48:34 +05:30
Kovid Goyal
8b2d92d58d
Automatic color scheme switching: Fix title bar and scroll bar colors not being updated
Fixes #9167
2025-11-08 01:09:57 +05:30
Kovid Goyal
9ca03420ba
Update changelog 2025-11-08 00:04:44 +05:30
Kovid Goyal
09741e204e
Graphics: Fix overwrite composition mode for animation frames not being honored 2025-11-08 00:03:44 +05:30
Kovid Goyal
71fef270f3
Fix #9196 2025-11-06 22:59:53 +05:30
Kovid Goyal
1e6d67b975
Update to the latest version of imaging
Gives us a bunch of new features and allows us to move a bunch of code
into imaging
2025-11-06 22:31:31 +05:30
Kovid Goyal
56b8db4bfc
Fix #9195 2025-11-06 21:18:41 +05:30
Benjamin Große
de21f1349b
chore(docs): Add mdfried to integrations.rst 2025-11-06 11:52:40 +00:00
Kovid Goyal
aec3c82c48
ssh kitten: Fix a bug where automatic login was not working
Fixes #9187
2025-11-05 19:35:36 +05:30
Kovid Goyal
35d1aa7875
Update changelog
Fixes #9185
2025-11-04 20:08:22 +05:30
Kovid Goyal
8cf05896ce
Add a note on how multiplexers should deal with paste events 2025-11-04 15:22:03 +05:30
Kovid Goyal
88120a8ffd
Add docs for the new 5522 paste events mode 2025-11-04 15:17:23 +05:30
Kovid Goyal
ab6fec104a
Add support for the paste events protocol
Fixes #9183
2025-11-04 15:02:19 +05:30
Kovid Goyal
efbfcf7923
version 0.44.0 2025-11-03 15:02:56 +05:30
Kovid Goyal
db621d8f7a
Update changelog 2025-11-02 22:13:39 +05:30
Kovid Goyal
0c3566cb80
Merge branch 'session-restore-tab-focus' of https://github.com/jackielii/kitty 2025-11-02 22:12:03 +05:30
Kovid Goyal
d32adcabea
Automatic color scheme switching: Fix title bar color not being updated
Fixes #9167
2025-11-02 22:09:41 +05:30
Kovid Goyal
a5e0ba9f68
macOS: Quick access terminal: Fix a crash when changing font size
Cocoa window resize gets triggerred for QAT on font size change causing an out
of sequence render but the font data is not yet ready causing the crash.
Blank window instead of rendering when font data is not ready in an out
of sequence render.

Fixes #9178
2025-11-02 21:56:17 +05:30
ShalokShalom
932fd1a886
Add flow control
Forgot to add with the previous commit :)
2025-11-02 16:29:37 +01:00
ShalokShalom
b8f4760f60
Add TuiOS and bubbletea to docs
This adds TuiOS and bubbletea to the documentation
2025-11-02 16:25:33 +01:00
Kovid Goyal
666054955b
macOS: Add an item to the global menu to Cycle through OS windows 2025-10-31 09:31:24 +05:30
Kovid Goyal
fde16d16e9
... 2025-10-27 22:17:42 +05:30
Jackie Li
dfbf5103c2
add focus_tab to restore tab focus by default 2025-10-27 08:47:35 +00:00
Jackie Li
ae29085e5c
add state:focused_os_window to match window 2025-10-27 08:22:53 +00:00
Kovid Goyal
5e366cb5a3
Merge branch 'feature-save-as-session' of https://github.com/jackielii/kitty 2025-10-27 08:39:31 +05:30
phanium
16104cf077 Fix nvim SetUsrVar autocmd for --remote-ui 2025-10-27 09:41:00 +08:00
Jackie Li
2a129f2b3b
remove --focus-tab and add docs 2025-10-26 17:32:23 +00:00
Jackie Li
75537187a8
support search_syntax in focus_tab 2025-10-26 09:44:29 +00:00
Jackie Li
e0bea0cac4
add doc + changelog 2025-10-26 09:44:29 +00:00
Kovid Goyal
a54f30ab3d
Fix incorrect calculation of tab bar margins
Fixes #9154
2025-10-26 08:51:41 +05:30
Kovid Goyal
878b502fc1
Cleanup previous PR
The locks were not being initialized, and since I was there did some
general cleanup as well, moved the locks array into displayLinks rather
than having another global namespaced variable.
2025-10-22 09:54:21 +05:30
Kovid Goyal
94f3da53aa
Cleanup previous PR 2025-10-21 09:44:41 +05:30
Kovid Goyal
55e8d3e38c
Fix #9127
See upstream bug: https://github.com/sphinx-doc/sphinx/issues/13976
2025-10-20 08:16:48 +05:30
Kovid Goyal
1e1a1851d0
Add support for Unicode 17
This is preliminary, all tests pass, but needs more careful review.
2025-10-18 09:59:53 +05:30
Kovid Goyal
0780eef7b1
Fix #9125 2025-10-17 20:29:20 +05:30
alex-huff
b1d4bdc019 docs: panel: update river compatibility information 2025-10-16 12:28:48 -05:00
Kovid Goyal
f19831e482
Merge branch 'update-wayland-compat-matrix' of https://github.com/alex-huff/kitty 2025-10-16 22:40:50 +05:30
alex-huff
e00cf17732 docs: panel: added xfce to compatibility matrix 2025-10-16 11:57:49 -05:00
Kovid Goyal
2e39244dfa
Update changelog 2025-10-16 21:06:27 +05:30
Kovid Goyal
f06f85a9e0
Cleanup previous PR 2025-10-15 09:12:32 +05:30
Kovid Goyal
7c237dcb02
macOS: Fix progress bar on dock icon doubling speed with every indeterminate progress state without an intervening clear
Fixes #9114
2025-10-14 22:28:31 +05:30
Kovid Goyal
3ba6c3f4b9
macOS: Handle dropping of file promises into kitty in addition to file paths
Fixes #9084
2025-10-11 11:02:51 +05:30
Kovid Goyal
c397fc4301
Fix continuous redraw when disable_ligatures set to cursor and tab bar visible
Fixes #9071
2025-10-11 10:14:36 +05:30
Kovid Goyal
6d66c87077
Cleanup previous PR
Fixes #9091
2025-10-11 09:16:35 +05:30
Kovid Goyal
8fb40af284
Fix #9093 2025-10-10 17:33:55 +05:30
Kovid Goyal
a2604f6958
Fix animated images sometimes not auto playing or auto playing at the wrong start frame if the same image id is used for a subsequent image 2025-10-09 21:42:37 +05:30
Kovid Goyal
67ca9f5b7d
Rename read_from_login_shell -> read_from_shell 2025-10-08 05:21:48 +05:30
Kovid Goyal
a9f80fe05b
Allow easily injecting env vars from the login shell config into the env in which kitty runs child processes
Fixes #9042
2025-10-07 22:23:31 +05:30
Kovid Goyal
8d0fc86bb6
Update some docs 2025-10-07 20:20:19 +05:30
Kovid Goyal
8f91fcefbe
Update changelog 2025-10-07 14:38:58 +05:30
Kovid Goyal
fa808c3b10
Fix tab bar sometimes showing incorrect tabs when it is filtered to show only tabs from the current session
Fixes #9079
2025-10-07 14:35:13 +05:30
Kovid Goyal
77074d627d
... 2025-10-06 21:36:36 +05:30
Kovid Goyal
e9fc486473
Fix #9075 2025-10-06 21:04:30 +05:30
Kovid Goyal
88ec2d9793
Add a more visible note that the payloads for remote control commands are documented in the protocol docs 2025-10-06 10:42:11 +05:30
Kovid Goyal
5af47b4881
... 2025-10-06 10:37:51 +05:30
Kovid Goyal
8d855a7eb4
Remove the docs on using kitty config infrastructure in custom kittens
That config infrastructure isnt really maintained anymore since
builtin kittens have now been almost all ported to Go. So in future
people should just use any of python's stdlib config modules such as
tomllib to store and retrieve their kitten configs.
2025-10-06 10:19:27 +05:30
Kovid Goyal
e46a75ca57
Fix rendering broken on ancient GPU drivers that dont support rendering to 16 bit textures
Fixes #9068
2025-10-06 08:54:53 +05:30
Kovid Goyal
4545aab5f6
Link directly to diff/main.py in the docs to avoid confusion with Go code 2025-10-05 21:34:07 +05:30
Kovid Goyal
2665a871c0
Fix a regression in the previous release that broke goto_session -1 2025-10-02 18:52:31 +05:30
Kovid Goyal
ccdc50007e
Fix a regression in 0.43.0 that caused a black flicker when closing a tab in the presence of a background image
Fixes #9060
2025-10-02 14:48:37 +05:30
Kovid Goyal
9740861ec5
Splits layout: Fix corrupted layout in some circs
Basically one function was adding a window id instead of a group id
to the pairs. Fixes #9059
2025-10-02 10:43:36 +05:30
Kovid Goyal
7f24dd68c9
version 0.43.1 2025-10-01 08:21:20 +05:30
Kovid Goyal
460d10902f
Cleanup previous PR
The overrides were not being passed to the askpass kitten.
And we dont need to support backward compatibility for secrets with no
backend, since this feature has never been released.
2025-09-30 20:38:44 +05:30
Kovid Goyal
a11bc34a44
Update changelog 2025-09-30 16:59:28 +05:30
Kovid Goyal
4122f029df
... 2025-09-30 08:46:11 +05:30
Kovid Goyal
b92246448d
Fix a regression in the previous release that caused the cursor trail to not be hidden properly
In refactoring the trail shader, I guess I forgot to premultiply the
output color.

Fixes #9039
2025-09-29 20:35:12 +05:30
Kovid Goyal
13e3ecad5c
Session files: Fix a regression in the previous release that broke matching on windows in the current tab
Fixes #9037
2025-09-29 19:44:01 +05:30
Kovid Goyal
d2cc22e7c6
macOS: React to changes in effective appearance of the NSApplication not the content view for each window
This is nicer now every OS Windows doesnt cause a notification. Also
fixes #9034 which was caused by us setting an explicit appearance on the
window when the titlebar is set to a specific color thereby preventing
the views in the window from getting appearance change notifications.
2025-09-29 17:17:46 +05:30
Kovid Goyal
7a71db8830
... 2025-09-29 13:08:49 +05:30
Kovid Goyal
2ceddba923
goto_session: Add --sort-by=alphabetical
Have the interactive session picker list the sessions in a fixed order
rather than by most recent.
2025-09-29 13:03:23 +05:30
Kovid Goyal
fb4a3d7f17
Revert reversion of Tahoe fix in 7589bf4b11
It is still needed. Instead change the frame to havezero size and leaves
its origin unchanged.
2025-09-29 08:58:41 +05:30
Kovid Goyal
16faa1d541
Fix a regression in the previous release that caused the incorrect tab to be active when loading a session
Fixes #9025
2025-09-28 21:46:08 +05:30
Kovid Goyal
cdb6986ce0
... 2025-09-28 21:27:16 +05:30
Kovid Goyal
e542cd8378
macOS: Fix a big where the color of a transparent titlebar was off when running in the release build versus the build from source. Also fix using a transparent titlebar causing the background opacity to be darkened.
There were two issues.

1) Setting window background color to a non-zero opacity causes
   darkening (essentially there were two layers of blending)

2) The titlebar background view could end up in the wrong position
   because it was a child of the content view rather than its super view

Fix both issues setting the window background to clear color and
moving the background view into the super view while making sure it is
positioned correctly using explicit constraints. Phew.
2025-09-28 21:24:00 +05:30
Kovid Goyal
99a5f6bd5f
version 0.43.0 2025-09-28 09:54:43 +05:30
Kovid Goyal
52015bbf13
Update changelog 2025-09-27 10:24:28 +05:30
Kovid Goyal
510c3f2001
... 2025-09-26 15:27:12 +05:30
Kovid Goyal
21214ee7e6
Change the id for the anchor to try to convince uBlock to not filter the element.
Faintly ridiculous, but oh well...
See #3005
2025-09-26 14:52:40 +05:30
Kovid Goyal
4d95af20c2
Make a note about possibly needing to adjust background_opacity 2025-09-24 07:54:04 +05:30
Kovid Goyal
da6f26d229
Improve rendering of rounded rectangles
Uses the standard distance to curve via sampling method of antialiasing
instead of super sampled antialiasing. Need to investigate behavior very
thin lines <= 3 pixels.

Also need to check if we should migrate the other call sites of
draw_parametrized_curve_with_derivate()

Fixes #9000
2025-09-22 22:57:28 +05:30
Kovid Goyal
982b5156e1
macOS: When toggling in the quick access terminal move it to the currently active screen
Fixes #9003
2025-09-22 20:04:42 +05:30
Kovid Goyal
b401e12fd9
Note how to use nvim as scrollback pager in the docs for that option 2025-09-22 08:52:28 +05:30
alex-huff
96ba652803 docs: panel: update niri compatibility information 2025-09-20 21:21:28 -05:00
Kovid Goyal
e7514c68ae
Fix updating panel configuration on visibility toggle and via remote control not working
Fixes #8984
2025-09-20 05:15:50 +05:30
Kovid Goyal
7af7aa95c6
Another workaround for another macOS Tahoe bug
Dont redraw an OSWindow during a resize event if the resize event is
accompanied by a screen change as it causes a crash in macOS OpenGL
driver. Fixes #8983
2025-09-19 12:05:34 +05:30
Kovid Goyal
55254d9079
... 2025-09-16 22:43:51 +05:30
Kovid Goyal
d19f305b12
Merge branch 'ucs' of https://github.com/Wukuyon/kitty 2025-09-15 08:14:55 +05:30
Wukuyon
91bca3357b Text sizing protocol docs: Make code point notation more consistent 2025-09-14 15:22:05 -06:00
Kovid Goyal
3483c615f8
Update changelog 2025-09-14 13:13:17 +05:30
Kovid Goyal
1e13050fda
Nicer debug output for scrollbar option 2025-09-14 12:26:25 +05:30
Wukuyon
2514178abe Adjust text sizing protocol docs: UTF-8 decoding and precise terminology
This commit makes the following changes to the text sizing protocol's docs, to describe Kitty's current Unicode behavior more precisely in the text sizing protocol docs (#8533).

These changes describe **behavior that Kitty *already* has**. It does not require any changes to any actual Kitty source code. (I don't know if Foot currently matches this behavior.)

1. The algorithm for splitting text into cells now uses the phrases
"code point" or "Unicode scalar value" instead of "Unicode character",
which is an ambiguous phrase.

2. The algorithm now requires that the terminal uses UTF-8 to decode the bytes it receives into Unicode scalar values.

3. The algorithm now requires that the terminal replace each maximal subpart of any ill-formed subsequence with U+FFFD REPLACEMENT CHARACTER (�).
2025-09-13 22:49:01 -06:00
Kovid Goyal
a6e64845ef
Merge branch 'master' of https://github.com/lxe/kitty into scrollbar 2025-09-14 09:48:08 +05:30
Kovid Goyal
c28819710b
Merge branch 'blackcat' of https://github.com/j-c-m/kitty 2025-09-13 07:22:07 +05:30
Kovid Goyal
69ba320db9
Fix some typos in the example table for legacy key encoding
Fixes #8967
2025-09-13 06:55:52 +05:30
Jesse Miller
9e9af32a07 Add 'blackcat' a modern compatible cat with image support 2025-09-12 19:23:34 -06:00
Aleksey Smolenchuk
65a4d89282 Interactive scrollbar implementation 2025-09-08 11:33:15 -07:00
Kovid Goyal
d837a64e36
Workaround for latest Apple regression in Tahoe
Now NSWindow::close no longer actually closes the window. Sigh. Have to
also set its frame to zero size, otherwise an invisible rect remains
that intercepts mouse events and takes up space in Mission Control.

Life is too short for this shit. Fixes #8952
2025-09-05 17:27:46 +05:30
Kovid Goyal
142307d4cd
Add some footnotes explaining what features native cursors have 2025-09-04 22:02:04 +05:30
Kovid Goyal
574386f45b
Fix rendering of underlines when using larger text sizes with the space and en-space characters
Fixes #8950
2025-09-04 20:44:35 +05:30
Kovid Goyal
315562d73d
Cleanup previous PR 2025-09-03 21:46:47 +05:30
Kovid Goyal
e1d8565fb6
Add os_window_title to sessions 2025-09-01 19:30:50 +05:30
Kovid Goyal
1544830307
Allow using a custom python function in tab_title_template
Makes it easier to do complex processing
2025-08-30 09:02:39 +05:30
Kovid Goyal
b4d9af9932
Document extra cursor color control 2025-08-26 22:02:02 +05:30
Kovid Goyal
44b5d8f656
Dont use negative numbers in multi cursor protocol
There are apparently many parsers out there that cant handle them.
2025-08-26 21:43:37 +05:30
Kovid Goyal
518e06cfa4
Also report -2 in query response 2025-08-25 15:30:36 +05:30
Kovid Goyal
14741b1b29
Implement rendering of blinking text
Fixes #8551
2025-08-25 13:55:23 +05:30
Kovid Goyal
5a3e9a5567
Add a warning about the multi cursor spec being under discussion 2025-08-25 11:36:12 +05:30
Kovid Goyal
7c14524d35
fix spelling 2025-08-25 11:04:36 +05:30
Kovid Goyal
547d09a747
... 2025-08-24 21:34:11 +05:30
Kovid Goyal
0772a01779
More docs for extra cursors 2025-08-24 21:11:25 +05:30
Kovid Goyal
1c9a2dae86
Start work on documenting the multi cursor protocol 2025-08-24 20:14:15 +05:30
Kovid Goyal
cbca4d6593
Implement tab_bar_filter
Useful to manage multiple sessions in a single kitty OS Window.
Add some docs to sessions.rst describing this use case.
2025-08-24 12:25:15 +05:30
Kovid Goyal
21579e6fcb
... 2025-08-23 13:30:36 +05:30
Kovid Goyal
e176b723f5
When creating a new window/tab with the same cwd as the current window automatically put the newwindow into the same session as the current window 2025-08-23 13:24:48 +05:30
Kovid Goyal
d3c46a829d
Add action to close a session 2025-08-23 09:17:27 +05:30
Kovid Goyal
dcf4fc72f6
Add an example of saving remote sessions to the docs 2025-08-22 21:31:55 +05:30
Kovid Goyal
5e6c397356
Document using negative numbers with goto_session 2025-08-22 07:24:58 +05:30
Kovid Goyal
229413cbe8
... 2025-08-21 15:50:17 +05:30
Kovid Goyal
746a80487a
... 2025-08-19 22:12:27 +05:30
Kovid Goyal
d7070d3b97
Document how to update the currently active session 2025-08-19 22:08:19 +05:30
Kovid Goyal
6d21ebd383
... 2025-08-19 16:21:57 +05:30
Kovid Goyal
03792a1717
A new --add-to-session flag for launch
useful to optionally have new windows/tab join the active session when launched.
2025-08-19 16:06:49 +05:30
Kovid Goyal
de129dfc65
Fix version added for clipboard pw feature 2025-08-19 15:08:26 +05:30
Kovid Goyal
41488fe8ba
Allow showing the currently active session name in the tab bar 2025-08-19 06:49:14 +05:30
Kovid Goyal
d7c2cdccb1
macOS: Fix closing an OS Window when another OS Window is minimized causing the minimized window to be un-minimized
This is a bug we inherited from GLFW.
Fixes #8913
2025-08-18 21:26:54 +05:30
Kovid Goyal
3638adda6c
macOS: Elaborate dance to work around yet another Cocoa bug
Fixes #8740
2025-08-18 16:01:51 +05:30
Kovid Goyal
b8b7592b40
... 2025-08-18 15:07:12 +05:30
Kovid Goyal
6beded7b49
Cleanup previous PR 2025-08-18 14:45:18 +05:30
Kovid Goyal
0cab165daa
Remove duplicate sessions label 2025-08-17 20:13:33 +05:30
Kovid Goyal
a2d76a6c34
Document the save_as_session action 2025-08-17 14:44:26 +05:30
Kovid Goyal
34ae42cf30
Update changelog 2025-08-17 14:32:38 +05:30
Kovid Goyal
c982978e82
Add some docs for the new session features 2025-08-17 14:27:19 +05:30
Kovid Goyal
337cbf1435
Add an env var that can be used to eval an expression at startup of shell
This will come in handy to implement serialization as session
with running of current foreground command.
2025-08-16 11:58:30 +05:30
Kovid Goyal
1aeb22c158
Bump version of Wayland bundled with kitty
From 1.23.1 to 1.24.0

The just released mesa 25.2.0 doesn't work with libwayland < 1.24.0.
Sigh. Wayland is basically the world's biggest waste of time.

Fixes #8884
2025-08-16 08:42:50 +05:30
Kovid Goyal
6c93d640e9
Fix #8897 2025-08-13 11:25:38 +05:30
Kovid Goyal
9d0df0db4e
Add link to fzf based tab switcher kitten with previews 2025-08-13 05:20:22 +05:30
Kovid Goyal
d52f2e7981
Rewrite rendering pipeline
This was needed to fix various corner cases when doing blending of colors
in linear space. The new architecture has the same performance as the
old in the common case of opaque rendering with no UI layers or images.

In the case of only positive z-index images there is a performance
decrease as the OS Window is now rendered to a offscreen texture and
then blitted to screen. However, in the future when we move to Vulkan or
I can figure out how to get Wayland to accept buffers with colors in
linear space, this performance penalty can be removed. The performance
penalty was not significant on my system but this is highly GPU
dependent. Modern GPUs are supposedly optimised for rendering to
offscreen buffers, so we will see. The awrit project might be a good
test case.

Now either we have 1-shot rendering for the case of opaque with only ext
or all the various pieces are rendered in successive draw calls into an
offscreen buffer that is blitted to the output buffer after all drawing
is done.

Fixes #8869
2025-08-11 00:47:02 +05:30
Kovid Goyal
c86ec79e32
macOS: Add default mapping and global menubar action to erase last command
This is "Cmd+L" from Terminal.app
2025-08-07 09:15:12 +05:30
Kovid Goyal
02301e80ef
... 2025-08-06 09:47:07 +05:30
Kovid Goyal
b95b4164fc
Add a couple of password manager kitty integrations 2025-08-04 19:05:44 +05:30
Kovid Goyal
e468885b03
spelling 2025-07-29 10:04:21 +05:30
Kovid Goyal
53aea0642f
... 2025-07-26 09:28:34 +05:30
Kovid Goyal
f61b15b284
Fix incorrect handling of VS16 when it causes char to wrap to next line and is part of a draw command with more characters following it
Needed to initialize full text loop state rather than just segmentation
state on wrap. Fixes #8848
2025-07-26 09:25:01 +05:30
Kovid Goyal
0f67ff37df
Allow accepting the currently displayed parent directory by pressing ctrl+enter 2025-07-24 08:20:43 +05:30
Kovid Goyal
988070612b
... 2025-07-23 10:46:45 +05:30