Manual / Documentação atual do desktop
Aplicações e Instalação
Walker, busca global, desinstalação, pacman, AUR e ferramentas opcionais.
Este é o Manual do desktop, publicado a partir do mesmo catálogo gerado. Botões, painéis e menus se referem ao desktop instalado. As atualizações podem ser mais recentes que a ISO disponível. Consulte o escopo de instalação e validação.
Antes de instalar pacotes oficiais, o terminal informa que está verificando atualizações pendentes do sistema. Essa verificação pode demorar um pouco antes de pedir a senha de administrador. Instalações via Flatpak também indicam a etapa de preparação. Se houver atualizações aguardando, ele explica o motivo: o Arch só instala apps num sistema atualizado, e instalar agora também atualizaria parte do sistema sem um snapshot de recuperação. Enter executa a Atualização do sistema com seu snapshot e depois instala; Esc cancela sem mudar nada.
SUPER + Space e Principal > Aplicativos abrem a mesma lista. Enter inicia o aplicativo. Delete fica disponível em Aplicativos e pede confirmação para desinstalar. A busca global de SUPER + F abre aplicativos, mas não oferece desinstalação. Não há um menu separado baseado em aplicativos fixados.
Digitar no menu principal busca aplicativos instalados e ações de todos os submenus. Dentro de um submenu, como Sistema ou Instalar, a busca abrange esse submenu e seus descendentes. Layouts de teclado e o que fica abaixo de uma conta de nuvem (serviços, recursos, logs) só são buscados dentro do próprio menu; as listas de contas de nuvem continuam na busca. As linhas de submenu terminam em >; Shift + Backspace volta ao menu anterior.
Menus dinâmicos também buscam ações já carregadas de seus submenus, como ações de um plugin instalado ou de uma conta Git. A busca reutiliza o que o menu carregou; abra o seletor de recursos ou Visuais para buscar opções que exigem outra leitura do provedor.
Instalar
Pressione Delete em uma entrada instalada nas listas de aplicativos e ferramentas de Instalar para desinstalá-la após a confirmação. Aplicativos Web mantêm sua ação de remoção. Nas listas de pacotes (Pacman e Yay), Ctrl+D remove o pacote instalado destacado após confirmação. Ctrl+F alterna entre somente instalados e todos os pacotes. Os pacotes do Eitr permanecem instalados. Dependências necessárias ao sistema nunca são removidas recursivamente; o pacman recusa remoções que quebrariam outro pacote.
Pacotes de linguagens gerenciadas mostram o aviso completo de remoção em um terminal antes de pedir confirmação com [y/N]; Enter cancela. Remover Node inclui todas as versões gerenciadas pelo NVM e suas ferramentas npm globais. A remoção de Python afeta as versões gerenciadas pelo uv e o próprio uv, não o Python do sistema. Java remove as versões atuais do Java e do Maven no SDKMAN; Rust remove apenas sua versão estável. Rails e Laravel removem suas ferramentas de framework, mantendo Ruby, PHP e Composer. Projetos, configurações e credenciais são mantidos, mas ferramentas e ambientes dependentes podem deixar de funcionar. A remoção de assistentes nativos mantém versões em cache e configurações.
Aplicativos presentes no sistema mostram Instalado abaixo do nome; escolhê-los informa isso em vez de reinstalar. Também são reconhecidas ferramentas instaladas por seus próprios gerenciadores, como Java pelo SDKMAN ou Node.js pelo NVM. Pacotes que exigem um ambiente de execução, como o Java do DBeaver, só adicionam um ambiente pequeno quando nenhum pacote já o fornece.
- CLIs de IA: clientes opcionais de IA por linha de comando.
- Navegadores: opções compatíveis de navegador.
- Bases de dados: ferramentas opcionais como DBeaver, clientes de banco de dados e Valkey, o servidor compatível com Redis distribuído pelo Arch no lugar do Redis.
- Linguagens de desenvolvimento: ferramentas opcionais; Java/Flutter não são dependências obrigatórias da área de trabalho.
- Ferramentas de JavaScript: ambientes de execução e ferramentas opcionais de JavaScript.
- Pacotes > Pacman e Pacotes > Yay (AUR): busque pacotes oficiais do Arch ou comunitários do AUR, identificados por origem e estado de instalação. A busca fica acima, os pacotes no meio e os detalhes da seleção abaixo. Ctrl+B alterna para o arquivo de compilação (PKGBUILD), Ctrl+O abre a página no navegador, Tab seleciona vários pacotes e Enter instala. Pacotes AUR são compilados neste computador a partir desse arquivo: leia-o antes. Eles não são pacotes oficiais do Arch.
Os terminais de instalação, atualização e configuração mostram o banner do EITR no tema atual. Tarefas bem-sucedidas normalmente fecham; falhas permanecem visíveis. Relatórios como Limpeza ficam abertos para leitura. Terminais comuns e Sobre não exibem o banner de tarefas.
Pressione Esc para fechar terminais de tarefas, contas, relatórios e Sobre que aguardam uma tecla. Enter continua sendo usado para respostas e confirmações, incluindo confirmar que a chave de recuperação foi anotada e desligar o instalador.
Use eitr package install NAME para um pacote oficial, eitr package install --aur NAME para AUR ou eitr package remove NAME para remover. É necessário um terminal. A revisão mostra o pacote e a origem: Enter confirma e Esc cancela. No AUR, Ctrl+B mostra o arquivo de compilação (q retorna) e Ctrl+O abre o repositório. Os pacotes comunitários do AUR não são revisados pelo Eitr nem pelo Arch Linux. Pacotes já instalados encerram com sucesso. Falhas ficam visíveis até Esc. Plugins podem usar kitty --class eitr-menu-terminal -e eitr package install --aur lowfi.
Ferramentas
Calculadora em Aplicativos, ou a tecla de calculadora do teclado, abre a calculadora do Eitr com as cores do tema atual. Digite ou clique: + − × ÷, ^ para potências, % para porcentagem (200×15%), √ e parênteses. Um número antes de um parêntese multiplica (2(3+4)). Enter mostra o resultado, Backspace remove um caractere, Escape limpa (duas vezes fecha) e Ctrl+C ou Copiar copia o resultado. A expressão é calculada diretamente, sem executá-la como código.
Ditado offline converte fala em texto sem enviar áudio para fora do computador. Segure SUPER + D, fale e solte: as palavras são digitadas onde está o cursor, no idioma falado. Você também pode tocar SUPER + D, falar e tocar de novo. Durante a escuta, o ponto vermelho à esquerda do relógio vira uma pequena onda que acompanha sua voz, confirmando a captação; após soltar, pulsa até o texto ser digitado. O primeiro uso baixa uma única vez o modelo de voz (148 MB, conferido pelo checksum publicado) para ~/.local/share/eitr/whisper/; depois funciona offline. A transcrição leva um momento após soltar, mais em processadores antigos. A gravação termina ao soltar D, mesmo que SUPER tenha sido solto antes, ou após 120 segundos; as palavras são então transcritas normalmente.
Principal > Ferramentas > Lembretes > Novo lembrete pede quando (intervalo como 10m ou 1h30m, ou horário como 18:30) e sobre o quê, e exibe nesse momento uma notificação com botões para adiar ou dispensar. Próximos lembretes lista os pendentes; escolha um para cancelar. Eles sobrevivem a reinicializações; os vencidos com o computador desligado aparecem no próximo login. No terminal, use eitr remind 25m Take the tea out; eitr remind sozinho lista os lembretes.
Jogos
Principal > Jogos lista GeForce NOW, RetroArch e Steam. Escolher um abre se já instalado ou instala caso contrário. O RetroArch vem dos pacotes oficiais do Arch com núcleos para NES, SNES, Game Boy e Game Boy Advance, Mega Drive/Genesis, PlayStation, Nintendo 64, Nintendo DS, PSP e Dreamcast. Adicione seus jogos e, para consoles que precisem, os arquivos de BIOS; o Eitr não distribui nenhum deles. GeForce NOW é instalado por Flatpak.
Ações rápidas > Modo de jogo reduz interferências da área de trabalho: desativa animações, desfoque e sombras, adia pop-ups de notificações (Não perturbe) e ativa o perfil de desempenho, se disponível. Desativar restaura exatamente o que mudou. O Steam inclui GameMode e MangoHud: adicione gamemoderun mangohud %command% às opções de inicialização do jogo no Steam para otimizar a CPU durante o jogo e mostrar a sobreposição de FPS.
O pacote do LocalSend inclui seus requisitos de execução: não é preciso instalar o Flutter SDK só para usá-lo. As ferramentas de desenvolvimento continuam opcionais.
Consulte Atualizações e limpeza para atualizar; instalar um pacote não equivale ao fluxo de Atualização do sistema protegido por snapshots.
Visualizador de música abre o cava com as cores do tema. Clique com o botão direito no equalizador de mídia para abrir o mesmo visualizador; o botão esquerdo continua abrindo os detalhes da mídia. Pressione q ou Esc para fechar. Se o cava não estiver instalado, ele será instalado primeiro.
Quando um monitor conectado oferece HDR, o Eitr usa Wayland e HDR por padrão nos jogos Proton do Steam com PROTON_ENABLE_WAYLAND=1, PROTON_ENABLE_HDR=1 e DXVK_HDR=1. Sem monitor HDR, os padrões existentes são mantidos. A detecção de hardware atualiza a configuração de monitores gerada ao listar ou alterar monitores e antes de carregá-la no login ou recarregamento. Inicie uma nova sessão da área de trabalho e reinicie o Steam para herdar alterações; o Steam já aberto mantém seu ambiente. Ative HDR no próprio jogo; jogos em tela cheia podem alternar o monitor automaticamente mesmo sem HDR na área de trabalho. Alguns jogos perdem a sobreposição do Steam no Wayland. Para excluir um jogo, use PROTON_ENABLE_WAYLAND=0 %command% nas opções de inicialização dele no Steam. Para calibrar um jogo, ajuste o brilho máximo ou de pico dele para o pico HDR das especificações do seu monitor (um monitor DisplayHDR 400 chega a uns 400 nits) e depois ajuste o branco de papel ou o brilho geral a gosto. Se as áreas claras perderem detalhe, baixe o pico; se a imagem parecer apagada, aumente o branco de papel. Os navegadores usam HDR somente quando o HDR da área de trabalho está ativado para o monitor em que estão; nunca o ativam automaticamente. Jogos HDR em tela cheia continuam alternando automaticamente quando o HDR da área de trabalho está desativado. A reprodução HDR no navegador também depende do suporte e das configurações dele.
Lembretes por voz
Segure SUPER + Shift + D, fale e solte, ou digite em Principal > Ferramentas > Lembretes > Fale com o assistente…. O Eitr transcreve localmente com o mesmo modelo offline do ditado e consulta o assistente escolhido em Desenvolvimento > Assistente padrão. Só a transcrição e o contexto dos lembretes vão ao provedor; o áudio fica local e é apagado após a transcrição. O assistente roda sem janela pelo caminho somente leitura do Eitr. O Eitr valida o JSON e executa as ações; o assistente não recebe ferramentas para alterar nada. Com Ratatoskr (Desenvolvimento > Assistente padrão), a transcrição nunca sai deste PC.
Diga “Me lembre de ligar amanhã às 15h” ou “Dentista em 30 de outubro às 15h, avise 30 minutos antes”. Compromissos avisam uma hora antes por padrão (ou com a antecedência pedida) e no horário; lembretes simples só no horário. Dados ausentes ou ambiguidade abrem um terminal com opções numeradas completas. Digite o número ou sua própria resposta, ou dite com SUPER + D; Esc cancela. Uma data sem horário abre o relógio com qualquer assistente. Uma notificação informa o resultado. Você também pode pedir para listar ou cancelar lembretes.
Novo lembrete aceita tomorrow 15:00, dias da semana em inglês, 2026-10-30 09:00, Oct 30 15:00, 9am, in 5 minutes e every 29th. Use aspas nas datas com espaços na CLI. Cada alerta tem seu timer; cancelar remove todos. Alertas perdidos aparecem no próximo login. Uma data sem horário, digitada ou falada, abre um pequeno relógio: digite um horário de 24 horas no campo HH:MM; Backspace apaga o último dígito e as setas ajustam horas ou minutos; Enter define o horário e Esc cancela. Os alertas de lembretes tocam um som curto, exceto no modo Não perturbe. O calendário marca os dias dos eventos; clique para ver horários e títulos atualizados imediatamente. Cada lembrete listado tem um botão de lixeira: clique duas vezes para excluir um lembrete único, ou escolha Esta (só a próxima ocorrência) ou Todas num lembrete repetido. Esc, um clique fora ou alguns segundos sem ação mantêm o lembrete.
Lembretes recorrentes aceitam every day 08:00, every Monday 09:30, weekdays 07:00, every Monday and Thursday 09:30, every week, every month on the 15th e every year (com horário). No terminal, use aspas: eitr remind "every day 08:00" Stretch. O assistente aceita intervalos, data final ou número de ocorrências. Datas inexistentes usam o último dia do mês. O horário local e os alertas relativos são preservados. Só a próxima ocorrência tem temporizadores; após um período desligado, aparece um aviso perdido e as ocorrências passadas são puladas, contando para o limite. A lista mostra o próximo horário e a regra. Cancele uma ocorrência ou todas as futuras: eitr remind cancel ID occurrence ou eitr remind cancel ID series. O calendário marca os dias e mostra ↻ sem mudar de altura.
As notificações de lembretes, incluindo alertas perdidos, oferecem Adiar 5 min, Adiar 10 min, Adiar 1 hora e Dispensar no popup e no histórico de notificações. Adiar agenda um lembrete separado, sem repetição e com o mesmo texto, a partir do clique; lembretes recorrentes mantêm sua programação. Dispensar fecha o alerta. As ações ficam disponíveis por até 24 horas; depois, a notificação expira.
Principal > Ferramentas > Fontes de calendários > Adicionar calendário… mostra um calendário do Google, do Outlook ou outro calendário iCal no painel do calendário, somente leitura e sem login. Escolha o provedor: Google e Outlook abrem as configurações no navegador. No Google, copie Configurações das minhas agendas > Integrar agenda > Endereço secreto no formato iCal; no Outlook, publique um calendário em Configurações > Calendário > Calendários compartilhados e copie o link ICS. Cole o endereço (https:// ou webcal://) e dê um nome ao calendário. Qualquer pessoa com esse endereço pode ler o calendário, então o Eitr o guarda em um arquivo privado e nunca o mostra em menus, notificações ou registros; redefina o endereço secreto no provedor se ele vazar. Os calendários são atualizados no login, a cada 15 minutos e ao abrir o painel do calendário (no máximo uma vez por minuto). Eventos da última semana até os próximos 60 dias aparecem ao lado dos lembretes com o nome do calendário e sem lixeira: altere-os no Google ou no Outlook. Eventos com horário avisam no início com o som dos lembretes; eventos de dia inteiro não avisam. Repetições diárias, semanais, mensais (um dia do mês ou um dia da semana, como a última sexta-feira) e anuais são mostradas; regras mais raras mostram só o primeiro evento. No menu Fontes de calendários, Enter atualiza um calendário na hora e Delete o remove depois da confirmação. A sincronização nos dois sentidos (criar ou editar eventos do provedor) não é suportada. O terminal fica aberto enquanto você copia o link no navegador; Enter na revisão adiciona o calendário e Esc cancela.
Plugins
Um plugin é um repositório Git com scripts, itens do Walker, peças visuais opcionais (blocos, painéis, widgets da área de trabalho e itens da barra) e, opcionalmente, um serviço do usuário; um repositório pode conter vários plugins. Um plugin é executado como você, com todas as permissões da sua conta: pode ler seus arquivos, chaves SSH e dados do navegador, enviá-los para qualquer lugar e continuar rodando. O Eitr não revisou o código; o código é do autor, não do Eitr, e cada item de plugin diz isso, por exemplo Plugin de Ada · não revisado pelo Eitr. Adicione apenas plugins de pessoas e repositórios em que você confia.
O Eitr pede sua senha apenas em um terminal que ele abriu para uma etapa que você iniciou, como a Atualização do sistema, nunca em uma janela pop-up. Se um plugin pedir sua senha, não é o Eitr: não a digite.
Principal > Plugins > Adicionar plugins pede uma URL Git HTTPS ou, para um repositório privado, uma SSH como git@github.com:you/plugin.git (usa suas chaves SSH pelo agente). Adicionar exige duas confirmações, ambas com Não como padrão. Primeiro, antes de baixar qualquer coisa, uma página de segurança explica esses riscos; pressione Enter para baixar o plugin para revisão. Depois, a revisão começa com o aviso de confiança e eventuais avisos (um serviço em segundo plano que inicia a cada login, arquivos binários), seguidos de autor do manifesto, repositório, commit exato, autor e data do Git, versão, número de arquivos executáveis e itens. Pressione Enter para instalar; Esc cancela em qualquer uma das etapas. Nada do plugin é executado antes da aprovação. eitr plugin add URL faz as mesmas duas perguntas (Enter continua, Esc cancela) e se recusa a rodar sem terminal. Principal > Plugins > Plugins instalados lista suas ações; cada plugin instalado tem uma pasta com suas ações. O menu vazio mostra Nenhum plugin instalado.
O catálogo instala e atualiza plugins na própria janela. Os cartões Oficial e Comunidade abrem detalhes com imagens, vídeos e componentes. Vídeos começam sem som e param ao fechar. Instalar e Atualizar mostram fonte, commit completo, autor, arquivos, comandos, avisos e alterações; a verificação opcional por IA aparece como texto. Plugins têm todas as permissões da sua conta. Enter confirma e Escape cancela. A instalação usa exatamente o commit revisado; na Comunidade, usa o commit fixado pelo índice. A revisão expira em 15 minutos e é descartada ao fechar o catálogo. Instalados > Adicionar de um endereço Git aceita HTTPS ou SSH para plugins e temas de dados, sem terminal.
Na revisão da instalação, pressione A para pedir ao assistente padrão que verifique uma cópia temporária do repositório como texto, sem ferramentas. Ratatoskr e Claude podem verificar plugins; se o assistente padrão não for compatível, a revisão informa seu nome. Claude envia o texto ao seu provedor; Ratatoskr o mantém neste computador. Role o relatório com PgUp/PgDn. A IA pode deixar passar problemas: é uma orientação, não uma aprovação, e o aviso de permissões totais continua valendo. Enter instala e Esc cancela, inclusive durante a verificação. Erros, respostas vazias e o limite de 180 segundos mantêm a revisão normal disponível. Nada é instalado automaticamente.
A Atualização do sistema apenas verifica novos commits dos plugins, mesmo quando os pacotes estão atualizados, e informa a quantidade e onde atualizar. Ela não revisa nem atualiza plugins; erros de rede são ignorados silenciosamente. Use Atualizar plugins em Central de controle > Plugins, ao lado de Adicionar plugins, ou Plugins > Atualizar plugins, ou execute eitr plugin update. O botão e a linha “Atualizar plugins” só aparecem quando a última verificação encontrou uma atualização. A marca ↑ na linha e “Atualização disponível” nos detalhes refletem a última verificação do commit aprovado. A ação separada mantém os diffs, alertas de risco e confirmações por plugin.
Cada atualização começa com um resumo: commit anterior e novo, assuntos dos commits, arquivos alterados com linhas adicionadas e removidas, e sinais de RISCO para um serviço em segundo plano adicionado, alterado ou removido, qualquer mudança no manifesto, arquivos executáveis novos ou alterados, arquivos binários e commits de um autor diferente do autor do commit aprovado. Pressione d para ler o diff completo em um paginador (delta quando instalado; senão, less -R), Enter para atualizar, ou Esc para manter a versão atual. Se o histórico foi reescrito e o commit aprovado não faz mais parte do novo, o Eitr não atualiza automaticamente e explica o motivo; remova o plugin e adicione-o novamente se ainda confiar nele. Atualizações não interativas ignoram plugins. Plugins > Plugins instalados > o plugin oferece Atualizar e Remover; a remoção pede confirmação e apaga arquivos, itens e serviço. Os mesmos fluxos existem com eitr plugin list, eitr plugin add URL, eitr plugin update [ID] e eitr plugin remove ID.
O Eitr inclui uma lista de bloqueio de plugins no pacote assinado eitr-desktop, então a assinatura do pacote pelo pacman a protege. Cada entrada indica um repositório, um commit ou um id de plugin, com um motivo. Adicionar ou atualizar um plugin bloqueado é recusado. Um plugin instalado que passa a ser bloqueado para: seus itens saem de Plugins > Plugins instalados, ele não pode ser iniciado, seu serviço é parado e desativado, e uma única notificação o nomeia com o motivo, com um botão Remover. Plugins > Plugins instalados o marca como bloqueado, e selecioná-lo o remove. Seus arquivos nunca são apagados automaticamente. Para denunciar um plugin nocivo, abra https://github.com/eitr-org/eitr/issues/new?template=malicious-plugin.yml; nunca cole senhas, tokens ou chaves na denúncia. Um perfil de organização também pode desativar plugins ou permitir apenas repositórios de uma lista (veja Perfis de organização).
Plugins ficam apenas em $XDG_DATA_HOME/eitr/plugins/<id>/ (padrão ~/.local/share/eitr/plugins/); aprovações em $XDG_STATE_HOME/eitr/plugins.json. Serviços usam $XDG_CONFIG_HOME/systemd/user/eitr-plugin-<id>.service com NoNewPrivileges=yes, então não conseguem obter privilégios por programas como sudo. Nunca use sudo. Atualizações validam um candidato separado e preservam o commit aprovado em caso de recusa ou falha. Um plugin pode modificar seus arquivos enquanto roda; removê-lo não desfaz essas mudanças.
Referência do manifesto
Versão 1: A raiz contém eitr-plugin.json. Somente estas chaves são aceitas: id (letras minúsculas e dígitos separados por hífens simples), name, description (até 72 caracteres), author, version, rows (1–20; 0–20 com ui) e os campos opcionais service, schemaVersion e hooks. Cada item exige title, description (ambos até 72 caracteres) e run; aceita icon e arguments (lista de strings fixas) opcionais. Um serviço aceita apenas run e arguments opcional. Comandos usam argv, nunca strings de shell. run deve apontar para um executável dentro do repositório: caminhos absolutos e .. são recusados, assim como qualquer link simbólico em qualquer lugar do plugin. Chaves JSON desconhecidas ou duplicadas são recusadas. Submódulos não são inicializados.
O exemplo em distro/plugins/example/ contém manifesto e notify.sh, uma ação de notificação, um hook de tema e nenhum serviço. Copie-o para seu repositório Git, faça commit e publique uma URL Git HTTPS para testar a instalação completa. É documentação; não é instalado automaticamente. Para um plugin visual, a coleção oficial em https://github.com/eitr-org/eitr-plugins traz o Visualizer.
Declare schemaVersion: 1 para manifestos de scripts ou schemaVersion: 2 para a seção opcional ui abaixo. Os antigos sem versão continuam como v1, com um lembrete na revisão; versões acima de 2 exigem um Eitr mais recente. O guia para autores distro/PLUGINS.md (instalado como PLUGINS.md) define o contrato estável da versão 1.
Plugins podem declarar hooks theme-changed, wallpaper-changed, after-update e login. Eles rodam em segundo plano após a ação, uma vez por sessão do desktop para login, com limite de 30 segundos. Falhas ficam em $XDG_STATE_HOME/eitr/plugin-hooks.log e nunca fazem a ação falhar. A revisão lista os hooks; hooks adicionados ou alterados geram alertas RISK nas atualizações. A lista de bloqueio e as políticas da organização também se aplicam aos hooks.
Plugins visuais
O esquema versão 2 pode adicionar blocos em Central de controle > Geral > Plugins e painéis abertos por esses blocos. Eles podem seguir cores, fontes e cantos do Eitr; widgets e itens da barra aparecem apenas depois que você os adiciona. A revisão lista todos os arquivos QML e seu código completo antes da instalação. Atualizações mostram um diff rolável e o QML candidato antes da aprovação; alterações QML geram avisos RISK. QML não é uma sandbox: executa dentro da barra com suas permissões completas. Confie no autor; o carregador não isola loops nem falhas nativas.
Um erro de carregamento substitui o conteúdo por um aviso e é registrado em $XDG_STATE_HOME/eitr/plugin-ui.log. Após três erros de carregamento ou relatados, os componentes visuais do plugin ficam desativados, inclusive após atualizações. Escolha Reativar em Central de controle > Plugins, ou execute eitr plugin enable-ui ID. Antes desse limite, feche e reabra Geral para tentar novamente. Ações, hooks e serviços são independentes. Plugins aparece após as seções existentes de Geral. Os painéis substituem os blocos por um título e uma seta de voltar; Voltar ou Escape retorna aos blocos, e outro Escape fecha a Central de controle. Painéis altos rolam dentro da subpágina. O exemplo v2 tem um bloco Hello e um painel de status. Plugins v1 continuam compatíveis, sem alterações. O esquema e a API restrita de estilo/dados estão em distro/PLUGINS.md; a API é uma interface suportada, não uma barreira de segurança.
Um plugin de esquema v2 pode solicitar audio-spectrum. A revisão informa que lê apenas níveis do áudio do sistema: nenhum áudio é gravado ou enviado, e o host nunca captura o microfone. Adicionar esse recurso gera um aviso RISK. Todos os consumidores visíveis compartilham um provedor do espectro de reprodução; os plugins solicitam de 8 a 128 barras e até 60 quadros por segundo. Ele para quando nenhum consumidor está visível. Um comando dataStream declarado entrega linhas de texto enquanto seu componente está visível, limitado a 60 linhas por segundo e 4096 bytes por linha. A revisão lista o comando e alterações geram avisos RISK. Componentes ocultos param os fluxos e os grupos de processos filhos; falhas são repetidas com espera progressiva. Detalhes de autoria estão em distro/PLUGINS.md.
Gerenciador de plugins e opções dos widgets
Central de controle > Plugins lista cada plugin instalado com ícone, autor, versão, descrição e estado. Expanda Prévia para ver sua imagem. Ativar/Desativar preserva posições e interrompe ou restaura serviços, itens do Walker, hooks e elementos visuais; use eitr plugin enable ID ou eitr plugin disable ID. Adicionar plugins, Atualizar e Remover abrem os fluxos revisados no terminal; remover pede confirmação. Geral mantém apenas os blocos de plugins. Falhas visuais têm uma ação independente para reativar.
Adicione widgets por monitor e itens da barra em cada plugin. Editar posição eleva temporariamente o widget acima das janelas: arraste o título ou a alça de tamanho, depois Concluído ou Esc. O movimento é contínuo; ao soltar, a posição se ajusta ao espaçamento e é salva. Clique direito em um widget atrás das janelas, ou em qualquer widget durante a edição, para tamanho (90% / 110%, mantendo proporção e centro dentro da tela), Largura total, fundo Painel/Transparente, Mostrar acima das janelas, opções do plugin e Remover da área de trabalho. Largura total usa o maior tamanho proporcional que cabe. Widgets acima das janelas deixam passar cliques; suas opções ficam na página Plugins. Editar widgets nessa página ou no Walker torna todos interativos até Concluído ou Esc (plugin-widgets edit / done via IPC). Monitores desconectados mantêm suas posições.
Fundos transparentes não têm cor, borda nem desfoque do host; as alças de edição continuam visíveis. Novos plugins v2 exigem ícone PNG/SVG quadrado (até 512 KiB, PNG de 64–1024 px); prévias opcionais são PNG/JPEG de até 2 MiB e 3840 px por eixo, e homepage usa HTTPS. Plugins antigos sem ícone usam símbolo genérico e aviso na revisão. A API oferece api.setMenu([{id, text, checked}]) e api.menuTriggered(id) para opções como Wave/Terminal. Consulte distro/PLUGINS.md.
Os autores escolhem cores, imagens, shaders e animações. As ajudas de tema (api.palette, color0–15, papéis nomeados, fontes, tamanhos, raio e themeChanged) são opcionais. Widgets e painéis usam surface: "none" por padrão; "panel" escolhe o fundo Eitr. Uma escolha explícita salva do widget prevalece; sem ela vale a declaração. A Central de controle mantém sua moldura externa sem decorar a área do plugin. header: false oculta o cabeçalho; Voltar/Escape continuam funcionando. Blocos usam look: "eitr" por padrão; "custom" desenha todo o espaço fixo, com ativação e contorno de foco do host. A barra não adiciona cor ou fundo ao passar o ponteiro. Imagens QML relativas ficam no diretório do plugin. Limites, relógio centralizado, revisões, capacidades e tratamento de falhas continuam. O exemplo mostra os dois estilos.