flowral.docs

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 .desktop corretamente; 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.