Manual / Documentación actual del escritorio

Aplicaciones e instalación

Walker, búsqueda global, desinstalación, pacman, AUR y herramientas opcionales.

Este es el Manual del escritorio, publicado desde el mismo catálogo generado. Los botones, paneles y menús se refieren al escritorio instalado. Las actualizaciones pueden ser más recientes que la ISO disponible. Consulta el alcance de instalación y validación.

Antes de instalar paquetes oficiales, el terminal indica que está buscando actualizaciones pendientes del sistema. Esta comprobación puede tardar un poco antes de pedirte la contraseña de administrador. Las instalaciones con Flatpak también muestran su etapa de preparación. Si hay actualizaciones pendientes, explica por qué: Arch solo instala apps en un sistema actualizado, e instalar ahora también actualizaría parte del sistema sin una instantánea de recuperación. Enter ejecuta Actualización del sistema con su instantánea y luego instala; Esc cancela sin cambiar nada.

SUPER + Space y Principal > Aplicaciones abren la misma lista. Enter inicia una aplicación. Delete está disponible en Aplicaciones y pide confirmar la desinstalación. La búsqueda global con SUPER + F abre aplicaciones sin ofrecer desinstalarlas. No hay un menú separado de aplicaciones fijadas.

Escribir en el menú principal busca aplicaciones instaladas y acciones de todos los submenús. Dentro de un submenú, como Sistema o Instalar, busca en él y todos sus descendientes. Las distribuciones de teclado y lo que hay bajo una cuenta en la nube (servicios, recursos, registros) solo se buscan dentro de su propio menú; las listas de cuentas en la nube siguen en la búsqueda. Las filas de submenú terminan en >; Shift + Backspace vuelve al menú superior.

Los menús dinámicos también buscan acciones secundarias ya cargadas, como las de un plugin instalado o una cuenta Git. La búsqueda reutiliza lo que cargó el menú; abre el selector de recursos o Visuales para buscar opciones que requieren otra lectura del proveedor.

Instalar

Pulsa Delete en una entrada instalada de las listas de aplicaciones y herramientas de Instalar para desinstalarla tras confirmar. Aplicaciones web conserva su acción de eliminación. En las listas de paquetes (Pacman y Yay), Ctrl+D elimina el paquete instalado resaltado tras confirmar. Ctrl+F alterna entre los instalados y todos. Los paquetes de Eitr permanecen instalados. Nunca se eliminan dependencias necesarias del sistema de forma recursiva; pacman rechaza las eliminaciones que romperían otro paquete.

Los paquetes de lenguajes gestionados muestran el aviso completo de eliminación en un terminal antes de pedir confirmación con [y/N]; Enter cancela. Eliminar Node incluye todas las versiones gestionadas por NVM y sus herramientas npm globales. Eliminar Python afecta a las versiones gestionadas por uv y al propio uv, no a Python del sistema. Java elimina las versiones actuales de Java y Maven en SDKMAN; Rust elimina solo su cadena de herramientas estable. Rails y Laravel eliminan sus herramientas de framework y conservan Ruby, PHP y Composer. Se conservan tus proyectos, la configuración y las credenciales, pero algunas herramientas y entornos dependientes podrían dejar de funcionar. La eliminación de asistentes nativos conserva las versiones en caché y la configuración.

Las aplicaciones presentes muestran Instalado bajo el nombre; elegirlas lo indica en vez de reinstalarlas. También se reconocen herramientas instaladas por sus propios gestores, como Java mediante SDKMAN o Node.js mediante NVM. Los paquetes que necesitan un entorno de ejecución, como Java para DBeaver, añaden uno pequeño solo si ningún paquete lo proporciona aún.

  • CLI de IA: clientes opcionales de IA por línea de comandos.
  • Navegadores: opciones compatibles de navegador.
  • Bases de datos: herramientas opcionales como DBeaver, clientes de bases de datos y Valkey, el servidor compatible con Redis que Arch distribuye en su lugar.
  • Lenguajes de desarrollo: herramientas opcionales; Java/Flutter no son dependencias obligatorias del escritorio.
  • Herramientas de JavaScript: entornos de ejecución y herramientas opcionales de JavaScript.
  • Paquetes > Pacman y Paquetes > Yay (AUR): busca paquetes oficiales de Arch o comunitarios de AUR, indicando origen y estado de instalación. La búsqueda está arriba, los paquetes debajo y los detalles de la selección al final. Ctrl+B alterna al archivo de compilación (PKGBUILD), Ctrl+O abre su página en el navegador, Tab selecciona varios y Enter instala. Los paquetes de AUR se compilan en este equipo a partir de ese archivo: revísalo primero. No son paquetes oficiales de Arch.

Las terminales de instalación, actualización y configuración muestran el banner de EITR con el tema actual. Las tareas correctas suelen cerrarse; los fallos quedan visibles. Informes como Limpieza permanecen abiertos para leerlos. Las terminales normales y Acerca de no muestran el banner.

Pulsa Esc para cerrar los terminales de tareas, cuentas, informes y Acerca de que esperan una tecla. Enter sigue sirviendo para respuestas y confirmaciones, como confirmar que has anotado la clave de recuperación y apagar el instalador.

Usa eitr package install NAME para un paquete oficial, eitr package install --aur NAME para AUR o eitr package remove NAME para eliminarlo. Se requiere una terminal. La revisión muestra el paquete y su origen: Enter confirma y Esc cancela. En AUR, Ctrl+B muestra el archivo de compilación (q vuelve) y Ctrl+O abre el repositorio. Los paquetes comunitarios de AUR no están revisados por Eitr ni Arch Linux. Los paquetes ya instalados terminan correctamente. Los errores permanecen hasta pulsar Esc. Los plugins pueden usar kitty --class eitr-menu-terminal -e eitr package install --aur lowfi.

Herramientas

Calculadora en Aplicaciones, o la tecla de calculadora, abre la calculadora de Eitr con los colores del tema. Escribe o pulsa: + − × ÷, ^ para potencias, % para porcentaje (200×15%), √ y paréntesis. Un número antes de un paréntesis multiplica (2(3+4)). Enter muestra el resultado, Backspace borra un carácter, Escape limpia (dos veces cierra) y Ctrl+C o Copiar copia el resultado. Calcula la expresión sin ejecutarla como código.

Dictado sin conexión convierte voz a texto sin enviarla fuera del equipo. Mantén SUPER + D, habla y suelta: las palabras se escriben en el cursor, en el idioma hablado. También puedes pulsar SUPER + D, hablar y volver a pulsarlo. Al escuchar, el punto rojo a la izquierda del reloj se convierte en una pequeña onda que sigue tu voz para confirmar que la capta; al soltar, pulsa hasta escribir el texto. El primer uso descarga una sola vez el modelo de voz (148 MB, comprobado con su checksum publicado) en ~/.local/share/eitr/whisper/; después funciona sin conexión. Transcribir tarda un momento al soltar, más con procesadores antiguos. La grabación termina al soltar D, aunque hayas soltado SUPER antes, o después de 120 segundos; las palabras se transcriben como de costumbre.

Principal > Herramientas > Recordatorios > Nuevo recordatorio pide cuándo (un intervalo como 10m o 1h30m, o una hora como 18:30) y el contenido; muestra entonces una notificación con botones para posponer o descartar. Próximos recordatorios lista los pendientes; elige uno para cancelarlo. Sobreviven a reinicios; los vencidos con el equipo apagado aparecen al iniciar sesión. En la terminal: eitr remind 25m Take the tea out; eitr remind solo los lista.

Juegos

Principal > Juegos muestra GeForce NOW, RetroArch y Steam. Elegir uno lo abre si está instalado, o lo instala si no. RetroArch viene de los paquetes oficiales de Arch con núcleos para NES, SNES, Game Boy y Game Boy Advance, Mega Drive/Genesis, PlayStation, Nintendo 64, Nintendo DS, PSP y Dreamcast. Añade tus juegos y, cuando una consola los requiera, sus archivos BIOS; Eitr no distribuye ninguno. GeForce NOW se instala con Flatpak.

Acciones rápidas > Modo de juego reduce interferencias del escritorio: desactiva animaciones, desenfoque y sombras, aplaza notificaciones emergentes (No molestar) y activa el perfil de rendimiento cuando existe. Desactivarlo restaura exactamente sus cambios. Steam incluye GameMode y MangoHud: añade gamemoderun mangohud %command% a las opciones de lanzamiento del juego en Steam para optimizar la CPU y mostrar la superposición de FPS.

El paquete de LocalSend incluye sus requisitos de ejecución; no necesitas Flutter SDK solo para usarlo. Las herramientas de desarrollo siguen siendo opcionales.

Consulta Actualizaciones y limpieza para actualizar; instalar un paquete no equivale a la Actualización del sistema protegida por instantáneas.

Visualizador de música abre cava con los colores del tema. Haz clic derecho en el ecualizador multimedia para abrirlo; el clic izquierdo sigue abriendo los detalles multimedia. Pulsa q o Esc para cerrarlo. Si falta cava, se instala primero.

Cuando un monitor conectado admite HDR, Eitr usa Wayland y HDR por defecto para los juegos Proton de Steam con PROTON_ENABLE_WAYLAND=1, PROTON_ENABLE_HDR=1 y DXVK_HDR=1. Sin monitor HDR se mantienen los valores existentes. La detección de hardware actualiza la configuración de pantallas generada al listar o cambiar pantallas y antes de cargarla al iniciar sesión o recargar. Inicia una nueva sesión de escritorio y reinicia Steam para heredar cambios; Steam ya abierto conserva su entorno. Activa HDR dentro del juego; los juegos a pantalla completa pueden cambiar el monitor automáticamente aunque el HDR del escritorio esté desactivado. Algunos juegos pierden la superposición de Steam en Wayland. Para excluir un juego, usa PROTON_ENABLE_WAYLAND=0 %command% en sus opciones de lanzamiento de Steam. Para calibrar un juego, ajusta su brillo máximo o de pico al pico HDR que indican las especificaciones de tu monitor (un monitor DisplayHDR 400 llega a unos 400 nits) y luego ajusta el blanco de papel o el brillo general a tu gusto. Si las zonas claras pierden detalle, baja el pico; si la imagen se ve apagada, sube el blanco de papel. Los navegadores usan HDR solo cuando el HDR del escritorio está activado para su monitor; nunca lo activan automáticamente. Los juegos HDR en pantalla completa siguen cambiando automáticamente cuando el HDR del escritorio está desactivado. La reproducción HDR en el navegador también depende de su compatibilidad y configuración.

Recordatorios por voz

Mantén SUPER + Shift + D, habla y suelta, o escribe en Principal > Herramientas > Recordatorios > Dile al asistente…. Eitr transcribe localmente con el modelo sin conexión del dictado y consulta al asistente elegido en Desarrollo > Asistente predeterminado. Solo la transcripción y el contexto de los recordatorios van a su proveedor; el audio queda local y se elimina tras transcribirlo. El asistente funciona sin ventana por la vía de solo lectura de Eitr. Eitr valida su JSON y ejecuta las acciones; el asistente no recibe herramientas para cambiar nada. Con Ratatoskr (Desarrollo > Asistente predeterminado), la transcripción nunca sale de este PC.

Di «Recuérdame llamar mañana a las 15:00» o «Dentista el 30 de octubre a las 15:00, avisa 30 minutos antes». Las citas avisan una hora antes por defecto (o con el margen indicado) y a la hora del evento; los recordatorios simples solo a su hora. Si faltan datos o hay ambigüedad, se abre un terminal con opciones numeradas completas. Escribe el número o tu propia respuesta, o díctalo con SUPER + D; Esc cancela. Una fecha sin hora abre el reloj con cualquier asistente. Una notificación muestra el resultado. También puedes pedir listar o cancelar recordatorios.

Nuevo recordatorio acepta tomorrow 15:00, días de la semana en inglés, 2026-10-30 09:00, Oct 30 15:00, 9am, in 5 minutes y every 29th. Pon entre comillas las fechas con espacios en la CLI. Cada aviso tiene su temporizador; cancelar los elimina todos. Los avisos perdidos aparecen al iniciar sesión. Una fecha sin hora, escrita o hablada, abre un reloj pequeño: escribe una hora de 24 horas en HH:MM; Retroceso borra el último dígito y las flechas ajustan horas o minutos; Enter confirma la hora y Esc cancela. Los avisos de recordatorios suenan brevemente, salvo con No molestar. El calendario marca los días con eventos; pulsa un día para ver horas y títulos, actualizados al instante. Cada recordatorio de la lista tiene un botón de papelera: púlsalo dos veces para eliminar un recordatorio único, o elige Esta (solo la próxima ocurrencia) o Todas en uno repetido. Esc, un clic en otro lugar o unos segundos sin actividad conservan el recordatorio.

Los recordatorios recurrentes aceptan every day 08:00, every Monday 09:30, weekdays 07:00, every Monday and Thursday 09:30, every week, every month on the 15th y every year (con hora). Use comillas: eitr remind "every day 08:00" Stretch. El asistente admite intervalos, fecha final o número de ocurrencias. Las fechas inexistentes usan el último día del mes. Se conservan la hora local y las alertas relativas. Solo la próxima ocurrencia tiene temporizadores; tras un apagado se muestra un aviso perdido y se omiten las ocurrencias pasadas, que cuentan para el límite. La lista muestra la próxima hora y la regla. Cancele una ocurrencia o toda la serie: eitr remind cancel ID occurrence o eitr remind cancel ID series. El calendario marca los días y muestra ↻ sin cambiar de altura.

Las notificaciones de recordatorios, incluidos los avisos pendientes, ofrecen Posponer 5 min, Posponer 10 min, Posponer 1 hora y Descartar en la ventana emergente y el historial. Posponer programa un recordatorio independiente de una sola vez con el mismo texto a partir del clic; los recordatorios recurrentes conservan su horario. Descartar cierra el aviso. Las acciones están disponibles hasta 24 horas; después, la notificación caduca.

Principal > Herramientas > Fuentes de calendarios > Añadir calendario… muestra un calendario de Google, Outlook u otro calendario iCal en el panel del calendario, de solo lectura y sin iniciar sesión. Elige el proveedor: Google y Outlook abren sus ajustes en el navegador. En Google, copia Configuración de mis calendarios > Integrar el calendario > Dirección secreta en formato iCal; en Outlook, publica un calendario en Configuración > Calendario > Calendarios compartidos y copia su vínculo ICS. Pega la dirección (https:// o webcal://) y ponle nombre al calendario. Cualquiera con esa dirección puede leer el calendario, así que Eitr la guarda en un archivo privado y nunca la muestra en menús, notificaciones ni registros; restablece la dirección secreta en el proveedor si se filtra. Los calendarios se actualizan al iniciar sesión, cada 15 minutos y al abrir el panel del calendario (como mucho una vez por minuto). Los eventos desde la semana pasada hasta dentro de 60 días aparecen junto a los recordatorios con el nombre del calendario y sin papelera: cámbialos en Google u Outlook. Los eventos con hora avisan al empezar con el sonido de los recordatorios; los de todo el día no avisan. Se muestran las repeticiones diarias, semanales, mensuales (un día del mes o un día de la semana como el último viernes) y anuales; las reglas más raras muestran solo su primer evento. En el menú Fuentes de calendarios, Enter actualiza un calendario al momento y Supr lo quita tras confirmar. La sincronización en ambos sentidos (crear o editar eventos del proveedor) no está disponible. La terminal permanece abierta mientras copias el enlace en el navegador; Enter en la revisión lo añade y Esc cancela.

Plugins

Un plugin es un repositorio Git con scripts, entradas de Walker, piezas visuales opcionales (mosaicos, paneles, widgets de escritorio y elementos de la barra) y, opcionalmente, un servicio de usuario; un repositorio puede contener varios plugins. Un plugin se ejecuta como tú, con todos los permisos de tu cuenta: puede leer tus archivos, claves SSH y datos del navegador, enviarlos a cualquier lugar y mantenerse en ejecución. Eitr no ha revisado su código; el código es de su autor, no de Eitr, y cada entrada de plugin lo indica, por ejemplo Plugin de Ada · no revisado por Eitr. Añade solo plugins de personas y repositorios en los que confíes.

Eitr pide tu contraseña solo en un terminal que abrió para un paso que tú iniciaste, como la Actualización del sistema, nunca en una ventana emergente. Si un plugin te pide la contraseña, no es Eitr: no la escribas.

Principal > Plugins > Añadir plugins pide una URL Git HTTPS o, para un repositorio privado, una SSH como git@github.com:you/plugin.git (usa tus claves SSH a través del agente). Añadir requiere dos confirmaciones, ambas con No por defecto. Primero, antes de descargar nada, una página de seguridad explica estos riesgos; pulsa Enter para descargar el plugin y revisarlo. Después, la revisión empieza con el aviso de confianza y las advertencias (un servicio en segundo plano que se inicia en cada sesión, archivos binarios), seguidos del autor del manifiesto, repositorio, commit exacto, autor y fecha de Git, versión, número de archivos ejecutables y entradas. Pulsa Enter para instalar; Esc cancela en cualquiera de los dos pasos. Nada del plugin se ejecuta antes de la aprobación. eitr plugin add URL hace las mismas dos preguntas (Enter continúa, Esc cancela) y se niega a funcionar sin terminal. Principal > Plugins > Plugins instalados muestra sus acciones; escribir en Herramientas también las busca. El menú vacío muestra Ningún plugin instalado.

El catálogo instala y actualiza plugins dentro de la ventana. Las tarjetas Oficial y Comunidad abren detalles con imágenes, vídeos y componentes. Los vídeos empiezan silenciados y se detienen al cerrar. Instalar y Actualizar muestran fuente, commit completo, autor, archivos, comandos, avisos y cambios; la revisión opcional por IA aparece como texto. Los plugins tienen todos los permisos de tu cuenta. Enter confirma y Escape cancela. Se instala exactamente el commit revisado; Comunidad usa el commit fijado en el índice. La revisión caduca en 15 minutos y se descarta al cerrar el catálogo. Instalados > Añadir desde una dirección Git acepta HTTPS o SSH para plugins y temas de datos, sin terminal.

En la revisión de instalación, pulsa A para pedir a tu asistente predeterminado que revise una copia temporal del repositorio como texto, sin herramientas. Ratatoskr y Claude pueden revisar plugins; si el asistente predeterminado no es compatible, la revisión indica su nombre. Claude envía el texto a su proveedor; Ratatoskr lo mantiene en este equipo. Desplaza el informe con PgUp/PgDn. La IA puede pasar por alto problemas: es un consejo, no una aprobación, y la advertencia sobre permisos completos sigue vigente. Enter instala y Esc cancela, incluso durante la comprobación. Los errores, las respuestas vacías y el límite de 180 segundos mantienen disponible la revisión normal. Nada se instala automáticamente.

Actualización del sistema solo comprueba nuevos commits de plugins, incluso cuando los paquetes están al día, e indica la cantidad y dónde actualizar. No revisa ni actualiza plugins; los errores de red se ignoran en silencio. Usa Actualizar plugins en Centro de control > Plugins, junto a Añadir plugins, o Plugins > Actualizar plugins, o ejecuta eitr plugin update. El botón y la fila «Actualizar plugins» solo aparecen cuando la última comprobación encontró una actualización. La marca ↑ en la fila y «Actualización disponible» en los detalles reflejan la última comprobación del commit aprobado. La acción separada conserva los diffs, avisos de riesgo y confirmaciones por plugin.

Cada actualización empieza con un resumen: commit anterior y nuevo, asuntos de los commits, archivos modificados con líneas añadidas y eliminadas, y señales de RIESGO para un servicio en segundo plano añadido, cambiado o eliminado, cualquier cambio del manifiesto, archivos ejecutables nuevos o modificados, archivos binarios y commits de un autor distinto al del commit aprobado. Pulsa d para leer el diff completo en un paginador (delta si está instalado; si no, less -R), Enter para actualizar, o Esc para mantener la versión actual. Si el historial se reescribió y el commit aprobado ya no forma parte del nuevo, Eitr no actualiza automáticamente y explica por qué; elimina el plugin y añádelo de nuevo si sigues confiando en él. Las actualizaciones no interactivas omiten plugins. Plugins > Plugins instalados > el plugin ofrece Actualización y Eliminar; eliminar pide confirmación y borra archivos, entradas y servicio. Los mismos flujos están disponibles con eitr plugin list, eitr plugin add URL, eitr plugin update [ID] y eitr plugin remove ID.

Eitr incluye una lista de bloqueo de plugins dentro del paquete firmado eitr-desktop, así que la firma del paquete de pacman la protege. Cada entrada indica un repositorio, un commit o un id de plugin, con un motivo. Se rechaza añadir o actualizar un plugin bloqueado. Un plugin instalado que pasa a estar bloqueado se detiene: sus entradas salen de Plugins > Plugins instalados, no se puede iniciar, su servicio se detiene y se desactiva, y una sola notificación lo nombra junto con el motivo, con un botón Eliminar. Plugins > Plugins instalados lo marca como bloqueado y, al seleccionarlo, lo elimina. Sus archivos nunca se borran automáticamente. Para denunciar un plugin dañino, abre https://github.com/eitr-org/eitr/issues/new?template=malicious-plugin.yml; nunca pegues contraseñas, tokens ni claves en la denuncia. Un perfil de organización también puede desactivar los plugins o permitir solo los repositorios de una lista (consulta Perfiles de organización).

Los plugins residen solo en $XDG_DATA_HOME/eitr/plugins/<id>/ (por defecto ~/.local/share/eitr/plugins/); las aprobaciones en $XDG_STATE_HOME/eitr/plugins.json. Los servicios usan $XDG_CONFIG_HOME/systemd/user/eitr-plugin-<id>.service con NoNewPrivileges=yes, así que no pueden obtener privilegios mediante programas como sudo. Nunca uses sudo. Las actualizaciones validan un candidato separado y conservan el commit aprobado si se rechazan o fallan. Un plugin puede modificar tus archivos mientras se ejecuta; eliminarlo no deshace esos cambios.

Referencia del manifiesto

Versión 1: La raíz contiene eitr-plugin.json. Solo se aceptan estas claves: id (letras minúsculas y dígitos separados por guiones simples), name, description (hasta 72 caracteres), author, version, rows (1–20; 0–20 con ui) y los campos opcionales service, schemaVersion y hooks. Cada entrada requiere title, description (ambos hasta 72 caracteres) y run; admite icon y arguments (lista de cadenas fijas) opcionales. Un servicio solo acepta run y arguments opcional. Los comandos usan argv, nunca cadenas de shell. run debe indicar un ejecutable dentro del repositorio: se rechazan rutas absolutas, .. y cualquier enlace simbólico dentro del plugin. Se rechazan claves JSON desconocidas o duplicadas. No se inicializan submódulos.

El ejemplo en distro/plugins/example/ contiene manifiesto y notify.sh, una acción de notificación, un hook de tema y ningún servicio. Cópialo a tu repositorio Git, crea un commit y publica una URL Git HTTPS para probar la instalación completa. Se distribuye como documentación; no se instala automáticamente. Para un plugin visual, la colección oficial en https://github.com/eitr-org/eitr-plugins incluye el Visualizer.

Declara schemaVersion: 1 para manifiestos de scripts o schemaVersion: 2 para la sección opcional ui descrita abajo. Los antiguos sin versión siguen como v1, con un aviso en la revisión; las versiones superiores a 2 requieren un Eitr más reciente. La guía para autores distro/PLUGINS.md (instalada como PLUGINS.md) define el contrato estable de la versión 1.

Los plugins pueden declarar hooks theme-changed, wallpaper-changed, after-update y login. Se ejecutan en segundo plano tras la acción, una vez por sesión de escritorio para login, con un límite de 30 segundos. Los fallos se registran en $XDG_STATE_HOME/eitr/plugin-hooks.log y nunca hacen fallar la acción. La revisión enumera los hooks; añadirlos o cambiarlos genera indicadores RISK en las actualizaciones. La lista de bloqueo y las políticas de organización también se aplican a los hooks.

Plugins visuales

El esquema versión 2 puede añadir mosaicos a Centro de control > General > Plugins y paneles abiertos desde ellos. Pueden seguir los colores, fuentes y esquinas de Eitr; los widgets y elementos de barra aparecen solo cuando los añades. La revisión enumera todos los archivos QML y su código completo antes de instalar. Las actualizaciones muestran un diff desplazable y el QML candidato antes de aprobar; los cambios QML generan avisos RISK. QML no es un entorno aislado: se ejecuta dentro de la barra con todos tus permisos. Confía en el autor; el cargador no aísla bucles ni fallos nativos.

Un error de carga sustituye el contenido por un aviso y se registra en $XDG_STATE_HOME/eitr/plugin-ui.log. Tras tres errores de carga o comunicados, se desactivan los componentes visuales del plugin, incluso tras actualizarlo. Elige Reactivar en Centro de control > Plugins, o ejecuta eitr plugin enable-ui ID. Antes del límite, cierra y vuelve a abrir General para reintentar. Acciones, hooks y servicios son independientes. Plugins aparece después de las secciones existentes de General. Los paneles sustituyen los mosaicos con un título y una flecha para volver; Atrás o Escape vuelve a los mosaicos y otro Escape cierra el Centro de control. Los paneles altos se desplazan dentro de la subvista. El ejemplo v2 incluye un mosaico Hello y un panel de estado. Los plugins v1 siguen siendo compatibles sin cambios. El esquema y la API limitada de estilo/datos están en distro/PLUGINS.md; la API es una interfaz compatible, no una barrera de seguridad.

Un plugin de esquema v2 puede solicitar audio-spectrum. La revisión indica que solo lee niveles del audio del sistema: no se graba ni se envía audio y el anfitrión nunca captura el micrófono. Añadir esta capacidad genera un aviso RISK. Todos los consumidores visibles comparten un proveedor del espectro de reproducción; los plugins solicitan de 8 a 128 barras y hasta 60 fotogramas por segundo. Se detiene cuando no hay consumidores visibles. Un comando dataStream declarado entrega líneas de texto mientras su componente está visible, con un límite de 60 líneas por segundo y 4096 bytes por línea. La revisión muestra el comando y los cambios generan avisos RISK. Los componentes ocultos detienen los flujos y los grupos de procesos hijos; los fallos se reintentan con espera progresiva. Los detalles para autores están en distro/PLUGINS.md.

Gestor de plugins y opciones de widgets

Centro de control > Plugins muestra cada plugin instalado con icono, autor, versión, descripción y estado. Expande Vista previa para ver su imagen. Activar/Desactivar conserva posiciones y detiene o restaura servicios, filas de Walker, hooks y elementos visuales; usa eitr plugin enable ID o eitr plugin disable ID. Añadir plugins, Actualizar y Eliminar abren los flujos revisados del terminal; eliminar pide confirmación. General conserva solo los bloques de plugins. Los fallos visuales tienen una acción independiente para reactivar.

Añade widgets por monitor y elementos de barra bajo cada plugin. Editar posición eleva temporalmente el widget sobre las ventanas: arrastra el título o el tirador de tamaño, después Listo o Esc. El movimiento es continuo; al soltar se ajusta al espacio del escritorio y se guarda. Haz clic derecho en un widget detrás de ventanas, o en cualquiera durante la edición, para tamaño (90% / 110%, manteniendo proporción y centro dentro de la pantalla), Ancho completo, fondo Panel/Transparente, Mostrar sobre ventanas, opciones del plugin y Quitar del escritorio. Ancho completo usa el mayor tamaño proporcional que cabe. Los widgets sobre ventanas dejan pasar clics; sus opciones están en Plugins. Editar widgets en esa página o Walker hace todos interactivos hasta Listo o Esc (plugin-widgets edit / done por IPC). Los monitores desconectados conservan sus posiciones.

Los fondos transparentes no tienen color, borde ni desenfoque del anfitrión; los tiradores de edición siguen visibles. Los nuevos plugins v2 requieren icono PNG/SVG cuadrado (hasta 512 KiB, PNG de 64–1024 px); las vistas previas opcionales son PNG/JPEG de hasta 2 MiB y 3840 px por eje, y homepage usa HTTPS. Los plugins antiguos sin icono usan un símbolo genérico y una nota de revisión. La API ofrece api.setMenu([{id, text, checked}]) y api.menuTriggered(id) para opciones como Wave/Terminal. Consulta distro/PLUGINS.md.

Los autores eligen colores, imágenes, shaders y animaciones. Las ayudas de tema (api.palette, color0–15, roles con nombre, fuentes, tamaños, radio y themeChanged) son opcionales. Widgets y paneles usan surface: "none" por defecto; "panel" elige el fondo de Eitr. Una elección explícita guardada del widget prevalece; si no existe, se aplica la declaración. El Centro de control conserva su marco exterior sin decorar el lienzo del plugin. header: false oculta la cabecera; Atrás/Escape siguen funcionando. Los mosaicos usan look: "eitr" por defecto; "custom" dibuja todo el espacio fijo, con activación y anillo de foco del host. La barra no añade tinte ni relleno al pasar el puntero. Las imágenes QML relativas se resuelven en el directorio del plugin. Se mantienen límites, reloj centrado, revisiones, capacidades y gestión de fallos. El ejemplo muestra ambos estilos.