Desktop shell — Swirl + ilhas inferiores
Decisão visual
O Flowral usa Swirl como compositor com scrolling tiling horizontal e floating. Referências: seis imagens de 2026-10-23, janelas-paper claras, foco com traço fino, dois mini-painéis em cantos inferiores, wallpaper floral, launcher textual e lockscreen minimalista.
Estratégia de implementação
Fase 0 (fallback): swaybar/fuzzel/mako/swaylock/swayidle/swaybg e configuração Swirl/Sway compatível. Fase 1: painel próprio e overlays pequenos. Não assumir que Slint cria diretamente layer surfaces Wayland; fazer spike com protocolos Layer Shell e, se necessário, componente de superfície via smithay-client-toolkit ou toolkit comprovado. Slint continua sendo a tecnologia aprovada dos aplicativos normais e da central.
Blocos
- Left island: indicador de workspace + data abreviada (clicável para switcher e calendário).
- Right island: relógio, bateria e estados de rede/áudio (clicáveis para abrir módulos do Control Center).
- Launcher: tecla Super, pesquisa instantânea por
.desktop, comandos, aplicativos recentes/favoritos, atalhos com teclado. - Quick panels: UI rápida de rede, volume, Bluetooth, brilho; overlays fora do tiling normal.
- Switcher / overview: IPC do Swirl; evitar duplicar recursos já suportados nativamente.
- Notifications: Mako inicial, substituir apenas se testes comprovarem benefícios.
- Lockscreen: Swaylock + plano estático pré-desfocado inicialmente; UI própria somente após auditoria de segurança.
Janela papel / borders
- Sem título e botões decorados pelo compositor.
- Borda 1–2px por estado (focus vermelho/destaque floral, idle cinza).
- Em app GTK/Qt com CSD, desativar via preferência individual se existir; não é possível prometer supressão global.
- Redimensionamento por teclado e mouse deverá permanecer, inclusive tiled e floating.
- Sem background blur em tempo real obrigatório; efeitos habilitados apenas mediante benchmarks de GPU.
Scrolling tiling
Testar versões do Swirl antes de adotar diretivas do Sway. Comportamentos: foco horizontal, mover coluna, selecionar largura preferida, alternar workspace, mover para floating, restaurar, arrastar borda e ciclo de widths. Gestos 3 dedos horizontal / 4 dedos vertical configuráveis (se hardware libinput os expuser); alternativa acessível por teclado.
Exemplo indicativo, validar na versão empacotada:
set $mod Mod4
# Sintaxe herdada do Sway; confirmar no build do Swirl.
default_border pixel 1
default_floating_border pixel 1
bindsym $mod+Return exec wezterm
bindsym $mod+d exec fuzzel
bindsym $mod+Shift+q kill
Tratamento de input
TrackPoint: navegação central; touchpad: gestos opcionais; Fn/brilho/volume; teclas em PT-BR ou layout escolhido durante instalação; shortcuts podem ser remapeados pela Central.
Estados do shell
starting, ready, locked, suspended, degraded. Se painel falhar, compositor e terminal devem continuar funcionando; atalhos TTY disponíveis. Nenhum ícone decorativo obrigatório para entender estados.
Critérios de aceite
- Alternar entre janelas e workspaces com teclado e touchpad; ícones/clock confiáveis; painel não monopoliza memória; rede e áudio acessíveis sem terminal; launcher abre
.desktopcorretamente; lock/unlock seguro; tema ajusta shell sem restart da sessão.
Evolução para Flowral DE
A sessão inicial usa swaybar (ou Waybar caso adotado posteriormente), Fuzzel, Mako, swaylock, swayidle e swaybg, preservando fallback. O plano de Flowral DE define substituições graduais: Power Menu, OSD, Wallpaper e Switcher como estudos mais simples; depois Panel e Launcher (médios), Notifications via D-Bus (médio), Tray (médio–alto) e greeter/lock nativo (alto/crítico). Ferramentas antigas só serão removidas depois de teste funcional e de RAM, nunca por estética.