Document clone-in-kitty
This commit is contained in:
parent
88d597f6b2
commit
e2bb856e41
@ -37,6 +37,8 @@ Detailed list of changes
|
|||||||
0.25.1 [future]
|
0.25.1 [future]
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
- Shell integration: Add a command to :ref:`clone_shell`
|
||||||
|
|
||||||
- Remote control: Allow using :ref:`Boolean operators <search_syntax>` when constructing queries to match windows or tabs
|
- Remote control: Allow using :ref:`Boolean operators <search_syntax>` when constructing queries to match windows or tabs
|
||||||
|
|
||||||
- Sessions: Fix :code:`os_window_size` and :code:`os_window_class` not applying to the first OS Window (:iss:`4957`)
|
- Sessions: Fix :code:`os_window_size` and :code:`os_window_class` not applying to the first OS Window (:iss:`4957`)
|
||||||
|
|||||||
@ -30,6 +30,8 @@ Features
|
|||||||
|
|
||||||
* The text cursor is changed to a bar when editing commands at the shell prompt
|
* The text cursor is changed to a bar when editing commands at the shell prompt
|
||||||
|
|
||||||
|
* :ref:`clone_shell` with all environment variables and the working directory copied
|
||||||
|
|
||||||
* Glitch free window resizing even with complex prompts. Achieved by erasing
|
* Glitch free window resizing even with complex prompts. Achieved by erasing
|
||||||
the prompt on resize and allowing the shell to redraw it cleanly.
|
the prompt on resize and allowing the shell to redraw it cleanly.
|
||||||
|
|
||||||
@ -215,6 +217,39 @@ shell integration. Alternately, you can :ref:`setup shell integration manually
|
|||||||
the remote server and editing the shell rc files there, as described below.
|
the remote server and editing the shell rc files there, as described below.
|
||||||
|
|
||||||
|
|
||||||
|
.. _clone_shell:
|
||||||
|
|
||||||
|
Clone the current shell into a new window
|
||||||
|
-----------------------------------------------
|
||||||
|
|
||||||
|
You can clone the current shell into a new kitty window by simply running the
|
||||||
|
command:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
clone-in-kitty
|
||||||
|
|
||||||
|
This will open a new window running a new shell instance but with all
|
||||||
|
environment variables and the current working directory copied. This even
|
||||||
|
works over SSH when using :doc:`kittens/ssh`.
|
||||||
|
|
||||||
|
The :file:`clone-in-kitty` command takes almost all the same arguments as the
|
||||||
|
:doc:`launch <launch>` command, so you can open a new tab instead or a new OS
|
||||||
|
window, etc. Arguments of launch that can cause code execution or that don't
|
||||||
|
make sense when cloning are ignored. Most prominently, the following options
|
||||||
|
are ignored: :option:`launch --allow-remote-control`, :option:`launch
|
||||||
|
--copy-cmdline`, :option:`launch --copy-env`, :option:`launch
|
||||||
|
--allow-remote-control`, :option:`launch --stdin-source`, :option:`launch
|
||||||
|
--marker` and :option:`launch --watcher`.
|
||||||
|
|
||||||
|
Some examples:
|
||||||
|
|
||||||
|
.. code-block:: sh
|
||||||
|
|
||||||
|
clone-in-kitty --type=tab
|
||||||
|
clone-in-kitty --title "I am a clone"
|
||||||
|
|
||||||
|
|
||||||
.. _manual_shell_integration:
|
.. _manual_shell_integration:
|
||||||
|
|
||||||
Manual shell integration
|
Manual shell integration
|
||||||
|
|||||||
@ -529,7 +529,7 @@ def clone_and_launch(msg: str, window: Window) -> None:
|
|||||||
elif k == 'argv':
|
elif k == 'argv':
|
||||||
cmdline = json.loads(v)
|
cmdline = json.loads(v)
|
||||||
opts = parse_opts_for_clone(args)
|
opts = parse_opts_for_clone(args)
|
||||||
if cwd:
|
if cwd and not opts.cwd:
|
||||||
opts.cwd = cwd
|
opts.cwd = cwd
|
||||||
opts.copy_colors = True
|
opts.copy_colors = True
|
||||||
if pid > -1:
|
if pid > -1:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user