#Группы рабочих пространств
Группы рабочих пространств позволяют вкладывать рабочие пространства в сворачиваемые именованные секции на боковой панели. У каждой группы есть неявное якорное рабочее пространство, настраиваемая кнопка + для создания новых рабочих пространств внутри неё и действия по правому клику для переименования, закрепления, разгруппировки и редактирования конфигурации.
#Концепции
#Якорное рабочее пространство
Каждая группа принадлежит ровно одному рабочему пространству, называемому якорем. Заголовок группы на боковой панели — это представление якоря; отдельной строки для него нет. Клик по области имени в заголовке фокусирует панели якоря; клик по шеврону сворачивает или разворачивает группу.
Якоря всегда создаются с нуля при создании группы. Они никогда не повышаются из существующего рабочего пространства. Рабочий каталог якоря наследуется от первого выбранного рабочего пространства при группировке выделения или от активного рабочего пространства при создании через CLI без --cwd.
Закрытие якорного рабочего пространства распускает группу: все остальные участники становятся несгруппированными рабочими пространствами и остаются в списке вкладок. Кроме самого якоря ничего не закрывается. Перед этим приложение показывает диалог подтверждения с переключателем «Больше не спрашивать».
#Идентичность группы
У группы есть имя, значок (SF Symbol, по умолчанию folder.fill) и необязательный пользовательский цвет. Они независимы от собственных настроек якорного рабочего пространства. Цвет и значок якоря при создании берутся из группы, но затем могут разойтись.
#Закрепление
Группы можно закреплять независимо от закрепления отдельных рабочих пространств. Закреплённые строки верхнего уровня, будь то отдельные рабочие пространства или группы, остаются выше незакреплённых строк. Внутри каждого уровня группы и рабочие пространства сохраняют порядок, в котором вы их перетащили.
Боковая панель располагает строки верхнего уровня сверху вниз:
- Закреплённые строки верхнего уровня (рабочие пространства и группы).
- Незакреплённые строки верхнего уровня (рабочие пространства и группы).
#Создание группы
Группу можно создать одним из двух способов: с помощью сочетания клавиш или через контекстное меню рабочего пространства. В обоих случаях над выделением вставляется новое опорное рабочее пространство, а выбранные рабочие пространства перемещаются в группу. После создания группы вы управляете ею и добавляете в неё рабочие пространства из заголовка группы (см. «Управление группой» ниже).
#С клавиатуры (⌘⇧G)
Выберите два или более рабочих пространства на боковой панели, затем нажмите ⌘⇧G. Новое якорное рабочее пространство вставляется над выделением, и все выбранные рабочие пространства становятся дочерними. Группе автоматически присваивается имя Group 1, Group 2 и так далее — переименуйте её в любой момент через контекстное меню заголовка.
Группы из одной вкладки не создаются с помощью этого сочетания клавиш. Для этого используйте пункт «Новая группа из этого пространства» в контекстном меню рабочего пространства.
#Из контекстного меню рабочего пространства
Щёлкните правой кнопкой мыши по любому рабочему пространству на боковой панели и выберите «Новая группа из этого пространства» или «Новая группа из выделения», когда выбрано несколько рабочих пространств. При этом используется то же поведение автоматического именования, что и для сочетания клавиш.
#Управление группой
После создания группы контекстное меню её заголовка и кнопка + в заголовке позволяют управлять группой и добавлять в неё рабочие пространства. Ни одно из этих действий не создаёт новую группу.
#Из контекстного меню заголовка группы
Щёлкните правой кнопкой мыши по заголовку существующей группы, чтобы вызвать пункты «Переименовать группу…», «Закрепить группу» / «Открепить группу», «Изменить конфигурацию группы…» (открывает ~/.config/cmux/cmux.json), «Открыть документацию по группам», «Разгруппировать (сохранить рабочие пространства)» и «Удалить группу (закрыть рабочие пространства)». Удаление необратимо и запрашивает подтверждение; разгруппировка сохраняет рабочие пространства и просто удаляет контейнер.
#С кнопки + на заголовке группы
Наведите курсор на заголовок группы, чтобы появилась кнопка + в конце. Нажмите её, чтобы создать новое рабочее пространство в группе в якорном рабочем каталоге. Щёлкните по ней правой кнопкой мыши для пунктов «Новое рабочее пространство в группе», «Изменить конфигурацию группы…» и «Открыть документацию по группам».
Нажатие ⌘N, когда активное рабочее пространство является якорем или участником группы, также создаёт новое рабочее пространство внутри этой группы. Размещение по умолчанию — After current: из обычного участника группы новое рабочее пространство появляется сразу после активного участника, а из якоря или заголовка — в начале группы.
#CLI
Все операции с группами можно автоматизировать с помощью подкоманд cmux workspace-group. Форма с дефисом выходит первой; как только появится более широкое пространство имён команд cmux workspace, cmux workspace group станет канонической формой, а форма с дефисом навсегда сохранится как псевдоним.
#Подкоманды
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 возвращает дескриптор группы (по умолчанию workspace_group:N). Передайте --json для полной структурированной полезной нагрузки.
Передайте set-color или set-icon пустое значение, чтобы сбросить цвет или значок группы. delete необратима: она закрывает каждое входящее в группу рабочее пространство.
#Примеры
Сгруппировать выбранные сейчас рабочие пространства под одним именем:
cmux workspace-group create --name manaflowСоздать новое рабочее пространство внутри существующей группы, например привязанное к скрипту worktree:
cmux workspace-group new-workspace workspace_group:1Перечислить группы в активном окне:
cmux workspace-group list#Конфигурация
Конфигурация для каждой группы находится под ключом workspaceGroups в ~/.config/cmux/cmux.json и индексируется по рабочему каталогу опорного рабочего пространства. Список поддерживаемых ключей, включая глобальное размещение новых рабочих пространств, а также цвет, значок, размещение и действия контекстного меню для каждого каталога, см. в справочнике по конфигурации.
справочник по конфигурации workspaceGroups
#Сохранение
Имя группы, якорь, состояние закрепления, состояние сворачивания, цвет и значок сохраняются вместе с вашими рабочими пространствами и восстанавливаются между запусками. Принадлежность к группе хранится в каждом рабочем пространстве.