#Grupy workspace'ów
Grupy workspace'ów pozwalają zagnieżdżać workspace'y w zwijanych, nazwanych sekcjach w pasku bocznym. Każda grupa ma niejawny kotwicowy workspace, konfigurowalny przycisk + do tworzenia nowych workspace'ów w jej wnętrzu oraz akcje dostępne po kliknięciu prawym przyciskiem do zmiany nazwy, przypinania, rozgrupowywania i edycji jej konfiguracji.
#Koncepty
#Kotwicowy workspace
Każda grupa należy do dokładnie jednego workspace'a zwanego kotwicą. Nagłówek grupy w pasku bocznym jest reprezentacją kotwicy — nie ma dla niej osobnego wiersza. Kliknięcie obszaru nazwy w nagłówku ustawia fokus na panelach kotwicy; kliknięcie strzałki przełącza zwinięcie.
Kotwice są zawsze całkowicie nowe w momencie utworzenia grupy. Nigdy nie są awansowane z istniejącego workspace'a. Katalog roboczy kotwicy jest dziedziczony z pierwszego zaznaczonego workspace'a przy grupowaniu zaznaczenia lub z aktywnego workspace'a przy tworzeniu za pomocą CLI bez --cwd.
Zamknięcie kotwicowego workspace'a rozwiązuje grupę: każdy pozostały członek staje się niezgrupowanym workspace'em i pozostaje na liście kart. Nic poza samą kotwicą nie jest zamykane. Przed tym aplikacja wyświetla okno potwierdzenia z przełącznikiem „Nie pytaj ponownie”.
#Tożsamość grupy
Grupa ma nazwę, ikonę (SF Symbol, domyślnie folder.fill) oraz opcjonalny niestandardowy kolor. Są one niezależne od własnych dostosowań kotwicowego workspace'a. Kolor i ikona kotwicy są przy tworzeniu inicjowane z grupy, ale później mogą się różnić.
#Przypinanie
Grupy można przypinać niezależnie od przypięć poszczególnych workspace'ów. Przypięte wiersze najwyższego poziomu, niezależnie od tego, czy są to pojedyncze workspace'y, czy grupy, pozostają nad wierszami nieprzypiętymi. W obrębie każdego poziomu grupy i workspace'y zachowują kolejność, w jakiej je przeciągniesz.
Pasek boczny układa wiersze najwyższego poziomu od góry do dołu:
- Przypięte wiersze najwyższego poziomu (workspace'y i grupy).
- Nieprzypięte wiersze najwyższego poziomu (workspace'y i grupy).
#Tworzenie grupy
Grupę można utworzyć na jeden z dwóch sposobów: za pomocą skrótu klawiszowego lub menu kontekstowego workspace’u. Oba wstawiają nowy workspace kotwiczący nad zaznaczeniem i przenoszą zaznaczone workspace’y do grupy. Gdy grupa już istnieje, zarządzasz nią i dodajesz do niej workspace’y z nagłówka grupy (zobacz Zarządzanie grupą poniżej).
#Z klawiatury (⌘⇧G)
Zaznacz dwa lub więcej workspace'ów w pasku bocznym, a następnie naciśnij ⌘⇧G. Nad zaznaczeniem zostaje wstawiony nowy kotwicowy workspace, a wszystkie zaznaczone workspace'y stają się jego elementami podrzędnymi. Grupa otrzymuje automatyczną nazwę Group 1, Group 2 i tak dalej — możesz ją zmienić w dowolnej chwili z menu kontekstowego nagłówka.
Grupy jednokartowe nie są tworzone za pomocą skrótu. W tym celu użyj pozycji „Nowa grupa z przestrzeni” w menu kontekstowym przestrzeni roboczej.
#Z menu kontekstowego workspace'a
Kliknij prawym przyciskiem dowolną przestrzeń roboczą na pasku bocznym i wybierz „Nowa grupa z przestrzeni” lub „Nowa grupa z zaznaczenia”, gdy zaznaczono wiele przestrzeni roboczych. Wykorzystuje to to samo automatyczne nazewnictwo co skrót.
#Zarządzanie grupą
Gdy grupa już istnieje, menu kontekstowe jej nagłówka oraz przycisk + w nagłówku umożliwiają zarządzanie grupą i dodawanie do niej workspace’ów. Żadne z nich nie tworzy nowej grupy.
#Z menu kontekstowego nagłówka grupy
Kliknij prawym przyciskiem nagłówek istniejącej grupy, aby uzyskać dostęp do „Zmień nazwę grupy…”, „Przypnij grupę / Odepnij grupę”, „Edytuj konfigurację grupy…” (które otwiera ~/.config/cmux/cmux.json), „Otwórz dokumentację grup przestrzeni”, „Rozgrupuj (zachowaj przestrzenie)” oraz „Usuń grupę (zamknij przestrzenie)”. Usuwanie jest destrukcyjne i wymaga potwierdzenia; rozgrupowanie zachowuje przestrzenie robocze i jedynie usuwa kontener.
#Z przycisku + na nagłówku grupy
Najedź na nagłówek grupy, aby odsłonić końcowy przycisk +. Kliknij go, aby utworzyć nową przestrzeń roboczą w grupie w katalogu roboczym kotwicy. Kliknij go prawym przyciskiem, aby uzyskać dostęp do „Nowa przestrzeń w grupie”, „Edytuj konfigurację grupy…” oraz „Otwórz dokumentację grup przestrzeni”.
Naciśnięcie ⌘N, gdy aktywny workspace jest kotwicą lub członkiem grupy, również tworzy nowy workspace wewnątrz tej grupy. Domyślne umiejscowienie to After current: z poziomu zwykłego członka grupy nowy workspace pojawia się tuż za aktywnym członkiem, a z poziomu kotwicy lub nagłówka pojawia się na górze grupy.
#CLI
Wszystkie operacje na grupach można skryptować za pomocą podkomend cmux workspace-group. Forma z łącznikiem pojawia się jako pierwsza; gdy tylko pojawi się szersza przestrzeń nazw poleceń cmux workspace, cmux workspace group stanie się formą kanoniczną, a forma z łącznikiem zostanie na zawsze zachowana jako alias.
#Podpolecenia
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 zwraca uchwyt grupy (domyślnie workspace_group:N). Przekaż --json, aby uzyskać pełny, ustrukturyzowany ładunek.
Przekaż do set-color lub set-icon pustą wartość, aby wyczyścić kolor lub ikonę grupy. delete jest nieodwracalne: zamyka każdą przestrzeń roboczą należącą do grupy.
#Przykłady
Zgrupuj aktualnie zaznaczone workspace'y pod jedną nazwą:
cmux workspace-group create --name manaflowUtwórz nowy workspace wewnątrz istniejącej grupy, na przykład powiązany ze skryptem worktree:
cmux workspace-group new-workspace workspace_group:1Wyświetl listę grup w aktywnym oknie:
cmux workspace-group list#Konfiguracja
Konfiguracja poszczególnych grup znajduje się pod kluczem workspaceGroups w ~/.config/cmux/cmux.json, indeksowana według katalogu roboczego kotwicowego workspace. Obsługiwane klucze, w tym globalne rozmieszczanie nowych workspace oraz kolor, ikonę, rozmieszczenie i akcje menu kontekstowego dla poszczególnych katalogów, znajdziesz w dokumentacji konfiguracji.
dokumentacja konfiguracji workspaceGroups
#Trwałość
Nazwa grupy, kotwica, stan przypięcia, stan zwinięcia, kolor i ikona są zapisywane razem z Twoimi workspace'ami i przywracane między uruchomieniami. Przynależność do grupy jest przechowywana w każdym workspace'ie.