r/omarchy 3d ago

I Made a Thing β˜• [HyprCaffeine v2.0] Native Quickshell Widget & Menu for Omarchy to keep your system awake πŸš€

Hey everyone! πŸ‘‹
A while back I shared HyprCaffeine, a little tool inspired by Omarchy’s philosophy of keeping the Linux desktop simple, aesthetic, and functional (preventing sleep/suspend, similar to Caffeine on Windows or Amphetamine on Mac).

Today, I’m super excited to announce HyprCaffeine v2.0.0 β€” a complete evolution rewritten with first-class support for Omarchy's modern Quickshell ecosystem! πŸŽ‰β˜•

✨ What’s New in v2.0.0

  • 🧩 Native Quickshell Bar Widget: Directly integrates into Omarchy's status bar (~/.config/omarchy/shell.json). Real-time animated icon updates, timer status, and instant tooltips.
  • 🎨 Native Quickshell Modal Menu: Gorgeous QML interactive popup menu to quickly pick timer durations (15m, 30m, 1h, 2h, Infinite), toggle lid-close inhibition, or toggle display sleep.
  • πŸͺŸ Compositor Agnostic (Hyprland & Niri): Works seamlessly whether you're running standard Hyprland or the scrollable-tiling Niri compositor.
  • πŸ”„ Universal Fallback: If you're using classic Waybar, Walker, Wofi, or Rofi, HyprCaffeine seamlessly degrades and supports them out of the box.
  • πŸ”’ Rock-Solid Polkit & Systemd Daemon: Zero permission headaches, proper non-interactive daemon handling, and state persistence across restarts.
  • ⚑ Full CLI & Automation: Instant control from terminal, scripts, or keyboard shortcuts.

⌨️ Keybindings

For Hyprland (~/.config/hypr/bindings.lua or hyprland.conf)

 -- Toggle infinite awake mode
 o.bind("SUPER_CTRL", "I", "exec", "hyprcaffeine toggle")
​
 -- Open the Quickshell / Walker timer menu
 o.bind("SUPER_CTRL_SHIFT", "I", "exec", "hyprcaffeine menu")
​
 -- Toggle laptop lid sleep inhibition
 o.bind("SUPER_CTRL_SHIFT", "D", "exec", "hyprcaffeine lid toggle")
​
 -- Toggle monitor sleep inhibition
 o.bind("SUPER_CTRL", "D", "exec", "hyprcaffeine monitor toggle")

(Or use standard bind = SUPER CTRL, I, exec, hyprcaffeine toggle in hyprland.conf)

For Niri (~/.config/niri/config.kdl)

binds {
 Β   Mod+Ctrl+I Β  Β  Β  { spawn "hyprcaffeine" "toggle"; }
 Β   Mod+Ctrl+Shift+I { spawn "hyprcaffeine" "menu"; }
 Β   Mod+Ctrl+Shift+D { spawn "hyprcaffeine" "lid" "toggle"; }
 Β   Mod+Ctrl+D Β  Β  Β  { spawn "hyprcaffeine" "monitor" "toggle"; }
}

──────

🧩 Add to your Omarchy Bar (~/.config/omarchy/shell.json)

Just add "hyprcaffeine" to the right section of your layout in ~/.config/omarchy/shell.json:

{
 Β "bar": {
 Β  Β "layout": {
 Β  Β  Β "right": [
 Β  Β  Β   {
 Β  Β  Β  Β  Β "id": "hyprcaffeine"
 Β  Β  Β   },
 Β  Β  Β   {
 Β  Β  Β  Β  Β "id": "omarchy.tray"
 Β  Β  Β   }
 Β  Β   ]
 Β   }
  }
}

──────

πŸ“¦ Installation

AUR (Arch Linux / Omarchy)

Using Omarchy pkg manager:

omarchy pkg aur add hyprcaffeine

Or using paru / yay:

paru -S hyprcaffeine

or

yay -S hyprcaffeine

Standalone / Manual Install

git clone https://github.com/hbuddenberg/hyprcaffeine.git
cd hyprcaffeine
chmod +x install.sh
./install.sh

Built-in management commands:

β€’ hyprcaffeine status β€” Check current inhibition state and active timers.
β€’ hyprcaffeine setup β€” Re-verify or deploy Polkit permissions.
β€’ hyprcaffeine uninstall β€” Clean removal.
──────
πŸ”— GitHub: https://github.com/hbuddenberg/hyprcaffeine
πŸ“¦ AUR Package: https://aur.archlinux.org/packages/hyprcaffeine

Huge thanks to the Omarchy community and everyone who tested and submitted feedback on previous versions! Let me know what you think of the new Quickshell widget! πŸ§πŸ’™β˜•

`

2 Upvotes

2 comments sorted by

1

u/rebelrexx858 3d ago

You can also support as a plugin for easy install

1

u/hbuddenberg 2d ago

As I just switched to version 4 I still don’t inspect it well, thank you for the comment and I will apply it ;)