feat(mirada): el cursor toma la forma que pide el cliente
El cursor dejaba de ser un cuadrado fijo. Ahora honra `wl_pointer.set_cursor`: sobre el texto de una terminal sale la «I», sobre un enlace la mano, etc. — la forma la dibuja el cliente en una superficie y el compositor la compone. - `App` guarda un `cursor_status: CursorImageStatus`; el handler `SeatHandler::cursor_image` lo actualiza. - `render()` lo interpreta: `Surface` → compone el árbol de la superficie del cursor en `pointer_loc - hotspot` (helper `cursor_hotspot`, vía `CursorImageSurfaceData`); `Named` o sin tema → el cuadrado de siempre; `Hidden` → nada. - Sobre el escritorio pelado (sin cliente debajo) el cursor vuelve al de por defecto, para que no se quede con la «I» de la última ventana. - La superficie del cursor también recibe frame-callbacks (cursores animados). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -1001,7 +1001,7 @@
|
||||
MIRADA_SOCKET=/tmp/mirada.sock cargo run -p mirada-compositor # enlazado: la app mirada (Cerebro GPUI) decide la geometría
|
||||
cargo run -p mirada-compositor -- --drm # nativo sobre TTY (MIRADA_STARTUP=foot lanza un cliente al arrancar)
|
||||
Habla wl_compositor/xdg_shell/wl_shm/wl_seat/wl_data_device; compone con GlesRenderer. Reusa mirada-body y mirada-link.
|
||||
En --drm el ratón pinta un cursor de software, el foco sigue al puntero y clics/rueda van a la ventana debajo.
|
||||
En --drm el foco sigue al puntero y clics/rueda van a la ventana debajo; el cursor toma la forma del cliente.
|
||||
Cada ventana lleva un marco fino: azul la enfocada, gris las demás.
|
||||
Super+arrastre mueve la ventana (botón izq.) o la redimensiona (der.) — al arrastrarla pasa a flotar.
|
||||
Fuerza xdg-decoration ServerSide y no dibuja marco: las ventanas teseladas van sin barra de título.
|
||||
|
||||
Reference in New Issue
Block a user