File: rc_protocol.rst

package info (click to toggle)
kitty 0.19.3-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 14,020 kB
  • sloc: ansic: 149,812; python: 29,994; objc: 3,485; makefile: 78; sh: 31
file content (29 lines) | stat: -rw-r--r-- 1,072 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Documentation for the kitty remote control protocol
======================================================

The kitty remote control protocol is a simple protocol that involves sending
data to kitty in the form of JSON. Any individual command of kitty has the
form::

    <ESC>P@kitty-cmd<JSON object><ESC>\

Where ``<ESC>`` is the byte ``0x1b``. The JSON object has the form::

    {
        "cmd": "command name",
        "version": <kitty version>,
        "no_response": Optional Boolean,
        "payload": <Optional JSON object>,
    }

The ``version`` above is an array of the form :code:`[0, 14, 2]`. If you are developing a
standalone client, use the kitty version that you are developing against. Using
a version greater than the version of the kitty instance you are talking to,
will cause a failure.

Set ``no_response`` to ``true`` if you don't want a response from kitty.

The optional payload is a JSON object that is specific to the actual command being sent.
The fields in the object for every command are documented below.

.. include:: generated/rc.rst