You are not logged in.

#1 2025-02-15 15:49:12

AchillesGH
Member
Registered: 2024-10-08
Posts: 4

Hyprlock fails to apply before suspend.

Hello, I'm having a problems with  Hypridle and Hyprlock that claim to be solved here: https://github.com/hyprwm/hypridle/pull/122.

I'm on a Laptop.

However, it isn't my case. I'm on latest Hyprlock and Hyprland, but it seems suspend is just too fast for hyprlock to apply. When I wake up my system from suspend, it briefly flashes my desktop and then applies it, but this isn't the main problem.

The main problem is, the cursor is visible on wake up (it should be disabled according to my config for hyprlock), because hyprlock isn't focused, but rather the window behind it, which allows interactions via keyboard until I move the cursor, which is a security hole.

Here is my Hypridle config:

general {
    lock_cmd = pidof hyprlock || hyprlock      # avoid starting multiple hyprlock instances.
    before_sleep_cmd = loginctl lock-session    # lock before suspend.
    after_sleep_cmd = hyprctl dispatch dpms on  # to avoid having to press a key twice to turn on the display.
    inhibit_sleep = 3
}

listener {
    timeout = 150                                # 2.5min.
    on-timeout = brightnessctl -s set 10         # set monitor backlight to minimum, avoid 0 on OLED monitor.
    on-resume = brightnessctl -r                 # monitor backlight restore.
}

# turn off keyboard backlight, comment out this section if you dont have a keyboard backlight.
listener { 
    timeout = 150                                          # 2.5min.
    on-timeout = brightnessctl -sd rgb:kbd_backlight set 0 # turn off keyboard backlight.
    on-resume = brightnessctl -rd rgb:kbd_backlight        # turn on keyboard backlight.
}

listener {
    timeout = 300                                 # 5min
    on-timeout = loginctl lock-session            # lock screen when timeout has passed
}

listener {
    timeout = 330                                 # 5.5min
    on-timeout = hyprctl dispatch dpms off        # screen off when timeout has passed
    on-resume = hyprctl dispatch dpms on          # screen on when activity is detected after timeout has fired.
}

listener {
    timeout = 600                                # 30min
    on-timeout = systemctl suspend                # suspend pc
}

and Hyprlock:

# BACKGROUND
background {
    monitor =
    path = ~/Pictures/wallpaper/astro.jpg
    blur_passes = 2
    contrast = 0.8916
    brightness = 0.8916
    vibrancy = 0.8916
    vibrancy_darkness = 0.0
}

# GENERAL
general {
    no_fade_in = false
    grace = 0
    disable_loading_bar = false
    hide_cursor = true
}
auth {
    fingerprint {
        enabled = true
        ready_message = "yse "
      }
  }
# Profie-Photo
image {
    monitor =
    path = ~/.config/hypr/vivek.png
    border_size = 2
    border_color = rgba(216, 222, 233, 0.80)
    size = 100
    rounding = -1
    rotate = 0
    reload_time = -1
    reload_cmd = 
    position = 25, 200
    halign = center
    valign = center
}


# Time
label {
    monitor =
    text = cmd[update:5000] echo "<span>$(date +"%I:%M")</span>"
    color = rgba(216, 222, 233, 0.80)
    font_size = 160
    font_family = SF Pro Display Bold
    position = 30, 70
    halign = center
    valign = center
}

# Day-Month-Date
label {
    monitor =
    text = cmd[update:1000] echo -e "$(date +"%A, %B %d")"
    color = rgba(216, 222, 233, .80)
    font_size = 38
    font_family = SF Pro Display Bold
    position = 35, 198
    halign = center
    valign = center
}


# USER
label {
    monitor =
    text =     $USER
    color = rgba(216, 222, 233, 0.80)
    outline_thickness = 0
    dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
    dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
    dots_center = true
    font_size = 28
    font_family = SF Pro Display Bold
    position = 38, -190
    halign = center
    valign = center
}

# INPUT FIELD
input-field {
    monitor =
    size = 380, 80
    outline_thickness = 0
    dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
    dots_spacing = 0.2 # Scale of dots' absolute size, 0.0 - 1.0
    dots_center = true
    outer_color = rgba(255, 255, 255, 0)
    inner_color = rgba(255, 255, 255, 0.1)
    font_color = rgb(200, 200, 200)
    fade_on_empty = false
    font_family = SF Pro Display Bold
    placeholder_text = <i><span foreground="##ffffff99">?  Enter Pass</span></i>
    hide_input = false
    position = 34, -288
    halign = center
    valign = center
    rounding = 16
}

To summarize: I want hyprlock to apply completely before suspend events like manual, idle (it already does w/ hypridle) and Lid
It works if I manually lock before.
Thanks!

Offline

Board footer

Powered by FluxBB