Skip to content

Releases: hbuddenberg/hyprcaffeine

v0.9.2 — waybar removal + reload fixes

Choose a tag to compare

@hbuddenberg hbuddenberg released this 02 Jul 21:26
acdd0c8

Fixes

  • Waybar removal array-agnostic (#10): waybar-remove (and setup --force) now scrubs custom/hyprcaffeine from any modules-* array — not just modules-right. Prevents orphaned placement references after uninstall when the module was in modules-left or modules-center. Drops dead helpers _in_modules_right / _get_modules_right_block. Thanks @Mahlski.

  • Waybar reload via SIGUSR2 (#11): Replaces the fragile pkill + hyprctl dispatch exec waybar restart path with pkill -SIGUSR2 -x waybar — waybar's documented in-place reload signal. Fixes dead bar on Lua-config Hyprland where dispatch was blocked. Removes hardcoded UID/WAYLAND_DISPLAY/instance-signature assumptions. Both scripts now shellcheck-clean. Thanks @Mahlski.

Full changelog: v0.9.1...v0.9.2

v0.9.1 — waybar module placement fix

Choose a tag to compare

@hbuddenberg hbuddenberg released this 27 Jun 15:13
f121a80

Fixes

  • Waybar auto-integration (#7): waybar-setup now detects the module as an element of any modules-* array (not just modules-right) and skips repositioning when already placed, preventing duplicate entries on reinstall / post_upgrade. Thanks @Mahlski.

Full changelog: v0.9.0...v0.9.1

v0.9.0 — menu presets, blank-option and Lua keybind fixes

Choose a tag to compare

@hbuddenberg hbuddenberg released this 24 Jun 14:57

Fixes

#6 — Config not working

The interactive menu now honors timeouts.presets from your config.yaml instead of showing hardcoded durations. Removing or customizing a preset (e.g. the default 15 min) now takes effect. Applies to both the Bash menu (caffeine-menu.sh) and the Waybar menu (ui-engine.sh).

#5 — Last Blank Option

Menu rendering switched from echo -e (which left a trailing empty line) to printf '%s\n'. This removes the spurious blank, unselectable option at the end of the list in walker, wofi, and rofi. UpArrow + Enter now reaches the last real option in one keypress.

#4 — Support Hyprland's new Lua config

Hyprland's Lua config is now supported. Keybind format is chosen by which config you actually have on disk (hyprland.lua vs hyprland.conf), not by the Hyprland version. This fixes keybindings silently failing for hyprland.conf users on Hyprland ≥0.55, who were wrongly switched to the Lua path. The generated Lua uses the hl.bind / hl.dsp.exec_cmd API and is pulled in via require("hyprcaffeine-keybinds").

Other

  • Installer no longer suppresses keybind-install stderr, so format/source errors surface instead of failing silently.

Install: hyprcaffeine 0.9.0 is on GitHub. AUR update is incoming. Please try it and report back!

v0.8.5 — Rofi support for interactive menus

Choose a tag to compare

@hbuddenberg hbuddenberg released this 28 May 22:38

What's New

Added

  • Interactive menus: Add rofi as a supported fallback for interactive menus (selection and custom-duration input). wofi remains supported on Wayland; gum is still used for TUI-style menus.

Menu fallback order

walkerwofirofigum

Full Changelog: v0.8.4-2...v0.8.5

v0.8.4-2

Choose a tag to compare

@hbuddenberg hbuddenberg released this 26 May 11:37

[0.8.4] — 2026-05-26

Fixes

  • Setup (polkit): do_setup() no longer attempts to read or verify the polkit rule file from user context. /etc/polkit-1/rules.d/ is 0750 root:polkitd — non-root users cannot stat files inside it, so -f always returned false, causing a spurious "Not found or outdated → reinstalling" path that then failed with sudo requiring a TTY. The user-context branch now skips validation entirely and prints guidance to run sudo hyprcaffeine polkit install if needed.

v0.8.3

Choose a tag to compare

@hbuddenberg hbuddenberg released this 25 May 18:49

What's Changed

Fixes

  • Setup (polkit): do_setup() now verifies polkit rule content before attempting reinstall. Previously it tried sudo unconditionally which failed in runuser context (no TTY). Now checks if the rule file exists AND contains valid inhibit action IDs — only reinstalls if missing or invalid.

Installation

AUR (recommended)

```
yay -S hyprcaffeine
```

Manual

Download the tarball, extract, and run ./install.sh.

v0.8.2

Choose a tag to compare

@hbuddenberg hbuddenberg released this 25 May 18:05

v0.8.2 — Polkit always reinstall

Fixes

  • Setup (polkit): do_setup() now always reinstalls the polkit rule instead of skipping when the file already exists. Previously, if the rule was present (even with stale/incorrect content), setup would report "Already installed" and skip — potentially leaving broken sleep/lid inhibition. The rule is now unconditionally overwritten on every hyprcaffeine setup and post_upgrade run.

v0.8.1

Choose a tag to compare

@hbuddenberg hbuddenberg released this 25 May 13:41

fix: deterministic source tarball for AUR

v0.8.0

Choose a tag to compare

@hbuddenberg hbuddenberg released this 22 May 20:25

What's Changed

New Subcommands

  • hyprcaffeine polkit install|remove|status — instala/remueve la regla polkit con sudo automático; el hook AUR corre como root, sin prompts extra.
  • hyprcaffeine setup / reinstall — orquesta polkit + waybar + systemd + keybinds en un solo paso; omite polkit si ya está instalado.
  • hyprcaffeine uninstall — limpia keybinds, waybar, systemd, caché y pregunta antes de borrar config y regla polkit.

Fixes

  • Installer (.install): Reemplaza su - por runuser -l para delegación root→usuario sin TTY en hooks de pacman.
  • post-install.sh: Simplificado — delega completamente a hyprcaffeine setup.
  • polkit.rules: Usa polkit-setup.sh (wheel group) en lugar de template USER_PLACEHOLDER.
  • Installer (install.sh): Agrega paso de keybindings al flujo de instalación.

Full Changelog: https://github.com/hbuddenberg/hyprcaffeine/blob/master/CHANGELOG.md

v0.7.8

Choose a tag to compare

@hbuddenberg hbuddenberg released this 22 May 00:29

What's Changed

Fixes

  • Watcher: Resolve socket path dynamically and scan runtime directories (Hyprland v0.54.x+).
  • Watcher: Tolerate missing socket at startup and retry in background.
  • Systemd: Tolerate watcher-start failure in oneshot unit so restored inhibitors survive boot.
  • Installer: Make polkit installation failure non-fatal for user-local installs.
  • Installer: Add keybinding setup step so Hyprland keybindings are configured automatically during installation.
  • wofi: Use -H instead of -h for menu height (was triggering --help).

Full Changelog: https://github.com/hbuddenberg/hyprcaffeine/blob/master/CHANGELOG.md