Commit graph

8509 commits

Author SHA1 Message Date
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
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
Kovid Goyal
0afa0c4e50
Make set of excluded env vars for clone re-useable 2025-08-08 09:06:51 +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
b0439d4183
Function to erase the last command and its output 2025-08-07 08:45:45 +05:30
Kovid Goyal
97f1d7f436
Implement session command to set layout state 2025-08-06 20:43:12 +05:30
Kovid Goyal
bc8fc6642c
Cross link scrollback fill enlarged window option in zoom action docs 2025-08-06 09:58:28 +05:30
Kovid Goyal
bdf3b9300e
Make creation of window_id_map generic 2025-08-04 16:28:06 +05:30
Kovid Goyal
16e659c477
DRYer 2025-08-04 16:16:55 +05:30
Kovid Goyal
1665b06d59
Implement set_layout_state for a few remaining layouts 2025-08-04 16:02:19 +05:30
Kovid Goyal
e6f35571a5
Implement full serialization/unserialization for layouts
Need to go over all the non-split layouts and see if they need
any TLC
2025-08-04 15:51:46 +05:30
Kovid Goyal
6d2b17d877
opts serialization is done by base class 2025-08-02 12:49:06 +05:30
Kovid Goyal
bbbeeb8206
More rigorous set layout state sanity check 2025-08-02 12:48:04 +05:30
Kovid Goyal
c4ed1d3b69
Implement unserialization for splits layout
Also cleanup the serialization code.
2025-08-02 12:12:40 +05:30
Kovid Goyal
f64182e16c
Scroll indicator should usepremult blending whenever draw_cells_simple uses it 2025-07-31 21:24:17 +05:30
Kovid Goyal
8c8d7d6ce3
Fix continuous retry on macOS when reading and writing to a peer that has closed its end of the socket
Apparently, macOS sends POLLHUP for POLLOUT as well. Fixes #8865
2025-07-29 19:33:12 +05:30
Kovid Goyal
f41091366e
... 2025-07-29 19:06:26 +05:30
Kovid Goyal
9229af98b8
... 2025-07-27 11:34:24 +05:30
Kovid Goyal
83bc0423b2
Micro optimisation
Dont lookup char props for ascii char at start of draw command.
Improves benchmark by 2-5%
2025-07-26 09:34:13 +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
cac3ac80fc
Use any window if no active window is available 2025-07-23 09:48:50 +05:30
Kovid Goyal
85b6ba54dc
Make mypy happy 2025-07-23 09:46:32 +05:30
Kovid Goyal
57bfa9e2e5
... 2025-07-23 09:37:54 +05:30
Kovid Goyal
8a39976449
Watchers: A new event for global watchers corresponding to the tab bar being changed
Fixes #8842
2025-07-23 09:24:12 +05:30
Kovid Goyal
45b2678db1
Allow backspace to wrap cursor to previous line
Fixes #8841
2025-07-23 08:56:54 +05:30
Kovid Goyal
fd5876b94e
Use SIMD to replace C0 control codes in Go code 2025-07-21 08:54:22 +05:30
Kovid Goyal
bd0f55531f
Implement previews for plain text files 2025-07-20 19:24:17 +05:30
Kovid Goyal
063cf243c1
add cursor_trail_color to nullable_colors and all_color_settings 2025-07-19 07:03:13 +05:30
CollinEMac
7021271e81 Add cursor trail color option 2025-07-17 00:35:31 -05:00
Kovid Goyal
b1334fdc19
version 0.42.2 2025-07-16 06:34:24 +05:30
Kovid Goyal
9e7c46b253
clipboard kitten: Allow using a password to avoid repeated confirmation prompts when accessing the clipboard
Fixes #8789
2025-07-13 14:12:31 +05:30
Kovid Goyal
799ba8d178
Cleanup previous PR 2025-07-13 07:15:08 +05:30
Harsh Sharma
aeedfbc7d8
add special value listjson in panel output-name 2025-07-12 23:37:41 +05:30
Kovid Goyal
2ee11ed613
Cleanup previous PR 2025-07-12 13:13:46 +05:30
Kovid Goyal
fe0a0a63b8
Merge branch 'kitten_ssh_exit_shell' of https://github.com/barr-israel/kitty 2025-07-12 12:45:05 +05:30
Barr
ca2232e435 feat: new option --hold-after-ssh to allow spawning a shell after a kitten ssh disconnection
new option to the launch command, the new shell will be in the directory
that launched kitten ssh
2025-07-12 10:07:29 +03:00
Kovid Goyal
7fb0350fa7
Also set the motion indicator bit for mouse leave events 2025-07-12 12:37:21 +05:30
Kovid Goyal
4d3bbd82e0
Extend the SGR Pixel mouse reporting protocol to also report when the mouse leaves the window 2025-07-12 11:59:23 +05:30
Kovid Goyal
06afce07ac
... 2025-07-12 08:56:51 +05:30
Kovid Goyal
b01b73a8e5
Add --debug-input for panel and quick access terminals 2025-07-12 07:29:42 +05:30
Kovid Goyal
27315d6496
DRYer 2025-07-10 08:24:01 +05:30
Kovid Goyal
652921c7d3
choose-fonts kitten: Fix error with invalid fonts containing no or undersized STAT table. Fixes #8795 2025-07-10 08:20:32 +05:30
Harsh Sharma
218bb4fe10
Fix missing hide_on_focus_loss in layer_shell_config_to_python 2025-07-09 17:37:52 +05:30