Commit Graph

16329 Commits

Author SHA1 Message Date
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
Kovid Goyal
f824cc2453 ... 2025-08-22 20:02:32 +05:30
Kovid Goyal
3c5678908a DRYer 2025-08-22 20:00:48 +05:30
Kovid Goyal
272d98480f Record startup session in session history as well 2025-08-22 19:52:26 +05:30
Kovid Goyal
b401827881 Fix stupid typo that broke goto_session -1 2025-08-22 19:46:22 +05:30
Kovid Goyal
14cbf5cb73 Ensure newly created session is focused 2025-08-22 19:44:17 +05:30
Kovid Goyal
535a1bf580 Fix session name not being set when creating tabs in existing OS window 2025-08-22 19:39:33 +05:30
Kovid Goyal
3e92d62923 DRYer 2025-08-22 19:29:53 +05:30
Kovid Goyal
3087cbdcec Ring bell when goto_session -1 has no history 2025-08-22 19:27:13 +05:30
Kovid Goyal
8dac15b8b2 goto_session -1 should not fail when no session history is present 2025-08-22 19:18:11 +05:30
Kovid Goyal
f1321185f9 macOS: Fix rendering in fullscreen with background_opacity < 1
In fullscreen macOS forces the OS Window to be opaque. Therefore we need
to render with background_opacity = 1 for correct colors.

Fixes #8920
2025-08-22 12:09:31 +05:30
Kovid Goyal
110b13dc98 Make calculation of OS Window background opacity centralised 2025-08-22 11:57:29 +05:30
Kovid Goyal
3483f99d09 name a few anon structs 2025-08-22 11:20:23 +05:30
Kovid Goyal
c2a5af19b0 More tab bar geometry adjustments
A couple more places I forgot to change when shifting window boundaries
to be exclusive. Fixes #8921
2025-08-22 11:16:08 +05:30
Kovid Goyal
5e6c397356 Document using negative numbers with goto_session 2025-08-22 07:24:58 +05:30
Kovid Goyal
880b8f1cf1 session should work when matching tabs too 2025-08-21 16:11:44 +05:30
Kovid Goyal
633725544c Forgot to declare session as a valid search location 2025-08-21 16:02:48 +05:30