Custom CSS
CSS-Variablen überschreiben, um Farben, Spacing und einzelne Oberflächen neu abzustimmen.
purplemux ist auf einem CSS-Variablen-System gebaut. Du kannst fast alles Visuelle ändern, ohne die Quelle anzufassen — Regeln in den Tab Erscheinungsbild einfügen, Anwenden klicken, und sie greifen sofort auf jedem verbundenen Client.
Wo es hin soll
Öffne Einstellungen (⌘,) und wähle Erscheinungsbild. Du siehst ein einziges Textfeld mit dem Label Custom CSS.
- Schreib deine Regeln.
- Klick Anwenden. Das CSS wird in einen
<style>-Tag auf jeder Seite injiziert. - Klick Zurücksetzen, um alle Overrides zu leeren.
Das CSS wird auf dem Server in ~/.purplemux/config.json (customCSS) gespeichert, es wirkt also auf jedem verbundenen Gerät.
Wie es funktioniert
Die meisten Farben, Oberflächen und Akzente in purplemux sind als CSS-Variablen unter :root (hell) und .dark exponiert. Eine Variable zu überschreiben kaskadiert die Änderung überall, wo diese Variable verwendet wird — Seitenleiste, Dialoge, Charts, Status-Badges.
Eine einzelne Variable zu ändern ist fast immer besser, als Komponenten-Selektoren direkt zu überschreiben. Komponenten-Klassen sind keine stabile API; Variablen schon.
Ein minimales Beispiel
Die Seitenleiste im Light Mode etwas wärmer tönen und die Dark-Surface dunkler drücken:
:root {
--sidebar: oklch(0.96 0.012 80);
}
.dark {
--background: oklch(0.05 0 0);
}
Oder die Marke umfärben, ohne sonst etwas anzufassen:
:root {
--primary: oklch(0.55 0.16 280);
}
.dark {
--primary: oklch(0.78 0.14 280);
}
Variablen-Gruppen
Das Erscheinungsbild-Panel exponiert die volle Liste unter Verfügbare Variablen. Die Hauptbereiche:
- Surface —
--background,--card,--popover,--muted,--secondary,--accent,--sidebar - Text —
--foregroundund die passenden*-foreground-Varianten - Interaktiv —
--primary,--primary-foreground,--destructive - Border —
--border,--input,--ring - Palette —
--ui-blue,--ui-teal,--ui-coral,--ui-amber,--ui-purple,--ui-pink,--ui-green,--ui-gray,--ui-red - Semantisch —
--positive,--negative,--accent-color,--brand,--focus-indicator,--claude-active
Für die vollständige Token-Liste mit Default-OKLCH-Werten und der Design-Begründung siehe docs/STYLE.md im Repo. Dieses Dokument ist die Source of Truth.
Nur einen Modus targeten
Wickle Regeln in :root für hell und .dark für dunkel. Die Klasse wird durch next-themes an <html> gesetzt.
:root {
--muted: oklch(0.95 0.01 287);
}
.dark {
--muted: oklch(0.18 0 0);
}
Wenn du nur einen Modus ändern musst, lass den anderen unangetastet.
Was ist mit dem Terminal?
Das xterm.js-Terminal nutzt seine eigene Palette, gewählt aus einer kuratierten Liste — sie wird nicht von diesen CSS-Variablen gesteuert. Wechsel sie im Tab Terminal. Siehe Terminal-Themes.
Wie es weitergeht
- Themes & Schriften — hell, dunkel, System; Schriftgrößen-Presets.
- Terminal-Themes — separate Palette für den Terminal-Bereich.
- Seitenleiste & Claude-Optionen — Items umsortieren, Claude-Flags umschalten.