Expanding Idleinhibit Window Rule

Hyprland version
Hyprland 0.50.1 built from branch v0.50.1-b at commit 4e242d086e20b32951fdc0ebcbfb4d41b5be8dcc  ([gha] Nix: update inputs).
Date: 2025-07-19
Tag: v0.50.1, commits: 4e242d086e20b32951fdc0ebcbfb4d41b5be8dcc
built against:
 aquamarine 0.9.2
 hyprlang 0.6.3
 hyprutils 0.8.2
 hyprcursor 0.1.13
 hyprgraphics 0.1.5


no flags were set

Describe your issue / feature…

I think it would be good to expand the idleinhibit window rule to be more comprehensive.

idleinhibit currently only takes the parameter, mode. I think a second parameter that allows you to specify what type of idle actions to block would make the rule significantly better. For reference I would point to systemd-inhibit.

I would advise naming this new paramater, type and it’s accepted inputs would be the following

  • all (the current behavior)
  • idle (actions not covered by the other options)
  • shutdown (system shutdown, power-off, reboot, halt)
  • sleep (suspending, hibernating, hybrid-sleeping)
  • power-key (the action when the power button is pressed)
  • suspend-key (the action when the suspend key is pressed)
  • hibernate-key (the action when the hibernate key is pressed)
  • close-lid (the action when the laptop lid is closed).

You should also be able to select any number of inputs for type, for example

windowrule = idleinhibit always,sleep+shutdown,class:^(org.gnome.World.PikaBackup)$ # Pika-backup
  • In the example given we would make pika backup block sleep and shutdown when it is active. This means that (assuming it is configured as such) the lock screen will still go through, the monitor will still turn off, etc. However the backup software will not be interrupted by an idle sleep or shutdown.

If no parameter is selected then it should default to all (thus it wouldn’t affect any existing configurations).

Hyprland doesn’t really depend on systemd, and I wouldn’t really want to add a hard dep for a feature. Without systemd, this is not really possible.

Idleinhibit only runs on the wayland inhibit protocol, it doesn’t actually do anything to the system state. That would be handled by e.g. hypridle.

I see, that’s fair. Excuse my ignorance.