#Grupos de workspaces

Los grupos de workspaces te permiten anidar workspaces en secciones nombradas y plegables en la barra lateral. Cada grupo tiene un workspace de anclaje implícito, un botón + personalizable para crear nuevos workspaces dentro de él, y acciones de clic derecho para renombrar, fijar, desagrupar y editar su configuración.

#Conceptos

#Workspace de anclaje

Cada grupo pertenece a exactamente un workspace llamado el anclaje. El encabezado del grupo en la barra lateral es la representación del anclaje: no hay una fila separada para él. Al hacer clic en el área del nombre del encabezado se enfocan los paneles del anclaje; al hacer clic en el chevrón se alterna el plegado.

Los anclajes siempre son completamente nuevos cuando se crea un grupo. Nunca se promueven a partir de un workspace existente. El directorio de trabajo del anclaje se hereda del primer workspace seleccionado al agrupar una selección, o del workspace activo al crearlo mediante la CLI sin --cwd.

Cerrar el workspace de anclaje disuelve el grupo: cada uno de los demás miembros se convierte en un workspace sin agrupar y permanece en la lista de pestañas. No se cierra nada más que el propio anclaje. La aplicación muestra un cuadro de diálogo de confirmación con una opción "No volver a preguntar" antes de que esto ocurra.

#Identidad del grupo

Un grupo tiene un nombre, un icono (un SF Symbol, por defecto folder.fill) y un color personalizado opcional. Estos son independientes de las personalizaciones propias del workspace de anclaje. El color y el icono del anclaje se inicializan a partir del grupo al crearlo, pero pueden divergir posteriormente.

#Fijado

Los grupos se pueden fijar de forma independiente de los fijados de workspaces individuales. Las filas de nivel superior fijadas, ya sean workspaces individuales o grupos, permanecen por encima de las filas no fijadas. Dentro de cada nivel, los grupos y workspaces conservan el orden en que los arrastras.

La barra lateral organiza las filas de nivel superior de arriba a abajo:

  1. Filas de nivel superior fijadas (workspaces y grupos).
  2. Filas de nivel superior no fijadas (workspaces y grupos).

#Crear un grupo

Un grupo se crea de una de dos maneras: mediante un atajo de teclado o el menú contextual de un workspace. Ambas opciones insertan un nuevo workspace ancla por encima de la selección y mueven los workspaces seleccionados al grupo. Una vez que existe un grupo, lo gestionas y le agregas workspaces desde el encabezado del grupo (consulta Gestionar un grupo más abajo).

#Desde el teclado (⌘⇧G)

Selecciona dos o más workspaces en la barra lateral y luego presiona ⌘⇧G. Se inserta un nuevo workspace de anclaje encima de la selección y todos los workspaces seleccionados se convierten en hijos. El grupo se nombra automáticamente como Group 1, Group 2, y así sucesivamente; renómbralo en cualquier momento mediante el menú contextual del encabezado.

⌘⇧G entra en conflicto con el predeterminado de React Grab. El gestor de grupos solo consume la combinación cuando hay una multiselección explícita en la barra lateral de al menos dos workspaces, por lo que React Grab sigue activándose en selecciones individuales y en contextos de navegador o terminal. Reasígnalo en Configuración → Teclado si prefieres que ambos no compartan una tecla.

Los grupos de una sola pestaña no se crean desde el atajo. Para ello, usa la entrada Nuevo grupo desde el espacio de trabajo del menú contextual del espacio de trabajo.

#Desde el menú contextual de un workspace

Haz clic derecho en cualquier espacio de trabajo de la barra lateral y elige Nuevo grupo desde el espacio de trabajo, o Nuevo grupo desde la selección cuando haya varios espacios de trabajo seleccionados. Esto usa el mismo comportamiento de nombrado automático que el atajo.

#Gestionar un grupo

Una vez que existe un grupo, el menú contextual de su encabezado y el botón + del encabezado te permiten gestionar el grupo y agregarle workspaces. Ninguno de los dos crea un grupo nuevo.

#Desde el menú contextual del encabezado del grupo

Haz clic derecho en el encabezado de un grupo existente para Renombrar grupo…, Fijar grupo / Quitar fijación del grupo, Editar configuración del grupo… (que abre ~/.config/cmux/cmux.json), Abrir documentación de grupos de espacios de trabajo, Desagrupar (conservar espacios de trabajo) y Eliminar grupo (cerrar espacios de trabajo). Eliminar es destructivo y pide confirmación; desagrupar conserva los espacios de trabajo y solo elimina el contenedor.

#Desde el botón + en el encabezado de un grupo

Pasa el cursor sobre el encabezado de un grupo para mostrar un botón + al final. Haz clic en él para crear un nuevo espacio de trabajo en el grupo en el directorio de trabajo del ancla. Haz clic derecho en él para Nuevo espacio de trabajo en el grupo, Editar configuración del grupo… y Abrir documentación de grupos de espacios de trabajo.

Presionar ⌘N mientras el workspace activo es un anclaje o miembro de un grupo también crea el nuevo workspace dentro de ese grupo. La ubicación predeterminada es After current: desde un miembro normal del grupo, el nuevo workspace queda justo después del miembro activo, y desde el anclaje o el encabezado queda en la parte superior del grupo.

#CLI

Todas las operaciones de grupo se pueden automatizar con los subcomandos cmux workspace-group. La forma con guion se publica primero; una vez que llegue el espacio de nombres de comandos más amplio cmux workspace, cmux workspace group pasará a ser la forma canónica, manteniéndose la forma con guion como alias para siempre.

#Subcomandos

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 devuelve un identificador de grupo (workspace_group:N por defecto). Pasa --json para obtener el payload estructurado completo.

Pasa a set-color o set-icon un valor vacío para borrar el color o el icono del grupo. delete es irreversible: cierra todos los espacios de trabajo miembros.

#Ejemplos

Agrupa los workspaces seleccionados actualmente bajo un nombre:

cmux workspace-group create --name manaflow

Crea un nuevo workspace dentro de un grupo existente, por ejemplo conectado a un script de worktree:

cmux workspace-group new-workspace workspace_group:1

Lista los grupos en la ventana enfocada:

cmux workspace-group list

#Configuración

La configuración por grupo se encuentra bajo la clave workspaceGroups en ~/.config/cmux/cmux.json, indexada por el directorio de trabajo del workspace ancla. Consulta la referencia de configuración para conocer las claves admitidas, incluida la ubicación global de nuevos workspaces y el color, el icono, la ubicación y las acciones del menú contextual por directorio.

referencia de configuración de workspaceGroups

#Persistencia

El nombre del grupo, el anclaje, el estado de fijado, el estado de plegado, el color y el icono se guardan junto con tus workspaces y se restauran entre lanzamientos. La pertenencia al grupo se almacena en cada workspace.