Panel de gestos
El panel de gestos es un disco flotante al alcance del pulgar para trabajar sin teclado físico: deslízalo para lanzar macros por app — o, cuando un agente de código está esperando, las opciones reales de su pregunta — y toca dos veces para dictar. En el iPhone es entrada principal y está activado por omisión; en el iPad hay que activarlo, en ajustes → experimental → panel de gestos.
El disco
- esquina por omisión — dónde se sitúa el disco al arrancar en frío, hasta que lo muevas; se recuerda la última posición y se reajusta cuando cambian la orientación o el tamaño de la pantalla.
- tamaño del disco — compacto (44 pt), estándar (52 pt) o grande (64 pt).
- pulsación larga levanta el disco; se queda donde lo sueltes (siempre completamente en pantalla).
En el iPhone el radial se dibuja como un abanico en la esquina — los mismos pétalos en un arco de un cuarto, dentro del alcance del pulgar — y se oculta en horizontal mientras el teclado está visible. El tamaño de disco grande es solo para iPad.
Gestos
Tres gestos diferenciados:
- tocar, mantener y arrastrar — abre el menú radial alrededor del disco. Suelta en una dirección para lanzar esa macro; suelta en la zona muerta para cancelar.
- doble toque — inicia el dictado.
- pulsación larga — mueve el disco.
Perfiles
Los pétalos del radial salen de los perfiles, que se comparan con el
proceso en primer plano del panel activo (mediante pane_current_command de
tmux, o instantáneas de ps en ssh simple). Los perfiles se evalúan de arriba
abajo; gana la primera coincidencia.
Perfiles integrados:
| perfil | derecha | izquierda | arriba |
|---|---|---|---|
| claude code | 1↵ aprobar |
3↵ denegar |
2↵ siempre |
| codex cli | y |
esc |
p |
| fallback (siempre activo) | — | — | — |
El perfil fallback coincide con todo y no asigna nada — el dictado sigue funcionando.
Los perfiles personalizados llevan un comparador de proceso (texto literal o
un patrón regex:) y pueden declarar reglas de detección de agentes
— regexes de prompts bloqueantes o inactivos, una regex de las opciones de
menú y plantillas de respuesta con los marcadores {index} / {shortcut} —
que también alimentan el centro de agentes. Un perfil con
reglas no válidas se degrada a «estado no disponible».
Las etiquetas de los pétalos siguen los roles de la pregunta del agente: derecha = aprobar, izquierda = denegar, arriba = siempre, abajo = abajo; los pétalos sin asignar se ocultan.
Opciones de agente en vivo
Con el centro de agentes activado y su hook de estado instalado en el host, el panel deja de adivinar: mientras un agente de Claude Code o Codex está esperando entrada en el panel enfocado, los pétalos muestran las opciones reales de la pregunta — etiquetas tomadas del propio menú, teñidas según su significado (verde aprobar, rojo denegar, ámbar siempre) — y el disco palpita en ámbar. Mientras el agente está trabajando, el panel ofrece un pétalo rojo de interrupción (esc) y un pétalo neutro de cambio de modo (shift-tab).
Cuando una pregunta tiene más opciones que direcciones tiene el panel, un pétalo más abre la pregunta completa en el centro de agentes — y cualquier opción que hayas entrenado en una dirección conserva esa dirección, así que los deslizamientos a ciegas que ya dominas siguen significando lo mismo de siempre. Sin la prueba del hook, el panel vuelve a los perfiles estáticos de arriba.
El lenguaje de las macros
Las macros se escriben con una pequeña definición:
- los caracteres literales se envían tal cual,
↵para Intro,esc,\eo\x1bpara Escape,shift-tabpara Mayúsculas-Tabulador,\t(otab),\r,\n,\xNNpara un byte arbitrario en hexadecimal.
Dictado
Toca dos veces el disco para dictar en el terminal. El reconocimiento ocurre en el dispositivo (SFSpeechRecognizer) — ningún audio sale del dispositivo. Usa el idioma de tu dispositivo y recurre a en-US cuando el reconocimiento en el dispositivo no está disponible para él, y requiere los permisos de micrófono y de reconocimiento de voz. Mientras dictas, el disco se transforma en una píldora de micrófono con una onda en vivo y un contador de tiempo; toca para confirmar, ✕ para cancelar.
Opciones (ajustes → experimental):
- confirmar tras el silencio — envío automático tras 1,2 s de silencio,
- añadir un retorno — terminar con Intro,
- onda en directo en el disco.