Commit Graph

16345 Commits

Author SHA1 Message Date
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
e76f4c630f Implement displaying of extra cursor color 2025-08-26 21:27:13 +05:30
Kovid Goyal
6c44eadf77 Directly operate on vec3 for linear2srgb 2025-08-26 19:14:06 +05:30
Kovid Goyal
0307ae061e step one to calculating extra cursor colors 2025-08-26 18:56:31 +05:30
Kovid Goyal
6d9dcc3171 Pass extra cursor colors to shader 2025-08-26 18:56:31 +05:30
Kovid Goyal
b38be3005c Add dynamic color enum defines to shader 2025-08-26 18:56:31 +05:30
Kovid Goyal
c18018cbad Use DynamicColor to store extra cursor colors 2025-08-26 18:56:31 +05:30
Kovid Goyal
5bb842c34c DRYer 2025-08-26 18:56:31 +05:30
Kovid Goyal
77d9647e03 More descriptive name 2025-08-26 18:56:31 +05:30
Kovid Goyal
f8dac2c136 Write foreground output only at end of shader 2025-08-26 18:56:31 +05:30
Kovid Goyal
da641982e2 Start work on specifying a color for extra cursors 2025-08-26 18:56:31 +05:30
Kovid Goyal
3239cec409 Merge branch 'pr8930-detached-log-line-buffered' of https://github.com/druckdev/kitty 2025-08-26 18:56:16 +05:30
Julian Prein
3e26d90648 Make detached-log line buffered
After redirecting stdout and stderr to the log file, they become block
buffered. This results in a (temporarily) incomplete log and becomes
particularly annoying when kitty crashes/hangs and has to be killed, as
the error messages are not flushed then and thus lost.
2025-08-26 15:08:52 +02:00
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
24049a1a5a Implement round tripping of SGR blink (5/25) 2025-08-25 12:34:38 +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
67763029fc Store SGR attributes in a sub struct of Cursor
Makes various operations like clearing text attributes, copying text
attributes etc. faster and less code.
2025-08-25 11:12:35 +05:30
Kovid Goyal
7c14524d35 fix spelling 2025-08-25 11:04:36 +05:30
Kovid Goyal
d74fd5c94a Validate rect co-ords 2025-08-25 10:29:37 +05:30
Kovid Goyal
574e5ab1d5 Make CodeQL happy 2025-08-25 10:26:41 +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
bacd13d3a7 extra cursors: Add some tests for invalid input handling 2025-08-24 20:25:38 +05:30
Kovid Goyal
1c9a2dae86 Start work on documenting the multi cursor protocol 2025-08-24 20:14:15 +05:30
Kovid Goyal
c393c1679e Implement rendering of multi cursors in the shaders 2025-08-24 20:14:15 +05:30
Kovid Goyal
b2f543f9bd Refactor cell shader to take cursor shape as input
Less code for one const array lookup per vertex. And will
allow implementation of multiple cursors more easily.
2025-08-24 20:14:15 +05:30
Kovid Goyal
8f5dc42a61 Parser for multi cursor escape code 2025-08-24 20:14:14 +05:30
Kovid Goyal
e6c1597834 Start work on multiple hardware cursors 2025-08-24 20:14:14 +05:30
Kovid Goyal
d8cfb6b180 Remove tabs_to_be_shown_in_tab_bar_as_sequence
It was a dangerous API as it kinda implied the returned tabs were a copy
but they werent when no filter was present. Take the small perf hit of
always making a copy for safety.
2025-08-24 20:12:28 +05:30
Kovid Goyal
543e113be0 ... 2025-08-24 20:07:01 +05:30
Kovid Goyal
de61262563 Fix adding tabs causing an exception because I forgot to extend the copied tabs list 2025-08-24 20:05:49 +05:30
Kovid Goyal
5740173bdc Re-render OS Window when its layers requirement changes 2025-08-24 15:06:31 +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
7bd912c093 Micro optimization using the new ability to specify all_set 2025-08-23 14:15:40 +05:30
Kovid Goyal
46537e76a5 Allow matching tabs/windows over a custom all set 2025-08-23 14:05:41 +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
21fa5bb1ce macOS: focusing of minimized window broken
This was done to fix #8913 in d7c2cdc.
Explicitly de-miniaturize before making key.
2025-08-23 07:49:06 +05:30
Kovid Goyal
1e0b3f808f Move serialization code together 2025-08-22 21:45:18 +05:30
Kovid Goyal
0b8488aa65 Also restore cwd when serializing direct ssh kitten invocations 2025-08-22 21:43:56 +05:30
Kovid Goyal
36163fd532 Ensure current layout is in enabled layouts when serializing 2025-08-22 21:34:26 +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
ba0cc0fa2c save_as_session: Implement saving of foreground process for remote shells run via ssh kitten 2025-08-22 21:14:33 +05:30
Kovid Goyal
eacc985c28 save_as_session: Preserve remote cwd when saving ssh kitten cmdline 2025-08-22 20:59:52 +05:30
Kovid Goyal
1a25ca1545 Fix setting env vars in kssh cmdline that has no kitten directives 2025-08-22 20:56:41 +05:30
Kovid Goyal
7134819c26 Fix child_is_remote() not working when abspath to ssh is used 2025-08-22 20:45:05 +05:30
Kovid Goyal
e63d6e91f8 save_as_session: Properly serialize ssh kitten foreground process 2025-08-22 20:40:52 +05:30