Commit Graph

16207 Commits

Author SHA1 Message Date
Kovid Goyal
f5d305c0df Dont serialize the launch cmd if it is the shell 2025-08-14 19:51:40 +05:30
Kovid Goyal
035ce949b4 Start work on goto_session action 2025-08-14 19:43:14 +05:30
Kovid Goyal
1544cab96f Fix #8901 2025-08-14 19:33:43 +05:30
Kovid Goyal
08f9c0c100 ... 2025-08-14 18:58:53 +05:30
Kovid Goyal
1c01805b1c Fix shader conditional compilation with override fg enabled 2025-08-14 12:04:32 +05:30
Kovid Goyal
25456806aa Fix positioning of window numbers
Was broken in rendering pipeline refactor
2025-08-14 08:46:02 +05:30
Kovid Goyal
2a26a4ddca Fix hovered hyperlink not being cleared when mouse moves from one kitty window to another 2025-08-14 08:40:53 +05:30
Kovid Goyal
4fd84ac5ea Improve rendering of hyperlink hover popups
Now they are rendered in default bg/fg with a rounded rectangle
border.
2025-08-14 08:30:28 +05:30
Kovid Goyal
6c93d640e9 Fix #8897 2025-08-13 11:25:38 +05:30
Kovid Goyal
d7ab6ad314 Allow shader names with underscores 2025-08-13 07:10:16 +05:30
Kovid Goyal
c01df574a2 ... 2025-08-13 06:49:35 +05:30
Kovid Goyal
b94d6dc713 Dont include gl.h in generated uniforms defn 2025-08-13 06:41:35 +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
7ae0e8da62 ... 2025-08-12 20:50:09 +05:30
Kovid Goyal
be63598355 desktop-ui: Add config to control file chooser popup size
Fixes #8894
2025-08-12 20:47:26 +05:30
Kovid Goyal
7a27144b7a Insert some blank lines in the generated session file 2025-08-12 20:08:25 +05:30
Kovid Goyal
ee5a2413c6 ... 2025-08-12 18:50:15 +05:30
Kovid Goyal
214dc73c52 When serializing windows in a tab keep the window order
This is needed because layouts other than split use the window
order to position windows.

Maybe should serialize active history in layout state, but I dont think
it's that important.
2025-08-12 18:45:23 +05:30
Kovid Goyal
3aff57933a Cleanup previous PR 2025-08-12 18:41:24 +05:30
Kovid Goyal
c8e412650a Merge branch 'master' of https://github.com/zzhaolei/kitty 2025-08-12 18:18:02 +05:30
zhaolei
92ff8f9160 kitty @ ls output session 2025-08-12 20:37:44 +08:00
Kovid Goyal
9a2de7bf66 cleanup 2025-08-12 16:14:23 +05:30
Kovid Goyal
09ff0b1c52 ... 2025-08-12 16:09:07 +05:30
Kovid Goyal
9dc3e56e5e DRYer 2025-08-12 16:08:33 +05:30
Kovid Goyal
067afe35e4 Dont create an extra OS Window when serializing 2025-08-12 16:04:19 +05:30
Kovid Goyal
da7ac31258 Sort active tabs instead of directly using active_tab_history
Ensures current active tab is preserved and remaining tabs are created
in active history order
2025-08-12 16:00:24 +05:30
Kovid Goyal
db584694ad Fix serialization not working when active_tab_history is empty 2025-08-12 15:38:34 +05:30
Kovid Goyal
a8eacd500c Finish serialization to session file 2025-08-12 13:44:15 +05:30
Kovid Goyal
53dbdeeca5 Function to serialize tab state as session 2025-08-12 11:37:58 +05:30
Kovid Goyal
e3888b6262 ... 2025-08-11 22:01:24 +05:30
Kovid Goyal
01c3adf6e2 Make CodeQL happy 2025-08-11 21:59:29 +05:30
Kovid Goyal
7f28edfaf2 Also serialize override_title 2025-08-11 21:58:23 +05:30
Kovid Goyal
fa4780e240 Also serialize hold properties 2025-08-11 21:57:13 +05:30
Kovid Goyal
1cafca1cc4 Also serialize remote control state 2025-08-11 21:55:18 +05:30
Kovid Goyal
bb596216ec Forgot to serialize watchers 2025-08-11 21:24:09 +05:30
Kovid Goyal
46e9223c05 Add function to get window as launch command for serialization 2025-08-11 21:20:55 +05:30
Kovid Goyal
a3465d9998 The OS Window regions should have right/bottom edges not inclusive
Currently it was a bit ambiguous some places assuming inclusive some
not. Also there seemed to be one left over pixel at the bottom/right
edges of the calculated regions compared to viewport size.This fixes
that. Hopefully doesnt break anything else, we will see.
2025-08-11 17:37:52 +05:30
Kovid Goyal
e9e4d46c4c Fix central region 1px offset from bottom of top tab bar 2025-08-11 15:08:51 +05:30
Kovid Goyal
f7a41c16f1 Fix cursor_trail rendering at incorrect co-ords
It needs to work in NDC co-ordinates since no viewports apply when it is
drawn.
2025-08-11 14:53:23 +05:30
Kovid Goyal
e797ad746e Store creation spec on windows
Will come in handy when serializing them
2025-08-11 12:26:01 +05:30
Kovid Goyal
0b8782d0fe Avoid multiple redundant relayouts when instantiating a SessionTab 2025-08-11 11:40:49 +05:30
Kovid Goyal
b71edfc1a6 ... 2025-08-11 11:31:19 +05:30
Kovid Goyal
261ac9d8e8 Make debug config a bit more robust 2025-08-11 11:28:30 +05:30
Kovid Goyal
96c9c557c6 Dont include gl.h in glfw.c 2025-08-11 10:55:29 +05:30
Kovid Goyal
bfa51daa0a Merge branch 'dependabot/go_modules/all-go-deps-4f63f750fb' of https://github.com/kovidgoyal/kitty 2025-08-11 10:24:43 +05:30
dependabot[bot]
e62362628d Bump the all-go-deps group with 4 updates
Bumps the all-go-deps group with 4 updates: [github.com/alecthomas/chroma/v2](https://github.com/alecthomas/chroma), [golang.org/x/image](https://github.com/golang/image), [golang.org/x/sys](https://github.com/golang/sys) and [golang.org/x/text](https://github.com/golang/text).


Updates `github.com/alecthomas/chroma/v2` from 2.19.0 to 2.20.0
- [Release notes](https://github.com/alecthomas/chroma/releases)
- [Changelog](https://github.com/alecthomas/chroma/blob/master/.goreleaser.yml)
- [Commits](https://github.com/alecthomas/chroma/compare/v2.19.0...v2.20.0)

Updates `golang.org/x/image` from 0.29.0 to 0.30.0
- [Commits](https://github.com/golang/image/compare/v0.29.0...v0.30.0)

Updates `golang.org/x/sys` from 0.34.0 to 0.35.0
- [Commits](https://github.com/golang/sys/compare/v0.34.0...v0.35.0)

Updates `golang.org/x/text` from 0.27.0 to 0.28.0
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.27.0...v0.28.0)

---
updated-dependencies:
- dependency-name: github.com/alecthomas/chroma/v2
  dependency-version: 2.20.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go-deps
- dependency-name: golang.org/x/image
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go-deps
- dependency-name: golang.org/x/sys
  dependency-version: 0.35.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.28.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-08-11 04:49:31 +00:00
Kovid Goyal
9f51779750 More robust detection of support for GL_FRAMEBUFFER_SRGB
When not supported fallback to layer based rendering
2025-08-11 09:13:49 +05:30
Kovid Goyal
dea16c2ef7 ... 2025-08-11 01:16:58 +05:30
Kovid Goyal
1073e59598 Move cursor trail draw call into shaders.c 2025-08-11 00:54:08 +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