Configuración Avanzada
Una vez que te sientas cómodo con los conceptos básicos de Configuración, estos patrones te ayudarán a ajustar Tsumiki aún más.
Widget Personalizado
Sección titulada «Widget Personalizado»Widgets personalizados compatibles con Waybar que ejecutan comandos shell externos con análisis de salida configurable y manejo de clics.
[[widgets.custom_widget]]id = "volume"exec = "pamixer --get-volume"format = " {}%"interval = 1on_scroll_up = "pamixer -i 5"on_scroll_down = "pamixer -d 5"exec_on_event = true
[layout]left_section = ["@custom_widget:volume", "workspaces"]Opciones de configuración completas:
| Clave | Tipo | Predeterminado | Descripción |
|---|---|---|---|
id |
string | — | Identificador único para referenciar en el diseño (@custom_widget:mi-id) |
exec |
string | requerido | Comando shell a ejecutar |
interval |
int | 0 |
Intervalo de actualización en segundos (0 = ejecutar una vez) |
return_type |
string | "plain" |
Formato de salida: "plain" o "json" |
label_format |
string | "{}" |
Cadena de formato donde {} se reemplaza con la salida |
exec_on_event |
bool | false |
Re-ejecutar comando después de clic/desplazamiento |
max_length |
int | 0 |
Longitud máxima de texto (0 = sin límite) |
min_length |
int | 0 |
Longitud mínima de texto (rellena con espacios) |
rotate |
int | 0 |
Rotar texto en grados |
tooltip |
bool | true |
Mostrar tooltip con la salida |
tooltip_format |
string | — | Cadena de formato del tooltip |
on_click |
string | — | Comando de clic izquierdo |
on_click_right |
string | — | Comando de clic derecho |
on_click_middle |
string | — | Comando de clic medio |
on_scroll_up |
string | — | Comando de desplazamiento hacia arriba |
on_scroll_down |
string | — | Comando de desplazamiento hacia abajo |
signal |
int | — | Número de señal para activadores de eventos sig* |
restart_interval |
int | — | Intervalo de reinicio para scripts persistentes |
Grupos de Widgets
Sección titulada «Grupos de Widgets»Agrupa widgets con espaciado y estilo compartidos:
Referencia un grupo en tu diseño con @group:N (índice basado en cero) o @group:id (identificador textual) :
[[widget_groups]]id = "sys-group"widgets = ["updates", "battery"]spacing = 4style_classes = ["bordered"]Referencia en el diseño con @group:sys-group.
[layout]right_section = ["@group:sys-group", "system_tray"]Grupos Plegables
Sección titulada «Grupos Plegables»Oculta widgets menos usados detrás de un alternador:
[[collapsible_groups]]id = "utility-tools"widgets = ["ocr", "screenshot", "recorder"]spacing = 4icon = ""tooltip = "Utilidades"style_classes = ["utility-tools"]Referencia en el diseño con @collapsible:utility-tools.
right_section = ["@collapsible:utility-tools", "system_tray"]Botón Personalizado
Sección titulada «Botón Personalizado»Un botón personalizado independiente que ejecuta un comando shell al hacer clic. Referéncialo directamente por su nombre en una sección de diseño.
[widgets.custom_button]command = "firefox"icon = ""label_text = "Firefox"tooltip_text = "Abrir navegador Firefox"show_icon = truelabel = falsetooltip = trueColócalo en el diseño como cualquier widget normal:
[layout]left_section = ["custom_button", "workspaces"]Grupo de Botones Personalizados
Sección titulada «Grupo de Botones Personalizados»Un grupo de botones de comando personalizados. Cada botón del grupo se puede referenciar mediante @custom_button:N o @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 = truelabel = falsetooltip = true
[layout]left_section = ["@custom_button:firefox"]