Commit Graph

16980 Commits

Author SHA1 Message Date
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
cd25248e08 Merge branch 'dependabot/go_modules/all-go-deps-5e103dddb9' of https://github.com/kovidgoyal/kitty 2026-01-05 08:38:26 +05:30
dependabot[bot]
0c6ccd1d2a 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.25.11 to 4.25.12
- [Release notes](https://github.com/shirou/gopsutil/releases)
- [Commits](https://github.com/shirou/gopsutil/compare/v4.25.11...v4.25.12)

---
updated-dependencies:
- dependency-name: github.com/shirou/gopsutil/v4
  dependency-version: 4.25.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-05 03:04:59 +00:00
Kovid Goyal
a88b15e066 While here, might as well add blink capability to terminfo as well
This was implemented in version 0.43.0
2026-01-03 00:41:54 +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
24b634ae1a Nicer 403 error andling when downloading grype 2026-01-02 11:35:28 +05:30
Kovid Goyal
d1b9b5ac4f themes kitten: Also underline trigger keys on confirmation page. Apparently some people use color themes where SGR 31 does not contrast with the default foreground color. 2026-01-02 11:24:11 +05:30
Kovid Goyal
5375ca671c Update changelog 2026-01-01 23:12:38 +05:30
Kovid Goyal
6d8318818b Merge branch 'edit-in-kitty' of https://github.com/phanen/kitty 2026-01-01 23:11:55 +05:30
phanium
0f80229468 Fix edit-in-kitty +lnum path 2026-01-01 18:28:07 +08:00
Kovid Goyal
0f1362524b Store more information about axis events from Wayland 2026-01-01 13:25:30 +05:30
Kovid Goyal
cef2bac116 Fix building on old Apple systems 2026-01-01 07:41:03 +05:30
Kovid Goyal
ba3af8f2c3 Refactor GLFW scroll event callback to use a proper event struct 2025-12-31 23:40:34 +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
e14e34948e More cleanups for color parsing
Using rounding when converting float to uint8 for more accuracy.
Fix rgb:3 and rgbi: parsing in Go code. Various other minor cleanups.
2025-12-31 09:35:09 +05:30
Kovid Goyal
051b0ff30d Free C locale on exit 2025-12-30 22:11:05 +05:30
Kovid Goyal
7bb8433c8b Fix building on macOS 2025-12-30 22:01:15 +05:30
Kovid Goyal
cbadeb5e9a Micro-optimization 2025-12-30 21:55:23 +05:30
Kovid Goyal
d519b0767b Fix building with old C compiler 2025-12-30 21:50:27 +05:30
Kovid Goyal
7c13c04c84 Move color parsing code to C for performance 2025-12-30 21:43:57 +05:30
Kovid Goyal
a4d88beddb Micro-optimisation 2025-12-30 13:40:49 +05:30
Kovid Goyal
2aed1c9c06 Remove unused code 2025-12-30 13:34:24 +05:30
Kovid Goyal
877d143c1a Make mypy happy 2025-12-30 13:32:04 +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
abd1ad551b Merge branch 'dependabot/go_modules/all-go-deps-37ed0ecc19' of https://github.com/kovidgoyal/kitty 2025-12-29 08:49:02 +05:30
dependabot[bot]
b47e099726 Bump github.com/alecthomas/chroma/v2 in the all-go-deps group
Bumps the all-go-deps group with 1 update: [github.com/alecthomas/chroma/v2](https://github.com/alecthomas/chroma).


Updates `github.com/alecthomas/chroma/v2` from 2.20.0 to 2.21.1
- [Release notes](https://github.com/alecthomas/chroma/releases)
- [Commits](https://github.com/alecthomas/chroma/compare/v2.20.0...v2.21.1)

---
updated-dependencies:
- dependency-name: github.com/alecthomas/chroma/v2
  dependency-version: 2.21.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-29 03:05:36 +00:00
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
Kovid Goyal
64207dc05c Ensure tab bar visibility is updated when removing a tab 2025-12-28 09:36:49 +05:30
Kovid Goyal
25d8d9fe69 Bump max font size to 10*configured from 5*configured 2025-12-28 08:46:55 +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
Kovid Goyal
cc55c04034 Support XTGETTCAP query with key query-os[-_]name
Fixes #9217
2025-12-25 18:22:42 +05:30
Kovid Goyal
0fb54d32b1 Fix #9323 2025-12-24 16:35:10 +05:30
Kovid Goyal
0fd3a18121 ... 2025-12-24 12:15:16 +05:30
Kovid Goyal
c26b770530 version 0.45.0 v0.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
Kovid Goyal
c00e41ecee Merge branch 'dependabot/github_actions/actions-97f38a5d32' of https://github.com/kovidgoyal/kitty 2025-12-22 09:06:06 +05:30
dependabot[bot]
232edb3ad3 Bump actions/cache from 4 to 5 in the actions group
Bumps the actions group with 1 update: [actions/cache](https://github.com/actions/cache).


Updates `actions/cache` from 4 to 5
- [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/v4...v5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 03:22:12 +00:00
Kovid Goyal
915a878a0a Merge branch 'update-wayland-compat-matrix' of https://github.com/alex-huff/kitty 2025-12-22 08:43:50 +05:30
Kovid Goyal
291c08758f Merge branch 'dependabot/go_modules/all-go-deps-4b4744f558' of https://github.com/kovidgoyal/kitty 2025-12-22 08:43:20 +05:30
dependabot[bot]
9bd447d4e7 Bump the all-go-deps group with 2 updates
Bumps the all-go-deps group with 2 updates: [golang.org/x/image](https://github.com/golang/image) and [golang.org/x/text](https://github.com/golang/text).


Updates `golang.org/x/image` from 0.33.0 to 0.34.0
- [Commits](https://github.com/golang/image/compare/v0.33.0...v0.34.0)

Updates `golang.org/x/text` from 0.31.0 to 0.32.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.31.0...v0.32.0)

---
updated-dependencies:
- dependency-name: golang.org/x/image
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go-deps
- dependency-name: golang.org/x/text
  dependency-version: 0.32.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 03:03:37 +00:00
alex-huff
59cf17f2be docs: panel: update river compatibility information 2025-12-21 12:17:56 -06:00
Kovid Goyal
0ad032c0d2 Merge branch 'fix-9017' of https://github.com/flaviut/kitty 2025-12-21 08:18:33 +05:30
Flaviu Tamas
811cd5870b fix #9017 2025-12-20 18:31:30 -05:00