AvengeMedia / AvengeMedia/DankMaterialShell

Lock screen: Allow keypress to wake the display without populating the password field

Open Beginner friendly
#3,007 0 comments 4 reactions 0 assignees View on GitHub
Enhancement
Dominant language
QML
Stars
8.1k
Forks
515
Avg merge
1d 8h
Merged PRs (30d)
102

Description

### Feature Description

After a session idles, DMS locks and powers the monitors off (fade-to-DPMS / post-lock monitor timeout). To get back to the login prompt I press a key - usually `` because of its size - to wake the display. Which it does, but it also inserts the character into the password field as its first character. So the password box already has a stray character in it before I start typing; if I don't notice and clear it, the unlock just fails.

I certainly understand that there are workarounds (control key, trackpad drag, etc.), but in my experience, this behavior is different from other OSes and doesn't align with the principle of least surprise.

**Proposed Behavior**

The keypress that wakes the display from the locked, monitors-off state should be treated purely as a "wake" action and not entered into the password field. When the screen comes back on, the password field should be empty, ready for a clean password entry. (This matches the common lock-screen convention where the first input after DPMS-off is consumed to wake and swallowed.)

**Steps to reproduce**

1. Lock (or idle into lock) with monitor power-off enabled (fade-to-DPMS or a post-lock monitor timeout).
2. Wait for the display to power off.
3. Press a letter key or spacebar to wake it.
4. Type your password (without explicitly clearing the waking character).
5. Result: unlock fails because the password is silently prefixed with the "wake character".

**Possibly relevant:** `Modules/Lock/Lock.qml` already seems to have a `lockWakeAllowed` / `lockWakeDebounce` mechanism for wake input; the password handler in `LockScreenContent.qml` just doesn't consult it, if I'm understanding correctly.

**Environment:** niri · Fedora · dms 1.5.3 · quickshell 0.3.0

### Use Case

_No response_

### Compositor(s)

All compositors

### If Other, please specify

_No response_

### Proposed Solution

_No response_

### Alternatives/Existing Solutions

_No response_

Contributor guide

Open the contributing guide

Research direction

Start with Modules/Lock/Lock.qml and its lockWakeAllowed/lockWakeDebounce handling, then inspect the password input in LockScreenContent.qml. Reproduce with monitor power-off enabled, wake the locked display with a key, and verify that the key is consumed rather than inserted and that the password field remains empty.

Written by the indexing model from the issue text.

Assessment

Domain
desktop
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
74/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.