noctalia-shell icon indicating copy to clipboard operation
noctalia-shell copied to clipboard

Lock screen doesn't allow text input when waking from suspend in Hyprland

Open ced4rtree opened this issue 1 month ago • 2 comments

Description

When in Hyprland (I cannot reproduce this in Niri), if I put my laptop to sleep and wake it up, the text input for typing in my password in the lock screen loses focus and cannot regain focus. All of the other buttons still work, so it is still possible to e.g. log out and log back in again.

Steps to Reproduce

  1. Suspend computer (either by closing laptop lid or manually suspending)
  2. Resume computer activity (and be greeted by the noctalia lock screen)
  3. Try to type password into prompt

Expected Behavior

The password prompt should remain in focus and allow me to type my password

Screenshots

I cannot access my screenshot utility at the lock screen, but it largely looks identical, except the text input that usually has a colored border around it now has a greyed out border and no blinking typing prompt.

Environment

  • Distro: NixOS
  • Compositor: Hyprland
  • Noctalia-shell Version: 3.4.0 (tested just after fetching main on rev 078195f54b5ede5d41fa0fea850f6fe220bfc36f)

ced4rtree avatar Nov 29 '25 18:11 ced4rtree

Hey there, I just tested it once again with hyprland on desktop and I can not replicate it. Let me guess, you got a hybrid gpu or something? I remember people talking about it on discord.

Ly-sec avatar Dec 01 '25 14:12 Ly-sec

Hey there, I just tested it once again with hyprland on desktop and I can not replicate it. Let me guess, you got a hybrid gpu or something? I remember people talking about it on discord.

Yes, I have an Nvidia GTX 1650 dGPU and an intel iGPU in my laptop, and I have NixOS set up to use the iGPU by default and offload to the dGPU when an application requests so.

ced4rtree avatar Dec 01 '25 20:12 ced4rtree

Sadly since neither me nor Lemmy have a setup like that available we can't really fix it. So PRs are VERY welcome for that one!

Ly-sec avatar Dec 03 '25 16:12 Ly-sec

Sadly since neither me nor Lemmy have a setup like that available we can't really fix it. So PRs are VERY welcome for that one!

It’s happening to me as well. In end4 there’s a “lock Focus” IPC, and I think implementing the same feature would fix the issue.

This is the Hypridle config with the IPC: https://github.com/end-4/dots-hyprland/blob/80a7804adedf6f7bf6e3f14641d36461a379ba7b/dots/.config/hypr/hypridle.conf#L8

I think this is the implementation: https://github.com/end-4/dots-hyprland/blob/80a7804adedf6f7bf6e3f14641d36461a379ba7b/dots/.config/quickshell/ii/modules/ii/lock/Lock.qml#L166

Please check. I can’t properly use the lock screen because of this.

shadowe1ite avatar Dec 06 '25 19:12 shadowe1ite

Same problem here. Waking up from suspend and can't focus on the password input field.

OS: Arch Linux x86_64 Kernel: Linux 6.17.9-arch1-1 CPU: AMD Ryzen 7 7800X3D (16) @ 5.05 GHz GPU: NVIDIA GeForce RTX 5070 Ti [Discrete] GPU: AMD Raphael [Integrated]

mityakoval avatar Dec 06 '25 20:12 mityakoval

Sadly since neither me nor Lemmy have a setup like that available we can't really fix it. So PRs are VERY welcome for that one!

It’s happening to me as well. In end4 there’s a “lock Focus” IPC, and I think implementing the same feature would fix the issue.

This is the Hypridle config with the IPC: https://github.com/end-4/dots-hyprland/blob/80a7804adedf6f7bf6e3f14641d36461a379ba7b/dots/.config/hypr/hypridle.conf#L8

I think this is the implementation: https://github.com/end-4/dots-hyprland/blob/80a7804adedf6f7bf6e3f14641d36461a379ba7b/dots/.config/quickshell/ii/modules/ii/lock/Lock.qml#L166

Please check. I can’t properly use the lock screen because of this.

I get that end4 and other shells do create a new lock but given that this should be a compositor thing to handle, I'm not sure if we should bother with it. See: https://wayland.app/protocols/ext-session-lock-v1#ext_session_lock_v1 For further reference I'll link the niri faq: https://yalter.github.io/niri/FAQ.html#how-do-i-recover-from-a-dead-screen-locker-from-a-red-screen

Ly-sec avatar Dec 07 '25 22:12 Ly-sec

Sadly since neither me nor Lemmy have a setup like that available we can't really fix it. So PRs are VERY welcome for that one!

It’s happening to me as well. In end4 there’s a “lock Focus” IPC, and I think implementing the same feature would fix the issue. This is the Hypridle config with the IPC: https://github.com/end-4/dots-hyprland/blob/80a7804adedf6f7bf6e3f14641d36461a379ba7b/dots/.config/hypr/hypridle.conf#L8 I think this is the implementation: https://github.com/end-4/dots-hyprland/blob/80a7804adedf6f7bf6e3f14641d36461a379ba7b/dots/.config/quickshell/ii/modules/ii/lock/Lock.qml#L166 Please check. I can’t properly use the lock screen because of this.

I get that end4 and other shells do create a new lock but given that this should be a compositor thing to handle, I'm not sure if we should bother with it. See: https://wayland.app/protocols/ext-session-lock-v1#ext_session_lock_v1 For further reference I'll link the niri faq: https://yalter.github.io/niri/FAQ.html#how-do-i-recover-from-a-dead-screen-locker-from-a-red-screen

So no way to fix it right now ☹️ ?

hexqubit avatar Dec 08 '25 09:12 hexqubit

Sadly since neither me nor Lemmy have a setup like that available we can't really fix it. So PRs are VERY welcome for that one!

It’s happening to me as well. In end4 there’s a “lock Focus” IPC, and I think implementing the same feature would fix the issue. This is the Hypridle config with the IPC: https://github.com/end-4/dots-hyprland/blob/80a7804adedf6f7bf6e3f14641d36461a379ba7b/dots/.config/hypr/hypridle.conf#L8 I think this is the implementation: https://github.com/end-4/dots-hyprland/blob/80a7804adedf6f7bf6e3f14641d36461a379ba7b/dots/.config/quickshell/ii/modules/ii/lock/Lock.qml#L166 Please check. I can’t properly use the lock screen because of this.

I get that end4 and other shells do create a new lock but given that this should be a compositor thing to handle, I'm not sure if we should bother with it. See: https://wayland.app/protocols/ext-session-lock-v1#ext_session_lock_v1 For further reference I'll link the niri faq: https://yalter.github.io/niri/FAQ.html#how-do-i-recover-from-a-dead-screen-locker-from-a-red-screen

I’ve never faced this issue with end4’s lock or hyprlock, so it must be something related to the code itself, right?

shadowe1ite avatar Dec 12 '25 06:12 shadowe1ite

I've been experimenting with a few things to try to find the root cause of this, and so far I've found a workaround that isn't very practical but might hint at what's going on.

My setup is the same as that described in the original post with one exception: I'm using the HyprDynamicMonitors plugin for Hyprland, and the plugin is configured as a systemd service such that when it detects a change in monitors for my laptop, it applies the appropriate configuration.

When you are on the unfocused lock screen, do the following steps:

  1. Plug in an external monitor
  2. Move the cursor from the current screen (your laptop's internal display) to the external monitor.
  3. Move the cursor back to the internal display again
  4. You should now have focus on the text field and be able to enter your password
  5. (optional) You can unplug the external display before entering the password and the text field will remain focused

EDIT: Another workaround that is more useful, as it doesn't require an extra monitor

Note: I'm on NixOS using the Noctalia Home Manager module. I also have Noctalia running as a systemd service. Your commands might look a little different if you aren't on NixOS or if you aren't running Noctalia with systemd.

  1. Switch to another tty (eg. ctrl+alt+f3)
  2. log in
  3. Execute hyprctl --instance 0 'dispatch exec systemctl --user restart noctalia-shell.service'
  4. Execute hyprctl --instance 0 'dispatch exec noctalia-shell ipc call lockScreen lock'
  5. Switch back to the tty Hyprland was running on (tty2 for most people I believe, eg. ctrl+alt+f2)
  6. Move the cursor and then you should be able to log in

Arenile avatar Dec 12 '25 15:12 Arenile

Just wanted to say I have this exact problem with the lockscreen. Currently on Arch, Hyprland. noctalia 3.6.2

kampaixd6 avatar Dec 12 '25 21:12 kampaixd6