🦥 Hypridle suspend and refactor

This commit is contained in:
Martin Berg Alstad 2025-01-04 23:06:06 +01:00
parent 7b3a5b13ea
commit a5da3d0924
Signed by: martials
GPG Key ID: A3824877B269F2E2
2 changed files with 25 additions and 9 deletions

View File

@ -1,25 +1,36 @@
{ ... }:
let
# Time in seconds
lockAfter = 1200;
suspendAfter = 7200;
in
{
services.hypridle = {
enable = true;
settings = {
general = {
before_sleep_cmd = "loginctl lock-session";
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
lock_cmd = "pidof hyprlock || hyprlock"; # Avoid running multiple instances of hyprlock
};
listener = [
# Lock
{
timeout = 900; # 15 min
on-timeout = "hyprlock";
timeout = lockAfter;
on-timeout = "loginctl lock-session";
}
# Turn off screens TODO buggy main monitor, turns off and on after resume
# {
# timeout = 120;
# on-timeout = "hyprctl dispatch dpms off";
# on-resume = "hyprctl dispatch dpms on";
# }
# Suspend
{
timeout = suspendAfter;
on-timeout = "systemctl suspend"; # suspend pc
}
# {
# timeout = 1200;
# on-timeout = "hyprctl dispatch dpms off";
# on-resume = "hyprctl dispatch dpms on";
# }
];
};
};

View File

@ -392,3 +392,8 @@ windowrulev2 = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
# Avoid locking in fullscreen
windowrulev2 = idleinhibit fullscreen, class:^(*)$
windowrulev2 = idleinhibit fullscreen, title:^(*)$
windowrulev2 = idleinhibit fullscreen, fullscreen:1