Tools Reference

Detailed reference for each tool managed by Kalam — Rainmeter, YASB, GlazeWM, Zebar, Windhawk, and Wallpaper.

Rainmeter

  • What Kalam manages: Layout selection and activation
  • Config path: %APPDATA%/Rainmeter/Layouts/ (reads layout subdirectories)
  • Settings path in Kalam: Rainmeter Path (path to Rainmeter.exe)
  • Profile field: Layout name (selected from dropdown or typed manually)
  • When applying: Launches Rainmeter if not running, then loads the selected layout with !LoadLayout
  • When profile has no layout: Kills Rainmeter if it's running
  • Prerequisite: Rainmeter must be installed with at least one layout in the Layouts folder

YASB (Yet Another Status Bar)

  • What Kalam manages: Full config injection (YAML + CSS)
  • Config path: User-specified YASB Config Path (e.g., C:\Users\Name\.config\yasb)
  • Profile fields: config.yaml content and styles.css content
  • When applying: Writes both files to the config directory, launches yasb.exe if not running
  • When either field is empty: Kills YASB if it's running
  • Prerequisite: YASB must be installed and the config path must be set in Settings

GlazeWM

  • What Kalam manages: Window manager config (config.yaml)
  • Config path: User-specified GlazeWM Config Path (e.g., C:\Users\Name\.glzr\glazewm)
  • Profile field: Full YAML config content
  • When applying: Writes config.yaml, sends a graceful exit command to GlazeWM, then relaunches it
  • When field is empty: Sends exit command to stop GlazeWM if running
  • Prerequisite: GlazeWM must be installed and the config path must be set in Settings
  • Note: GlazeWM restarts automatically with the new config. All window tiling rules are reloaded.

Zebar

  • What Kalam manages: Status bar settings (settings.json)
  • Config path: User-specified Zebar Config Path (e.g., C:\Users\Name\AppData\Roaming\zebar)
  • Profile field: Full JSON settings content
  • When applying: Writes settings.json, kills Zebar if running, then relaunches it
  • When field is empty: Kills Zebar if it's running
  • Prerequisite: Zebar must be installed and the config path must be set in Settings

Windhawk

  • What Kalam manages: Per-mod enabled/disabled state and per-mod settings
  • Config mechanism: Windows Registry — writes to HKLM\SOFTWARE\Windhawk\Engine\Mods\; reads from both Engine\Mods and Mods under HKLM/HKCU
  • Settings in Kalam: Windhawk Type (Installed vs Portable) and Windhawk Path
  • Profile field: Array of mods, each with an ID, enabled state, and JSON settings
  • When applying (Installed mode): Writes registry entries with a .reg file, executes via elevated command, then restarts the Windhawk service
  • When applying (Portable mode): Same registry write (with permission warning), kills and relaunches windhawk.exe
  • Mods NOT in the profile are explicitly disabled when applying
  • Smart Restart: Kalam compares current vs desired registry state and skips unnecessary writes
  • Prerequisite: Windhawk must be running. For installed mode, the service must be accessible. For portable mode, the path must be set in Settings.

Wallpaper

  • What Kalam manages: Desktop wallpaper across all virtual desktops
  • Profile field: Path to an image file (PNG/JPG)
  • When applying: Sets the wallpaper on every virtual desktop using pyvda
  • Always applied if a path is provided — not gated behind an "enabled tools" checkbox
  • Prerequisite: The image file must exist at the specified path

Tool Behavior Summary

Tool Config Type Restart Behavior Kill When Disabled
Rainmeter Layout name No restart (just loads layout) Yes
YASB YAML + CSS files No restart (just writes files) Yes
GlazeWM YAML file Graceful exit + relaunch Yes
Zebar JSON file Kill + relaunch Yes
Windhawk Registry entries Service restart (installed) or process restart (portable) All mods disabled
Wallpaper Image path N/A (applied immediately) N/A