Otto User Guide
Otto is a Wayland compositor and desktop system with a Skia-rendered, animation-first interface. This guide covers everything you can do with it as a user: what the desktop is made of, how to drive it, and how to configure it.
Where to start
If you are installing Otto for the first time, start with Getting Started, then take the Desktop Tour. Once it runs, Recommended Settings is a config worth stealing from.
Using the desktop
| Page | What it covers |
|---|---|
| Getting Started | Installing, launching, backends, first-run checklist |
| Desktop Tour | Every element on screen and what it does |
| Window Management | Move, resize, maximize, minimize, tile, fullscreen, placement |
| Tiling | Tiled workspaces: keyboard, pointer, gaps, tile decorations, settings |
| Workspaces | Multiple workspaces, per-monitor workspaces, moving windows |
| Exposé & App Switcher | Overview of all windows, switching between apps |
| Dock | Running apps, minimized windows, bookmarks, autohide, magnification |
| Top Bar | Clock, system tray, global application menus |
| Dynamic Island | Notifications, live activities, permission dialogs |
| Side Canvas | The column that slides in from the right edge |
| Keyboard Shortcuts | Binding syntax and the complete action list |
| Touchpad Gestures | Three-finger swipes, four-finger pinch |
Applications
Otto ships a few applications of its own, built with otto-kit. All are early
versions: useful day to day, still filling in.
| Page | What it covers |
|---|---|
| Files | Browsing, typing a path, thumbnails, file operations, Peek, the file picker |
| Files Command Palette | Ctrl+P: running commands by name, selecting and renaming by pattern |
| Custom Commands in Files | Writing scripts that add commands to Files, with a tutorial |
| PDF from Pictures | A longer script tutorial: progress, choices, two commands in one |
| Settings | Editing the configuration live, display arrangement, shortcuts |
| Launcher | Starting applications and switching windows from the keyboard |
| Emoji Picker | Finding an emoji and typing it into the focused window |
| Ask and Agents | Running a coding agent from the desktop: setup, what each agent can do, modes |
Configuring Otto
| Page | What it covers |
|---|---|
| Configuration | Where config files live and how they merge |
| Recommended Settings | The config Otto’s author runs — a Super-first keyboard and the rest |
| Display | Scaling, monitor arrangement, modes, virtual outputs, panels |
| Theming | Light/dark, accent color, fonts, wallpaper, cursors, icons |
| Customization | What the appearance settings do, shown on six configurations |
| Input | Keyboard layout and repeat, touchpad, pointer acceleration |
| Audio | UI sound effects and sound themes |
| Power Management | Lid close, power button, suspend, clamshell |
| Night Shift | Color temperature and brightness |
| Autostart | exec_once, XDG autostart, systemd integration |
| Clipboard | Clipboard persistence and history managers |
| Desktop Widgets | Running layer-shell widgets and dashboards on the desktop |
| Open Standards | Every XDG standard and Wayland protocol Otto supports: apps, icons, trash, portals, fonts, panels, clipboard, capture |
Sessions and remote access
| Page | What it covers |
|---|---|
| Lock Screen | Locking, idle auto-lock, fingerprint unlock, PAM setup |
| Login Greeter | Using Otto as the login screen with greetd |
| Screen Sharing | Portal setup, browsers, OBS, AirPlay, screenshots |
| Privacy | What apps were allowed, remembered shares, the password panel |
| Accessibility | Screen readers and keyboard-only use: setup, what is announced, driving Otto’s applications from the keyboard |
| Remote Desktop | otto-rdp, virtual outputs, connecting from RDP clients |
| Scripting | otto-msg: driving windows and tiling from a script, in i3’s command language |
Getting help
| Page | What it covers |
|---|---|
| Troubleshooting | Logs, common failures, and how to report a bug |
| Reporting a Bug | otto-msg doctor: gather system details and logs, choose what to share, attach one file |
| Credits | The wallpapers, icons and fonts in Otto’s screenshots, and who they belong to |
How it works, and helping build it
There is a second guide for people who want to look inside: the Developer Guide covers how Otto is put together, from the scene graph and the render loop to the dock, exposé and the protocols it speaks. It is worth a read even if you never intend to write any code, since most of what the pages above describe is explained there.
Otto is open to contributions of every size: running it and saying what broke, filing a bug, writing a page of documentation, picking up a feature. Start at the issue tracker, or say hello first in one of the rooms below.
Questions and feedback are welcome on Discord or in the Matrix room
#otto-compositor:matrix.org.