Calendário
O gnarus-calendar é o popup de calendário nativo do GNARUS para Wayland/Hyprland, escrito em Rust com Relm4 e GTK4 e posicionado com gtk4-layer-shell. Ele abre pelo módulo de data da Waybar e oferece uma visão de mês compacta, agenda, editor de eventos e lembretes.
Clique na data na barra superior da Waybar. O módulo é configurado como clock#date com "on-click" ligado à ação de calendário do taskbar do GNARUS, que executa:
gnarus-calendar toggleO popup é uma superfície layer-shell de instância única: ele continua rodando depois de ocultado, então toggle, show e hide passam por um socket IPC Unix em $XDG_CACHE_HOME/gnarus-calendar/gnarus-calendar.sock. Ele fecha ao clicar fora dele, clicar na data novamente, pressionar Escape ou perder o foco.
Comandos
Seção intitulada “Comandos”gnarus-calendar # alterna o popupgnarus-calendar show # mostra o popupgnarus-calendar hide # oculta o popupgnarus-calendar config # abre o arquivo de configuração em um terminal com sudognarus-calendar config-path # mostra o caminho da configuraçãognarus-calendar reload # recarrega o CSS/tema externo no popup em execuçãognarus-calendar import file.ics # importa um arquivo ICSgnarus-calendar export --output calendar.icsgnarus-calendar sync # roda uma sincronização com a conta CalDAV/WebDAV configuradagnarus-calendar status # mostra status do banco/config/estilo/temagnarus-calendar service # roda o agendador de lembretesConfiguração
Seção intitulada “Configuração”Toda a configuração vive em /etc/gnarus-calendar/config.toml. O aplicativo usa defaults embutidos quando o arquivo não existe. Abra-o para editar com gnarus-calendar config, que abre um terminal com sudo (terminal de $TERMINAL ou da opção [terminal], editor de $VISUAL/$EDITOR ou da opção [editor], padrão nano).
[appearance]font_family = "monospace"font_size = 12 # intervalo válido: 8-32
[locale]language = "en-US" # en-US | pt-BR
[calendar]week_start = "monday" # monday | sundaydefault_event_duration_minutes = 60default_reminder_minutes = 10sync_interval_minutes = 15
[popup]enable = false # false abre abaixo do clique/cursor da Waybaranchor = "top-right" # usado apenas quando enable = truemargin_top = 8margin_right = 10margin_bottom = 8margin_left = 8
[editor]command = "" # usa $VISUAL, depois $EDITOR, depois nanoargs = []
[terminal]command = "" # usa $TERMINAL, depois kittyargs = []O botão de engrenagem no popup abre o mesmo arquivo de configuração. O popup recarrega a configuração a cada reinício; gnarus-calendar reload atualiza o CSS/tema externo no popup em execução.
Caminhos
Seção intitulada “Caminhos”/etc/gnarus-calendar/config.toml configuração de sistema (o pacote entrega um default)/etc/gnarus-calendar/style.css estilos de estrutura do popup/etc/gnarus-calendar/theme.css tema padrão empacotado/etc/gnarus-calendar/themes/ arquivos de tema GNARUS$XDG_DATA_HOME/gnarus-calendar/ banco de dados SQLite$XDG_STATE_HOME/gnarus-calendar/ estado de runtime$XDG_CACHE_HOME/gnarus-calendar/ socket IPC, toggle de eventos e tema ativoEventos e lembretes
Seção intitulada “Eventos e lembretes”Os eventos ficam em um banco de dados SQLite. Os lembretes podem ser desativados ou configurados em horas e minutos antes do início; eventos de dia inteiro podem repetir a notificação em um intervalo escolhido durante o dia. Eventos encerrados antes do dia local atual são removidos permanentemente, e novos eventos não podem ser criados em datas passadas.
Os lembretes são confiáveis enquanto o gnarus-calendar service estiver rodando, ou quando o serviço systemd de usuário fornecido estiver habilitado:
systemctl --user enable --now gnarus-calendar.serviceA seção de eventos é controlada pelo toggle dentro da janela e persistida em $XDG_CACHE_HOME/gnarus-calendar/events-enabled; ela não é configurada em config.toml.
Importação e exportação ICS são suportadas por gnarus-calendar import e gnarus-calendar export. O suporte a CalDAV é implementado como uma base de cliente HTTP/XML interno mantida; o gerenciamento de contas e a reconciliação completa do banco são o próximo passo de integração.
O estilo é externo: /etc/gnarus-calendar/style.css fornece a estrutura, /etc/gnarus-calendar/theme.css fornece o tema padrão empacotado, /etc/gnarus-calendar/themes/ contém os temas GNARUS, e $XDG_CACHE_HOME/gnarus-calendar/theme.css é o tema ativo em nível de usuário escrito pelo alternador de temas do GNARUS.
Temas GNARUS suportados: Dark, Dark Float, Dark Silver, Dark Silver Float, Slate e Slate Float. O popup acompanha a família de tema do desktop e lê o tema ativo de ~/.config/gnarus/.active-theme.
O gnarus-calendar é empacotado pelo gnarus-pkgbuild em arch/gnarus-calendar/PKGBUILD. Ele instala /usr/bin/gnarus-calendar, os defaults em /etc/gnarus-calendar/ e a unit systemd de usuário em /usr/lib/systemd/user/gnarus-calendar.service.