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.yamlcontent andstyles.csscontent - When applying: Writes both files to the config directory, launches
yasb.exeif 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 bothEngine\ModsandModsunderHKLM/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
.regfile, 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 |