#Workspace-Gruppen

Mit Workspace-Gruppen können Sie Workspaces zu zusammenklappbaren benannten Abschnitten in der Seitenleiste verschachteln. Jede Gruppe hat einen impliziten Anker-Workspace, eine anpassbare +-Schaltfläche zum Erstellen neuer Workspaces darin sowie Rechtsklick-Aktionen zum Umbenennen, Anheften, Auflösen und Bearbeiten ihrer Konfiguration.

#Konzepte

#Anker-Workspace

Jede Gruppe gehört genau einem Workspace, dem sogenannten Anker. Die Gruppenkopfzeile in der Seitenleiste ist die Repräsentation des Ankers – es gibt keine separate Zeile dafür. Ein Klick auf den Namensbereich der Kopfzeile fokussiert die Bereiche des Ankers; ein Klick auf das Chevron schaltet das Zusammenklappen um.

Anker sind beim Erstellen einer Gruppe immer brandneu. Sie werden nie aus einem bestehenden Workspace heraufgestuft. Das Arbeitsverzeichnis des Ankers wird beim Gruppieren einer Auswahl vom ersten ausgewählten Workspace übernommen oder beim Erstellen über das CLI ohne --cwd vom aktiven Workspace.

Das Schließen des Anker-Workspace löst die Gruppe auf: Jedes andere Mitglied wird zu einem nicht gruppierten Workspace und bleibt in der Tab-Liste. Außer dem Anker selbst wird nichts geschlossen. Die App zeigt zuvor einen Bestätigungsdialog mit einem Umschalter "Nicht erneut fragen" an.

#Gruppenidentität

Eine Gruppe hat einen Namen, ein Symbol (ein SF Symbol, standardmäßig folder.fill) und eine optionale benutzerdefinierte Farbe. Diese sind unabhängig von den eigenen Anpassungen des Anker-Workspace. Die Farbe und das Symbol des Ankers werden bei der Erstellung von der Gruppe übernommen, können danach aber abweichen.

#Anheften

Gruppen können unabhängig von einzelnen Workspace-Anheftungen angeheftet werden. Angeheftete Zeilen der obersten Ebene, ob einzelne Workspaces oder Gruppen, bleiben über nicht angehefteten Zeilen. Innerhalb jeder Ebene behalten Gruppen und Workspaces die Reihenfolge bei, in die Sie sie ziehen.

Die Seitenleiste ordnet die Zeilen der obersten Ebene von oben nach unten an:

  1. Angeheftete Zeilen der obersten Ebene (Workspaces und Gruppen).
  2. Nicht angeheftete Zeilen der obersten Ebene (Workspaces und Gruppen).

#Eine Gruppe erstellen

Eine Gruppe wird auf eine von zwei Arten erstellt: über ein Tastenkürzel oder das Kontextmenü eines Workspace. Beide fügen einen neuen Anker-Workspace oberhalb der Auswahl ein und verschieben die ausgewählten Workspaces in die Gruppe. Sobald eine Gruppe existiert, verwalten Sie sie und fügen ihr Workspaces über die Gruppenkopfzeile hinzu (siehe Verwalten einer Gruppe weiter unten).

#Über die Tastatur (⌘⇧G)

Wählen Sie zwei oder mehr Workspaces in der Seitenleiste aus und drücken Sie dann ⌘⇧G. Ein neuer Anker-Workspace wird oberhalb der Auswahl eingefügt, und alle ausgewählten Workspaces werden zu Kindern. Die Gruppe wird automatisch Group 1, Group 2 und so weiter benannt – benennen Sie sie jederzeit über das Kontextmenü der Kopfzeile um.

⌘⇧G kollidiert mit der Standardbelegung von React Grab. Der Gruppen-Handler verwendet den Tastenakkord nur, wenn es eine explizite Mehrfachauswahl von mindestens zwei Workspaces in der Seitenleiste gibt, sodass React Grab bei Einzelauswahl sowie in Browser- oder Terminalkontexten weiterhin auslöst. Belegen Sie es in Einstellungen → Tastatur neu, falls Sie nicht möchten, dass sich die beiden eine Taste teilen.

Gruppen mit nur einem Tab werden nicht über das Tastenkürzel erstellt. Verwenden Sie dafür den Eintrag „Neue Gruppe aus Arbeitsbereich“ im Kontextmenü des Arbeitsbereichs.

#Über ein Workspace-Kontextmenü

Klicken Sie mit der rechten Maustaste auf einen beliebigen Arbeitsbereich in der Seitenleiste und wählen Sie „Neue Gruppe aus Arbeitsbereich“ oder „Neue Gruppe aus Auswahl“, wenn mehrere Arbeitsbereiche ausgewählt sind. Dabei wird dasselbe automatische Benennungsverhalten wie beim Tastenkürzel verwendet.

#Verwalten einer Gruppe

Sobald eine Gruppe existiert, können Sie über das Kontextmenü ihrer Kopfzeile und die Schaltfläche + in der Kopfzeile die Gruppe verwalten und ihr Workspaces hinzufügen. Keine der beiden Aktionen erstellt eine neue Gruppe.

#Über das Kontextmenü der Gruppenkopfzeile

Klicken Sie mit der rechten Maustaste auf die Kopfzeile einer vorhandenen Gruppe für „Gruppe umbenennen …“, „Gruppe anheften“ / „Gruppe lösen“, „Gruppen-Konfiguration bearbeiten …“ (wodurch ~/.config/cmux/cmux.json geöffnet wird), „Dokumentation zu Arbeitsbereich-Gruppen öffnen“, „Gruppe auflösen (Arbeitsbereiche behalten)“ und „Gruppe löschen (Arbeitsbereiche schließen)“. Das Löschen ist destruktiv und fordert eine Bestätigung an; das Auflösen behält die Arbeitsbereiche bei und entfernt lediglich den Container.

#Über die +-Schaltfläche in einer Gruppenkopfzeile

Bewegen Sie den Mauszeiger über eine Gruppen-Kopfzeile, um eine nachgestellte +-Schaltfläche einzublenden. Klicken Sie darauf, um einen neuen Arbeitsbereich in der Gruppe im Anker-Arbeitsverzeichnis zu erstellen. Klicken Sie mit der rechten Maustaste darauf für „Neuer Arbeitsbereich in der Gruppe“, „Gruppen-Konfiguration bearbeiten …“ und „Dokumentation zu Arbeitsbereich-Gruppen öffnen“.

Das Drücken von ⌘N, während der aktive Workspace ein Gruppenanker oder -mitglied ist, erstellt den neuen Workspace ebenfalls innerhalb dieser Gruppe. Die Standardplatzierung ist After current: Von einem regulären Gruppenmitglied aus landet der neue Workspace direkt nach dem aktiven Mitglied, und vom Anker oder der Kopfzeile aus landet er oben in der Gruppe.

#CLI

Alle Gruppenoperationen lassen sich mit den cmux workspace-group Unterbefehlen skripten. Die Form mit Bindestrich wird zuerst ausgeliefert; sobald der umfassendere cmux workspace Befehls-Namensraum verfügbar ist, wird cmux workspace group zur kanonischen Form, während die Form mit Bindestrich dauerhaft als Alias erhalten bleibt.

#Unterbefehle

cmux workspace-group list [--json]
cmux workspace-group create --name "manaflow" [--cwd ~/projects/manaflow] [--from <id>,<id>]
cmux workspace-group ungroup <group-id>
cmux workspace-group delete  <group-id>
cmux workspace-group rename <group-id> --name "new name"
cmux workspace-group collapse <group-id>
cmux workspace-group expand <group-id>
cmux workspace-group pin <group-id>
cmux workspace-group unpin <group-id>
cmux workspace-group add --group <group-id> --workspace <workspace-id>
cmux workspace-group remove --workspace <workspace-id>
cmux workspace-group set-anchor --group <group-id> --workspace <workspace-id>
cmux workspace-group new-workspace <group-id> [--placement afterCurrent|top|end]
cmux workspace-group set-color <group-id> --hex "#7A4FD8"
cmux workspace-group set-icon  <group-id> --symbol ladybug.fill
cmux workspace-group move <group-id> (--to-index <n> | --before <group-id> | --after <group-id>)
cmux workspace-group focus <group-id>

create gibt ein Gruppen-Handle zurück (standardmäßig workspace_group:N). Übergeben Sie --json für die vollständige strukturierte Nutzlast.

Übergeben Sie set-color oder set-icon einen leeren Wert, um die Farbe oder das Symbol der Gruppe zu entfernen. delete ist unwiderruflich: Es schließt jeden zugehörigen Arbeitsbereich.

#Beispiele

Die aktuell ausgewählten Workspaces unter einem Namen gruppieren:

cmux workspace-group create --name manaflow

Einen neuen Workspace innerhalb einer bestehenden Gruppe starten, zum Beispiel an ein Worktree-Skript gekoppelt:

cmux workspace-group new-workspace workspace_group:1

Gruppen im fokussierten Fenster auflisten:

cmux workspace-group list

#Konfiguration

Die Konfiguration pro Gruppe befindet sich unter dem Schlüssel workspaceGroups in ~/.config/cmux/cmux.json, indiziert nach dem Arbeitsverzeichnis des Anker-Workspace. In der Konfigurationsreferenz finden Sie die unterstützten Schlüssel, einschließlich der globalen Platzierung neuer Workspaces sowie Farbe, Symbol, Platzierung und Kontextmenü-Aktionen pro Verzeichnis.

workspaceGroups Konfigurationsreferenz

#Persistenz

Gruppenname, Anker, Anheftstatus, Zusammenklappstatus, Farbe und Symbol werden zusammen mit Ihren Workspaces gespeichert und über Starts hinweg wiederhergestellt. Die Gruppenzugehörigkeit wird bei jedem Workspace gespeichert.