Add the SSH kitten to the Changelog

This commit is contained in:
Kovid Goyal 2022-03-18 10:45:16 +05:30
parent 66fe53ceb1
commit e791a8a7bb
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
3 changed files with 34 additions and 58 deletions

View File

@ -9,23 +9,14 @@ To update |kitty|, :doc:`follow the instructions <binary>`.
Recent major new features
---------------------------
.. only:: dirhtml
Truly convenient SSH
~~~~~~~~~~~~~~~~~~~~~~~~
A demo video
~~~~~~~~~~~~~~~~
The :doc:`ssh kitten <kittens/ssh>` is redesigned with powerful new features:
A new video showcasing some of kitty's many productivity enhancing features.
.. raw:: html
<video controls width="640" height="360" poster="../_static/poster.png">
<source src="https://download.calibre-ebook.com/videos/kitty.mp4" type="video/mp4">
<source src="https://download.calibre-ebook.com/videos/kitty.webm" type="video/webm">
</video>
.. rst-class:: caption caption-text
Watch kitty in action!
* Automatic :ref:`shell_integration` on remote machines
* Easily :ref:`clone local shell/editor config <real_world_ssh_kitten_config>` on remote machines
* Automatic :opt:`re-use of existing connections <kitten-ssh.share_connections>` to avoid connection setup latency
Shell integration
@ -38,38 +29,6 @@ scrollback by pressing :sc:`scroll_to_previous_prompt` and clicking with the
mouse anywhere in the current command to move the cursor there. See
:doc:`shell-integration` for details.
Logos for windows
~~~~~~~~~~~~~~~~~~~~
kitty has the ability to display arbitrary ``PNG`` images at the corner
of any kitty window to serve as a *logo* for quick window identification.
Can be controlled via :opt:`window_logo_path` and also and changed via
the :ref:`at_set-window-logo` remote control command.
Useful to quickly identify special windows or just for some *bling*.
.. figure:: screenshots/window-logo.png
:alt: A screenshot of the kitty shell window showing the kitty logo
:align: center
:width: 100%
A screenshot of the kitty shell window showing the kitty logo
Visual keyboard based window select
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Select a kitty window visually using the keyboard, like the
:doc:`kittens/hints`, but for kitty windows. Can also be used from shell
scripts/third party integrations via the :ref:`at_select-window` remote control
command.
.. figure:: screenshots/select-window.png
:alt: A screenshot of the kitty select window function
:align: center
:width: 100%
Hints for selecting kitty windows visually
.. }}}
Detailed list of changes
@ -78,6 +37,10 @@ Detailed list of changes
0.25.0 [future]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- :doc:`kittens/ssh`: automatic shell integration when using SSH. Easily
clone local shell and editor configuration on remote machines, and automatic
re-use of existing connections to avoid connection setup latency.
- macOS: When using Apple's less as the pager for viewing scrollback strip out OSC codes as it cant parse them (:iss:`4788`)
- diff kitten: Fix incorrect rendering in rare circumstances when scrolling after changing the context size (:iss:`4831`)

View File

@ -1,6 +1,12 @@
Truly convenient SSH
=========================================
* Automatic :ref:`shell_integration` on remote machines
* Easily :ref:`clone local shell/editor config <real_world_ssh_kitten_config>` on remote machines
* Automatic :opt:`re-use of existing connections <kitten-ssh.share_connections>` to avoid connection setup latency
The ssh kitten allows you to login easily to remote servers, and automatically
setup the environment there to be as comfortable as your local shell. You
can specify environment variables to set on the remote server and
@ -77,6 +83,8 @@ by this invocation, so any :opt:`hostname <kitten-ssh.hostname>` directives are
the shell prompt 😇.
.. _real_world_ssh_kitten_config:
A real world example
----------------------
@ -108,17 +116,17 @@ How it works
----------------
The ssh kitten works by having SSH transmit and execute a POSIX sh (or
optionally Python) bootstrap script on the remote server using an
:opt:`interpreter <kitten-ssh.interpreter>`. This script reads setup data over
the tty device, which kitty sends as a base64 encoded tarball. The script
extracts it and places the :opt:`files <kitten-ssh.copy>` and sets the
:opt:`environment variables <kitten-ssh.env>` before finally launching the
:opt:`login shell <kitten-ssh.login_shell>` with shell integration enabled. The
data is requested by the kitten over the TTY with a random one time password.
kitty reads the request and if the password matches a password pre-stored in
shared memory on the localhost by the kitten, the transmission is allowed. If
your OpenSSH version is >= 8.4 then the data is transmitted instantly without
any roundtrip delay.
:opt:`optionally <kitten-ssh.interpreter>` Python) bootstrap script on the
remote server using an :opt:`interpreter <kitten-ssh.interpreter>`. This script
reads setup data over the tty device, which kitty sends as a base64 encoded
compressed tarball. The script extracts it and places the :opt:`files <kitten-ssh.copy>`
and sets the :opt:`environment variables <kitten-ssh.env>` before finally
launching the :opt:`login shell <kitten-ssh.login_shell>` with shell
integration enabled. The data is requested by the kitten over the TTY with a
random one time password. kitty reads the request and if the password matches
a password pre-stored in shared memory on the localhost by the kitten, the
transmission is allowed. If your OpenSSH version is >= 8.4 then the data is
transmitted instantly without any roundtrip delay.
.. note::

View File

@ -63,6 +63,11 @@ Some prominent kittens:
other :term:`kitty windows <window>`.
:doc:`SSH <kittens/ssh>`
SSH with automatic shell integration, connection re-use for low latency and easy cloning
of local shell and editor configuration to the remote machine.
:doc:`Panel <kittens/panel>`
Draw a GPU accelerated dock panel on your desktop showing the output
from an arbitrary terminal program.