#Групи робочих просторів

Групи робочих просторів дозволяють вкладати робочі простори у згортувані іменовані розділи на бічній панелі. Кожна група має неявний якірний робочий простір, налаштовувану кнопку + для створення нових робочих просторів усередині неї та дії правою кнопкою миші для перейменування, закріплення, розгрупування й редагування її конфігурації.

#Концепції

#Якірний робочий простір

Кожна група належить рівно одному робочому простору, який називається якорем. Заголовок групи на бічній панелі — це представлення якоря; для нього немає окремого рядка. Натискання на область імені заголовка фокусує панелі якоря; натискання на стрілку перемикає згортання.

Якорі завжди абсолютно нові під час створення групи. Вони ніколи не підвищуються з наявного робочого простору. Робочий каталог якоря успадковується від першого вибраного робочого простору під час групування виділення або від активного робочого простору під час створення через CLI без --cwd.

Закриття якірного робочого простору розпускає групу: кожен інший учасник стає незгрупованим робочим простором і залишається у списку вкладок. Нічого, окрім самого якоря, не закривається. Перед цим застосунок показує діалог підтвердження з перемикачем «Не питати знову».

#Ідентичність групи

Група має назву, іконку (SF Symbol, за замовчуванням folder.fill) та необов'язковий власний колір. Вони незалежні від власних налаштувань якірного робочого простору. Колір та іконка якоря беруться з групи під час створення, але згодом можуть розходитися.

#Закріплення

Групи можна закріплювати незалежно від закріплень окремих робочих просторів. Закріплені рядки верхнього рівня, як окремі робочі простори, так і групи, залишаються над незакріпленими рядками. У межах кожного рівня групи та робочі простори зберігають порядок, у якому ви їх перетягнули.

Бічна панель розташовує рядки верхнього рівня згори донизу:

  1. Закріплені рядки верхнього рівня (робочі простори та групи).
  2. Незакріплені рядки верхнього рівня (робочі простори та групи).

#Створення групи

Групу можна створити одним із двох способів: за допомогою комбінації клавіш або контекстного меню робочого простору. В обох випадках над виділенням вставляється новий опорний робочий простір, а вибрані робочі простори переміщуються до групи. Після створення групи ви керуєте нею та додаєте до неї робочі простори із заголовка групи (див. «Керування групою» нижче).

#З клавіатури (⌘⇧G)

Виберіть два або більше робочих просторів на бічній панелі, потім натисніть ⌘⇧G. Новий якірний робочий простір вставляється над виділенням, і всі вибрані робочі простори стають дочірніми. Група автоматично називається Group 1, Group 2 тощо — перейменуйте її будь-коли через контекстне меню заголовка.

⌘⇧G конфліктує зі значенням за замовчуванням React Grab. Обробник групи споживає комбінацію лише тоді, коли на бічній панелі є явне множинне виділення щонайменше двох робочих просторів, тож React Grab усе одно спрацьовує під час одиночного виділення та в контекстах браузера чи терміналу. Перепризначте її в Settings → Keyboard, якщо ви не хочете, щоб ці дві дії спільно використовували клавішу.

Групи з однієї вкладки не створюються за допомогою комбінації клавіш. Для цього скористайтеся пунктом контекстного меню робочої області «Нова група з робочої області».

#З контекстного меню робочого простору

Клацніть правою кнопкою миші будь-яку робочу область на бічній панелі та виберіть «Нова група з робочої області», або «Нова група з вибраного», коли вибрано кілька робочих областей. Тут використовується та сама поведінка автоматичного іменування, що й для комбінації клавіш.

#Керування групою

Після створення групи контекстне меню її заголовка та кнопка + у заголовку дають змогу керувати групою й додавати до неї робочі простори. Жодна з цих дій не створює нову групу.

#З контекстного меню заголовка групи

Клацніть правою кнопкою миші заголовок наявної групи, щоб отримати «Перейменувати групу…», «Закріпити групу» / «Відкріпити групу», «Редагувати конфігурацію групи…» (яка відкриває ~/.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

#Збереження

Назва групи, якір, стан закріплення, стан згортання, колір та іконка зберігаються разом із вашими робочими просторами й відновлюються між запусками. Належність до групи зберігається в кожному робочому просторі.