* core: add support for repeating backspace when held
* core: move keysym handling to a seperate function in order to reuse it for key repeat
* core: get keyboard repeat info from wayland
* core: defaults for keyboard repeat and delay
* auth: implement a full pam conversation
* input-field: fixup failedAttempts and color change
Credits to @bvr-yr
* pam: set default module to hyprland
* input-field: backup previous asset
* auth: restart auth in onPasswordCheckTimer
* auth: immediately switch to waiting when input was submitted
* auth: remove redundant waitingForPamAuth
* auth: add inputRequested and reschedule submitInput
* auth: clear password buffer and handle submitInput before input is requested
* Revert "input-field: backup previous asset"
This reverts commit 89702945be6af4aa43f54688ad34a4ccba994a3e.
Without the backup we avoid rendering the prompt placeholder for one frame when the failText is not available.
Looks better this way.
* auth: fallback to su if pam_module not in /etc/pam.d
rare occasion where a path check even works on nix
* auth: rename inputSubmitted and resubmit callback
* auth: detach failText from the conversation
* fix rebase mistake
* auth: make sure prompt and failText are not reset when restarting auth
needed for labels
* auth: force update timers when the prompt changes
* auth: remove unused stuff
* input-field: some fixes
* simplify; correctly check passlen(utf8) in draw return
* correctly erase utf-8 on backspace
* render on up events too
* omglul
me dumb
* revert fade speed change
* core: allow fade out for grace unlock
* core: disable input once fade out started
* core: render when fade out started
* core: allow fade out for other compositors
Works fine in sway altough it fades to a black screen not to the desktop.
Still looks kinda good.
* Revert "core: allow fade out for other compositors"
This reverts commit adfeb543ad.
* misc: rename lock and unlock functions
This reverts commit 2c7027d2b5.
Without the roundtrip it was possible that session_lock_surface_destroy gets called before unlock_and_destroy is processed.
This makes it so that
1. The renderer is triggered when the onPasswordCheckTimer callback is fired. Previously you had to give an
additional input for the renderer to be triggered and the fail reason to show.
2. The updateDots function now sets dots.currentAmout to 0, when a failID is present.
That leads to the draw function to return false and the failReason to be displayed until another input happens.