Pular para o conteúdo

Configuração Avançada

Depois de se sentir confortável com o básico da Configuração, estes padrões ajudam você a ajustar ainda mais o Tsumiki.

Widgets personalizados compatíveis com Waybar que executam comandos shell externos com análise de saída configurável e manipulação de cliques.

[[widgets.custom_widget]]
id = "volume"
exec = "pamixer --get-volume"
format = "󰕾 {}%"
interval = 1
on_scroll_up = "pamixer -i 5"
on_scroll_down = "pamixer -d 5"
exec_on_event = true
[layout]
left_section = ["@custom_widget:volume", "workspaces"]

Opções completas de configuração:

Chave Tipo Padrão Descrição
id string Identificador único para referência no layout (@custom_widget:meu-id)
exec string obrigatório Comando shell a ser executado
interval int 0 Intervalo de atualização em segundos (0 = executar uma vez)
return_type string "plain" Formato de saída: "plain" ou "json"
label_format string "{}" String de formato onde {} é substituído pela saída
exec_on_event bool false Reexecutar comando após clique/rolagem
max_length int 0 Comprimento máximo do texto (0 = sem limite)
min_length int 0 Comprimento mínimo do texto (preenche com espaços)
rotate int 0 Rotacionar texto em graus
tooltip bool true Mostrar dica de ferramenta com a saída
tooltip_format string String de formato da dica de ferramenta
on_click string Comando de clique esquerdo
on_click_right string Comando de clique direito
on_click_middle string Comando de clique do meio
on_scroll_up string Comando de rolagem para cima
on_scroll_down string Comando de rolagem para baixo
signal int Número do sinal para gatilhos de eventos sig*
restart_interval int Intervalo de reinicialização para scripts persistentes

Agrupe widgets com espaçamento e estilo compartilhados: Referencie um grupo em seu layout com @group:N (índice baseado em zero) ou @group:id (identificador de texto):

[[widget_groups]]
id = "sys-group"
widgets = ["updates", "battery"]
spacing = 4
style_classes = ["bordered"]

Referencie no layout com @group:sys-group.

[layout]
right_section = ["@group:sys-group", "system_tray"]

Oculte widgets menos usados atrás de uma alternância:

[[collapsible_groups]]
id = "utility-tools"
widgets = ["ocr", "screenshot", "recorder"]
spacing = 4
icon = "󰒓"
tooltip = "Ferramentas"
style_classes = ["utility-tools"]

Referencie no layout com @collapsible:utility-tools.

right_section = ["@collapsible:utility-tools", "system_tray"]

Um botão personalizado independente que executa um comando shell quando clicado. Referencie-o diretamente pelo nome em uma seção do layout.

[widgets.custom_button]
command = "firefox"
icon = "󰈹"
label_text = "Firefox"
tooltip_text = "Abrir navegador Firefox"
show_icon = true
label = false
tooltip = true

Coloque-o no layout como qualquer widget normal:

[layout]
left_section = ["custom_button", "workspaces"]

Um grupo de botões de comando personalizados. Cada botão no grupo pode ser referenciado via @custom_button:N ou @custom_button:id:

[widgets.custom_button_group]
spacing = 4
[[widgets.custom_button_group.buttons]]
id = "firefox"
command = "firefox"
icon = "󰈹"
label_text = "Firefox"
tooltip_text = "Abrir navegador Firefox"
show_icon = true
label = false
tooltip = true
[layout]
left_section = ["@custom_button:firefox"]