Next: , Previous: , Up: API  


1.22 (heks-linux waybar)

1.22.1 Parameters

Parameter: waybar-battery-critical

Default value:

15
Parameter: waybar-battery-warning

Default value:

30
Parameter: waybar-border-radius

Default value:

"0px"
Parameter: waybar-clock-format

Default value:

"@{:%a %d %b  %H:%M@}"
Parameter: waybar-clock-interval

Default value:

60
Parameter: waybar-config-dir

Default value:

"/root/.config/waybar"
Parameter: waybar-config-filename

Default value:

"config.jsonc"
Parameter: waybar-font-size

Default value:

"10pt"
Parameter: waybar-height

Default value:

38
Parameter: waybar-margin-bottom

Default value:

"0px"
Parameter: waybar-margin-left

Default value:

"12px"
Parameter: waybar-margin-right

Default value:

"12px"
Parameter: waybar-margin-top

Default value:

"6px"
Parameter: waybar-modules-left

Default value:

#(custom/waybar-start-button clock custom/media)
Parameter: waybar-modules-right

Default value:

#(custom/heks-info custom/mako-dnd niri/language pulseaudio power-profiles-daemon cpu memory backlight keyboard-state battery custom/power tray)
Parameter: waybar-position

Default value:

top
Parameter: waybar-power-menu-filename

Default value:

"power_menu.xml"
Parameter: waybar-start-label

Default value:

"λ Heks GNU/Linux"
Parameter: waybar-style-filename

Default value:

"style.css"

1.22.2 Procedures

Procedure: install-waybar-config

Write config.jsonc, style.css and power_menu.xml. Local overrides are read from $XDG_CONFIG_HOME/heks-linux/waybar-settings.scm first. Waybar has no hot reload, so restart it after a change.

Procedure: waybar-audio-icon

Return the PulseAudio volume indicator. Shows the volume, the active source and a Bluetooth badge when a headset is connected, with a glyph that changes with the output device.

Procedure: waybar-backlight

Return the screen backlight indicator. Shows the brightness percentage with a glyph that brightens as the value rises.

Procedure: waybar-bar-bg

Return the bar’s own styling attributes. The background and border are palette colours rendered as rgba(), with the background kept slightly translucent so the compositor blur shows through.

Procedure: waybar-battery

Return the battery indicator. The warning and critical thresholds come from the module parameters, and the glyph changes while the machine is charging.

Procedure: waybar-clock

Return the clock. Its format string and refresh interval are parameters, so the bar can show seconds or a longer date without touching the renderer.

Procedure: waybar-conf KEY: #:palette

WayBar configuration, defined in Guile Scheme, a status bar with a detailed, modular setup.

Procedure: waybar-css

Defines a CSS configuration for Heks-Linux Waybar using Scheme.

Procedure: waybar-info-button

Return the Heks Linux info button. A left click conjures the Niri hotkey overlay, a right click opens the project page.

Procedure: waybar-mako-dnd

Do-not-disturb indicator. Renders DND while the mako do-not-disturb mode is active and toggles it on click.

Procedure: waybar-media

Return the now-playing indicator. Driven by playerctl: it shows the current title and artist, toggles playback on click, and falls back to the word Silence when nothing is playing.

Procedure: waybar-power-button

Return the session power button. Its menu lives in power_menu.xml next to the bar configuration and covers locking the session through to rebooting the machine.

Procedure: waybar-power-profiles

Return the power-profiles-daemon indicator. Shows the active profile with a per-profile glyph and names the driver in its tooltip.

Procedure: waybar-start-button KEY: #:content

Return the launcher button at the left edge of the bar. content is the label. A left click opens the Rofi launcher and a right click the Niri hotkey overlay.

Procedure: waybar-taskbar

Return the window taskbar. Lists open windows with their icons and titles; a click activates a window and a middle click minimizes it.

1.22.3 Variables

Variable: waybar-battery-2
(#@{battery#bat2@}# (bat . "BAT2"))
Variable: waybar-power-menu
(*TOP* (*PI* xml "version=\"1.0\" encoding=\"UTF-8\"") (interface (object (@@ (class "GtkMenu") (id "menu")) (child (object (@@ (class "GtkMenuItem") (id "suspend")) (property (@@ (name "label")) "Suspend"))) (child (object (@@ (class "GtkMenuItem") (id "hibernate")) (property (@@ (name "label")) "Hibernate"))) (child (object (@@ (class "GtkMenuItem") (id "logout")) (property (@@ (name "label")) "Log Out"))) (child (object (@@ (class "GtkSeparatorMenuItem") (id "delimiter1")))) (child (object (@@ (class "GtkMenuItem") (id "shutdown")) (property (@@ (name "label")) "Shutdown"))) (child (object (@@ (class "GtkMenuItem") (id "reboot")) (property (@@ (name "label")) "Reboot"))))))

Next: (heks-linux wezterm), Previous: (heks-linux wallpaper), Up: API