Pular para o conteúdo

Armazenamento Removível

O pacote gnarus-storage entrega um programa em Rust que observa armazenamento removível via UDisks2 (D-Bus, sem polling) e alimenta um módulo compacto da Waybar.

O módulo já vem pré-configurado no grupo de gravação/microfone/áudio. A barra mostra um único ícone Font Awesome quando existem dispositivos removíveis; sem dispositivos o módulo se oculta. O tray da Waybar fica reservado para aplicativos que publicam ícones de tray, como Telegram e Steam.

Botão Ação
Esquerdo Escolher um dispositivo e abri-lo no gerenciador de arquivos
Direito Menu de contexto (Open/Mount/Unmount/Eject/Power Off/Unlock/Lock/Copy)
Terminal window
gnarus-storage once # imprime uma linha JSON e sai
gnarus-storage list # lista volumes removíveis
gnarus-storage devices # escolhe um dispositivo e abre no gerenciador de arquivos
gnarus-storage menu # menu de contexto (rofi/wofi/dmenu)
gnarus-storage unmount # ações: open mount unmount eject poweroff lock unlock copy

Os defaults ficam em /etc/gnarus-storage/config.json e /etc/gnarus-storage/theme.css. Para personalizar por usuário, copie-os para ~/.config/gnarus-storage/. Opções: show_name, show_capacity, hide_when_empty, show_hidden, max_devices, sort (mount_time | insertion | name | size), separator, format, tooltip_format, file_manager_command, open_command (alias de compatibilidade), copy_command, unlock_command, menu (rofi | wofi | dmenu), menu_flags e icons.

Para volumes LUKS, unlock_command (padrão kitty -e) abre um terminal para a senha. Dependências de runtime: udisks2, glib2, rofi/wofi/dmenu, wl-clipboard e libnotify.

O pacote do sistema é dono de:

/etc/gnarus-storage/theme.css
/etc/gnarus-storage/themes/gnarus-dark.css
/etc/gnarus-storage/themes/gnarus-dark-silver.css
/etc/gnarus-storage/themes/gnarus-light.css
/etc/gnarus-storage/themes/gnarus-slate.css

Quando o usuário muda o tema do desktop, o ambiente GNARUS sincroniza ~/.config/gnarus-storage/theme.css, então o popup GTK acompanha a família de tema ativa. Arquivos do usuário têm prioridade sobre os defaults do sistema.

O módulo da Waybar é configurado no gnarus como custom/storage:

{
"exec": "gnarus-storage watch",
"return-type": "json",
"format": "{}",
"tooltip": true,
"hide-empty-text": true,
"on-click": "/usr/share/gnarus/hypr/scripts/storage-menu.sh"
}

storage-menu.sh ancora o menu GTK na posição do ponteiro quando possível. O pacote gnarus depende de gnarus-storage, mas o pacote de storage é dono do binário, configuração, temas e licença.