--- title: waybar-pomodoro-not-showing type: note permalink: dotfiles/plans/waybar-pomodoro-not-showing tags: - waybar - pomodoro - plan --- # Waybar Pomodoro Not Showing Implementation Plan > For implementation: use `subagent-driven-development` when subagents are available; otherwise use `executing-plans`. **Goal:** Restore the Waybar pomodoro module so it reliably appears on the bar. **Architecture:** The `custom/pomodoro` Waybar module depends on an external `waybar-module-pomodoro` binary and a preset helper script. The most likely failure mode is launch-time PATH mismatch between Hyprland/Waybar and the interactive shell, so the minimal fix is to make module and helper invocations explicit and independent of shell PATH. **Tech Stack:** JSONC-style Waybar config, shell script, Hyprland/Wayland desktop environment. ## File map - Modify `.config/waybar/config` — make the pomodoro module invoke the binary explicitly. - Modify `.config/waybar/scripts/pomodoro-preset.sh` — make the preset helper use the same explicit binary path. ## Task 1: Fix pomodoro command wiring **Files:** - Modify: `.config/waybar/config` - Modify: `.config/waybar/scripts/pomodoro-preset.sh` **Acceptance criteria:** - `custom/pomodoro` no longer depends on login-session PATH to find `waybar-module-pomodoro`. - Right-click preset switching still works. - The change is minimal and limited to pomodoro-related wiring. **Non-goals:** - Do not refactor unrelated Waybar modules. - Do not add system-wide installation steps or package management changes. **Verification:** - Run `bash -n /home/alex/dotfiles/.config/waybar/scripts/pomodoro-preset.sh` successfully. - Run `/home/alex/.local/bin/waybar-module-pomodoro --help` successfully to verify the explicit binary path exists. - Inspect resulting config references to confirm they use the explicit path consistently. **Likely regression surfaces:** - Right-click preset command path drift. - Middle-click reset command still using the old bare binary name. ## Pre-mortem - Most likely failure: only one of the pomodoro entry points is updated, leaving click actions broken. - Fragile assumption: the binary remains at `/home/alex/.local/bin/waybar-module-pomodoro`. - Redesign trigger: if the binary path is unstable across sessions or machines, prefer a Hyprland PATH fix instead. - Easy-to-miss regression: preset helper still using `command -v` and failing under Waybar's environment. ## Execution notes - Updated `.config/waybar/config` `custom/pomodoro` wiring to use `$HOME/.local/bin/waybar-module-pomodoro` for `exec`, `on-click`, and `on-click-middle`. - Updated `.config/waybar/scripts/pomodoro-preset.sh` to remove PATH reliance by introducing `POMODORO_BIN="$HOME/.local/bin/waybar-module-pomodoro"`, replacing the `command -v` guard with `[[ ! -x "$POMODORO_BIN" ]]`, and routing all `set-work`/`set-short`/`set-long` calls through `"$POMODORO_BIN"`. - Scope remained pomodoro-only; no unrelated Waybar modules or scripts were changed. ## Outcomes - `bash -n /home/alex/dotfiles/.config/waybar/scripts/pomodoro-preset.sh` passed (no syntax errors). - `/home/alex/.local/bin/waybar-module-pomodoro --help` succeeded and printed usage, confirming explicit-path binary availability. - No practical automated test harness exists here for full Waybar runtime rendering in this task context; verification used the minimal command-level checks above.