Repository navigation
Themes and Appearance
The interface has three appearance choices that combine freely: a layout, a base theme and an accent colour. All three, and the interface language, are chosen under Settings → WebGui.
- Two layouts: Cockpit and Lounge (see below).
- Seven dark themes: Command Deck, OLED-Black, Graphite, Carbon, Frost, Deep Forest, Petrol.
- Four light themes: Daylight, Paper, Frost Light, Chalk.
- Ten accent colours, applied on top of whichever base you pick.
The layout decides how the interface is arranged and set; colours come from the base theme and accent either way.
- Cockpit is the original look and the default: a sidebar with every page, the dashboard as a grid of tiles, a lot on screen at once.
- Lounge puts the navigation on top in two rows — the sections as tabs, and under them every page of the open section as plain links. Text is set larger in Source Sans 3 and Bricolage Grotesque, cards become sections under a heavy rule, and tables have no frame. The dashboard opens with the server name and one sentence (who is here, how long the server has been up, channels and ping) instead of the four number tiles; the other tiles follow below. On a phone both navigation rows scroll sideways.
Petrol and Chalk were made for Lounge but work with both layouts, as do all the other themes. Switching the layout keeps the page you are on.
Red accent: with red as the accent, delete buttons, delete icons and error colours turn orange, so a delete action never looks like a main action.
There are two layers, and it's worth knowing which is which:
- The admin sets the installation-wide default under Settings → WebGui (Installation Default Layout, Installation Default Base Theme and Installation Default Accent). That's what a brand-new user, or anyone who hasn't chosen for themselves, sees.
- Every user can override the layout, the theme and the accent for themselves (My Layout, My Base Theme, My Accent), and that choice lives in their own browser. It doesn't change anyone else's view and doesn't touch the installation default. Reset to installation default drops the personal choice again.
So if the app doesn't look the way you set it as admin, that's expected — a user who picked their own layout or theme keeps it. Clearing site data in that browser drops the personal choice and falls back to the installation default.
The interface is available in English, German and French. Settings → WebGui → My Language switches it, for every role.
- The choice belongs to the account, not to the browser: it is saved with the user and follows them to any device or browser they sign in on.
- Before signing in — the login and first-time setup screens — the interface has no account to ask, so it follows the browser's own language (and falls back to English for a language it does not have). The choice made once is remembered in the browser as well, for the next visit to the login page.
- The public widget page shows in the visitor's browser language and leaves nothing behind in the visitor's browser.
- Translations are community work on Crowdin; a finished translation reaches this repository by itself. A new language shows up in the language menu without any change to the code once its translation file exists. What the interface stores in the browser is listed under Privacy and Hosting.
TeamSpeak's own error messages that appear in the interface are translated where the app has a translation for them; the text of anything that TeamSpeak sends as free text (a channel name, a server log line) is shown as it arrived.
v0.3, last edited 15.10.2026
Getting started
Using the app
Running it
When something is odd
Contributing