aboutsummaryrefslogtreecommitdiffstats
path: root/doc/protocols
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--doc/protocols161
1 files changed, 0 insertions, 161 deletions
diff --git a/doc/protocols b/doc/protocols
deleted file mode 100644
index 52c61bf..0000000
--- a/doc/protocols
+++ /dev/null
@@ -1,161 +0,0 @@
----------------------------------------------------------------------
-
-Command: add-tray-icon
- Add a status icons to the status icon tray
- The client should keep in mind that there can be any number of
- trays available on the system: zero, one, two or three, ...,
- and that it will get a response once from every tray
-
-Required header: Client ID
- Your ID, provided by `ID assignment`
- in response to `Command: assign-id`
-
-Required header: Package
- The name of the package to which the program announced the icon
- belongs
-
-Required header: Icon ID
- An ID of the icon that can be used identify the icon, icon ID:s
- are not unique, but the combination of a package and a icon ID
- should be unque and can be used to ignore already added icons
- and hide icons that the user has been configured to be hidden
-
-Required header: Title
- A title describing the icon for the user, used to configured
- when icons should be hidden and shown among other configuration
-
-Required header: Icon
- The name or pathname of an icon to use together with the title
-
-Response:
- To: <Client ID>
- In response to: <Message ID>
- Message ID: <the status tray's message ID>
- Socket: <Where to embed the icon>
- Will send update: <`yes` if this message will be followed by
- `Command: tray-update`, otherwise `no`>
-
-Purpose: Enable clients to add a small icon that displays the status
- of programs, particularly minimised programs and services
-
-Compulsivity: optional
-
----------------------------------------------------------------------
-
-Command: update-tray-icon
- Change the status of a status icon
-
-Required header: Status
- hide) Hide the icon
- show) Show the icon
- active) The icon is active
- inactive) The icon is inactive
-
-Purpose: Enable status trays to automatically hide inactive icons
-Purpose: Hide icons without actually removing them
-
-Compulsivity: required if supporting `Command: add-tray-icon`,
- only `Status: hide` and `Status show` is required
-
----------------------------------------------------------------------
-
-Command: tray-update
- Send updates about the status tray to the status icon
-
-Required header: Socket
- Where the icon is embedded, used to identify the affected tray
-
-Conditionally required header: Max colour
- Required if: `Colour`-header is used
- Required if: `Foreground`-header is used
- Required if: `Alpha`-header is used
- The maximum colour component value, for example, if using 24-bit
- colour, which component will be 8-bit and the maximum value will
- be 255, this also applies to the alpha component
-
-Conditionally required header: Size
- Required if, otherwise optional: `Length`-header is used
- The width and height, in pixels, the icon should have
-
-Conditionally required header: Has alpha
- Required if: `Length`-header is used
- yes) The message contains an alpha channel
- no) The message does not contain an alpha channel
-
-Conditionally required header: Bytes
- Required if: `Length`-header is used
- The number of bytes the subpixels used, for example,
- 24-bit colours will have this set to 1 because each
- subpixel has 8 bits, 48-bit colours will have this
- set to 2 because each subpixel has 16 bits
- Allowed values are: 1, 2, 4 and 8. These values are
- used used so that CPU:s with any endianness can be
- trivially used as the words sizes are guaranteed to
- be supported in C, and mixed/middle-endiannes gets
- complicated if we go outside this.
-
-Conditionally optional/required header: Colour
- Available and optional if: `Length`-header is not used
- Required if: `Foreground`-header but not `Length`-header is used
- Single blank space-separated [0, <Max colour>] sRGB 3-tuple
-
-Conditionally optional header: Foreground
- Single blank space-separated [0, <Max colour>] sRGB 3-tuple
-
-Optional header: Alpha
- The opacity of the tray
-
-Optional header: Length
- Length of the message
-
-Optional header: Use urgency
- yes) The icon tray may blink
- no) The icon tray may not blink
-
-Message: Raw binary encoding of the background image, bytes
- are orders: row, pixel, channel (alpha, red, green,
- blue), subpixel value (native CPU encoding). The
- Alpha channel should be included but ignored if
- `Has alpha: no`, in such as it is best to set it to
- full.
-
- Example image (with `Bytes: 2`, `Has alpha: no` and `Size: 3`):
- sRGB(x0102, 0, 0), sRGB(0, x0304, 0), sRGB(0, 0, x0506)
- sRGB(x0708, 0, 0), sRGB(0, x090A, 0), sRGB(0, 0, x0B0C)
- sRGB(x0D0E, 0, 0), sRGB(0, x0F10, 0), sRGB(0, 0, x1112)
-
- Encoding of example image (hexadecimal):
- FFFF 0102 0000 0000 FFFF 0000 0304 0000 FFFF 0000 0000 0506
- FFFF 0708 0000 0000 FFFF 0000 090A 0000 FFFF 0000 0000 0B0C
- FFFF 0D0E 0000 0000 FFFF 0000 0F10 0000 FFFF 0000 0000 1112
-
- Note that on a big-endian system this would be:
- FF FF 02 01 00 00 00 00 FF FF 00 00 04 03 00 00 FF FF 00 00 00 00 06 05
- FF FF 08 07 00 00 00 00 FF FF 00 00 0A 09 00 00 FF FF 00 00 00 00 0C 0B
- FF FF 0E 0D 00 00 00 00 FF FF 00 00 10 0F 00 00 FF FF 00 00 00 00 12 11
- (x86_64 computers are big-endian)
-
- It is up to the networking servers to translate
- the encoding between machines. (The host translates to big-endian
- unless they can confirm that they have the same endianness.)
-
-Purpose: Enable clients to be aware of the appearance of the tray,
- such as colours, transparency and background image
-Purpose: Enable clients to be aware of how the user wants
- status icons to behave
-
-Compulsivity: optional
-
----------------------------------------------------------------------
-
-Command: new-tray
- Announce the existence of a new status icon trays
-
-Purpose: Allow clients to add their status icons to status icon
- trays that have been added to the display after those
- programs have started and attempted to add their icons
-
-Compulsivity: required if supporting `Command: add-tray-icon`
-
----------------------------------------------------------------------
-