> Documentation index: https://docs.kiste.run/llms.txt, a list of every page in this documentation.

# The viewer

> The desktop viewer's overlay, fullscreen, display size, UI size, sound, keyboard layout, reconnecting and the recovery console.

The viewer fills the browser window with the Kiste's desktop and keeps a small
overlay out of the way.

## The overlay

The overlay shows the connection's details and the controls. **Hide** tucks
it away; a dot in the corner brings it back.

| Control | What it does |
| --- | --- |
| Fullscreen | Fills the screen. In Chrome and Edge, fullscreen also passes shortcuts such as Cmd/Ctrl+W, T, N and Tab to the Kiste instead of the browser; holding Escape leaves fullscreen. |
| Fit | Sets the Kiste's display to the size of this window. It happens on its own when you resize; the button forces it. |
| UI size | Cycles how large the desktop's interface appears: 100, 90, 80, 75 or 67 percent. Smaller values give you more room on a small window. |
| Sound | Mutes or unmutes the desktop's audio. |
| Recovery | Opens the [recovery console](#recovery-console). |
| Reconnect | Connects the stream again. |
| Keyboard | The keyboard layout the Kiste types with. `auto` detects yours. |

The details list the connection path (direct or relayed), the codec, frames per
second, bit rate and round-trip time, which helps when something feels slow.

## Display size and sharpness

The Kiste's display always matches the size of your viewer window. On a dense
display such as a Retina screen, the Kiste renders at the display's real pixel
count with its interface scaled up, so text is as sharp as in a native app.
During fast motion the picture may briefly be sent at a lower resolution and
sharpens again within a second.

## Sound

Desktop audio starts muted because browsers don't allow sound before you
interact with a page. Your first click on the desktop unmutes it, unless you
muted it yourself. Microphone input isn't supported yet.

## Keyboard

Keys are sent by their position and typed with the layout chosen under
**Keyboard**, so special characters come out as on your own keyboard.

On a Mac, the viewer translates shortcuts: **Cmd+C**, **Cmd+V**, **Cmd+A**
and the like become **Ctrl+…** in applications, and **Ctrl+Shift+…** in
terminal apps, where Ctrl+C interrupts a program. On Windows and Linux, Ctrl
shortcuts pass through as they are.

## Mouse and games

Pointer moves are sent as absolute positions. When an app or a game in the
Kiste captures the pointer (a first-person game, a 3D viewer), the viewer
switches to relative movement; a click takes the browser's pointer lock and
Escape gives it back.

## Connection loss

When the connection drops, for example because your laptop changed networks,
the viewer shows that the link was lost and keeps reconnecting every couple of
seconds for a few minutes. The Kiste and everything in it keep running
meanwhile. Reloading the page re-enters the desktop without a new link for 24
hours.

## Recovery console

When the video stream can't start at all, **Recovery** opens a plain remote
desktop view of the same screen, slower but independent of the video stream,
with its own short-lived authorization. Use it to fix whatever keeps the
desktop from streaming, then reconnect.

## Related topics

- [Overview](https://docs.kiste.run/desktop.md)
- [Clipboard](https://docs.kiste.run/desktop/clipboard.md)
- [Devices and multiple viewers](https://docs.kiste.run/desktop/devices.md)
- [Connection](https://docs.kiste.run/desktop/connection.md)
- Previous: [Overview](https://docs.kiste.run/desktop.md)
- Next: [Clipboard](https://docs.kiste.run/desktop/clipboard.md)
