210 Commits

Author SHA1 Message Date
Kovid Goyal
b6c3841beb ... 2025-11-07 15:06:08 +05:30
Kovid Goyal
b9a8b64b32 Refactor previous PR
Move code to incrementally update lsc config into the kitten module do
that it is more likely to stay in sync with any future changes to the
kitten cli.
2025-09-22 11:54:23 +05:30
alex-huff
0daab6ab43 resize-os-window: fix '--incremental' option of 'os-panel' action
This commit addresses a few issues with the implementation of
'--incremental':
    - Unspecified settings are reset to their default value, which
      defeats the purpose of the option.
    - It is assumed that the names of options in 'LayerCLIOptions' map
      one to one with the names of fields in 'LayerShellConfig' but this
      isn't true. For example: The 'margin_top' cli option sets the
      'requested_top_margin' layer shell config.
    - When some options are set to a certain value, they force other
      options to be some value. The current implementation doesn't
      account for this.
    - The documentation is contradictory.
2025-09-22 00:10:42 -05:00
Kovid Goyal
508ca700d8 Fix #8998 2025-09-21 10:10:51 +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
e7b3fb0197 When serializing foreground process allow serializing shell builtins as well 2025-08-19 16:19:26 +05:30
Kovid Goyal
03792a1717 A new --add-to-session flag for launch
useful to optionally have new windows/tab join the active session when launched.
2025-08-19 16:06:49 +05:30
Kovid Goyal
8451ad44b5 Implement running foreground process even on unknown shells
This is not as nice because the environment wont have been setup by
the shell before running the process, but it's the best we can do
for an unknown shell.
2025-08-19 10:37:05 +05:30
Kovid Goyal
f91a0f6986 When saving session add option to save the foreground process running in the shell so that it is also restarted
Useful if user builds up session to save by running programs via
the shell.

Note that the serialization format for session files has changed
slightly, becoming more robust and allowing us to add more types
of saved data in the future, without overloading user_vars and thus
risking name conflicts.
2025-08-16 16:50:45 +05:30
Kovid Goyal
dcc9ade7ae Record user vars in creation spec 2025-08-16 12:18:31 +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
e797ad746e Store creation spec on windows
Will come in handy when serializing them
2025-08-11 12:26:01 +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
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
2ee11ed613 Cleanup previous PR 2025-07-12 13:13:46 +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
Stefan A. Haubenthal
3b20936959 Fixed typos 2025-05-18 19:52:12 +05:30
Kovid Goyal
d9f61803ae Make a note that launching OS panels does not support --config or --override as these are per process settings not per OS Window.
Fixes #8635.
2025-05-13 15:35:22 +05:30
Kovid Goyal
3c3ba4a9fb @ launch: Add a --wait-for-child-exit flag to get the child processes exit code even when it is running in a window. 2025-05-06 19:17:17 +05:30
Kovid Goyal
fc5fc7c9c4 Remote control: Allow modifying desktop panels and showing/hiding OS Windows using the kitten @ resize-os-window command
Also move the visibility toggle debounce into C code with a per OS
Window timer.

Fixes #8550
2025-04-22 13:34:09 +05:30
Kovid Goyal
3ce734ce9c launch: Allow creating desktop panels
Now users can use mappings or remote control to popup new desktop panels
on Wayland in addition to new desktop windows.

Fixes #8549
2025-04-21 14:59:31 +05:30
Kovid Goyal
56b49c49fb ... 2025-03-28 11:49:47 +05:30
Kovid Goyal
96d5c9c7c6 A new option to clear selections when they no longer reflect the contents of the clipboard 2025-03-12 11:41:27 +05:30
George Joseph
d2288ee787 Add support for os_window_name in startup sessions.
You can now specify `os_window_name` in addition to `os_window_class` in
startup sessions.  It works for the initial session as well as new sessions
started with `new_os_window`.

Updated documentation in overview.rst to add `os_window_name` in the
Startup Session examples.

Although not related to this feature. The documentation in launch.py
was updated to note that the `launch --type` `tab` and `os-window` options
aren't supported when launch is invoked from a startup script.  There's
already a note to that effect in the "Startup Sessions" section in
overview.rst but if you're looking at the launch syntax page like I was,
you wouldn't realize the limitation. This was throwing me for a loop while
wotking on this PR.

Resolves: #8387
2025-03-02 14:10:17 -07:00
Kovid Goyal
f55704c50d launch --next-to should control OS window selection for --type=tab 2025-02-08 08:42:48 +05:30
Kovid Goyal
244f4597dc launch: Decouple source and dest windows from active window
Fixes #8295
2025-02-07 13:40:44 +05:30
Kovid Goyal
da1626090a Update codebase to Python 3.10 using pyupgrade 2025-02-03 10:56:50 +05:30
Koichi Murase
e495aa02f3 clone-in-kitty: Exclude more environment variables from clone target 2025-01-30 16:18:47 +09:00
Kovid Goyal
ea9afc6e89 watchers: Add a new event on_color_scheme_preference_change
Fixes #8246
2025-01-23 05:36:25 +05:30
Kovid Goyal
5a99f3b6cf clone-in-kitty: Fix KITTY_WINDOW_ID being cloned and thus having incorrect value
Fixes #8161
2024-12-25 18:27:40 +05:30
Kovid Goyal
3bee1857f7 Make mypy happy 2024-12-21 08:06:29 +05:30
Kovid Goyal
36074eabc8 Make code to parse color specs and patch options objects re-useable 2024-11-07 13:14:33 +05:30
Kovid Goyal
27cf969a64 Proper error output 2024-11-07 09:35:26 +05:30
Kovid Goyal
6ad9f6fd40 ... 2024-11-07 09:34:10 +05:30
Kovid Goyal
c3c63d3a1e Add a load event for watchers 2024-11-07 09:31:26 +05:30
Kovid Goyal
c1fb18a6ef Implement changing transparent background colors via remote control 2024-09-24 19:02:13 +05:30
Kovid Goyal
f1d0d0949b Run pyupgrade to update the codebase to python 3.9
Gets rid of a lot of typing ugliness by using type annotations on
builtin types
2024-07-31 07:55:27 +05:30
Kovid Goyal
5ab484cac2 Implement --bias for the grid layout 2024-07-20 13:11:06 +05:30
Kovid Goyal
92385f6db7 Make function re-useable and simplify bias docs a bit 2024-07-20 12:44:46 +05:30
Kovid Goyal
681048f1ca launch command: A new --bias option to adjust the size of newly created windows declaratively
Still need to implement it for the Grid layout.
Fixes #7634
2024-07-20 12:37:18 +05:30
Amos Bird
048ef3b317 Support --env argument for @ run 2024-05-14 22:23:36 +08:00
Kovid Goyal
38fed8b391 kitten @ run: A new remote control command to run a process on the machine kitty is running on and get its output
Fixes #7429
2024-05-14 14:32:01 +05:30
Kovid Goyal
46fed6ffa9 Make remote_control_passwrods parsing code re-useable 2024-05-14 09:28:55 +05:30
Kovid Goyal
54548931b5 Allow running mappable actions via remote control
Saves me having to define a special remote control wrapper for every
mappable action.
2024-02-10 13:23:06 +05:30
Kovid Goyal
e656a75d5e Move implementation of --hold into Child
DRYer. Also fixed use of --hold with launch --cwd=current
2024-01-06 13:14:48 +05:30
Jin Liu
0f52b69372 launch watcher: add on_cmd_startstop event 2023-11-14 16:46:46 +08:00
Kovid Goyal
5ea9700c82 More kitty @ -> kitten @ 2023-10-18 20:40:39 +05:30
Kovid Goyal
314fe4fe4a Allow launched background process to work with --allow-remote-control
Use a dedicated socketpair for such processes. Fixes #6712
2023-10-18 19:56:58 +05:30
Kovid Goyal
81b032a161 Dont expand cwd=current in rc launch
This is easily done at the command line. And its semantics are
are to refer to cwd of active window.
2023-10-17 05:01:28 +05:30
Kovid Goyal
ddb121b418 Remote control launch: Fix the --copy-env option not copying current environment variables
Fixes #6724
2023-10-16 22:32:51 +05:30