Commit graph

72 commits

Author SHA1 Message Date
bvr-yr
f77e17e4d2
label: add $LAYOUT variable (#211)
* label: add `$LAYOUT` variable

* add exclamation mark as wildcard to hide layout
2024-03-21 15:19:12 +00:00
kcirick
54da0cae0f
auth: Use getpwuid(getuid()) instead of getlogin() (#204)
* Making changes

* Replacing struct with auto keyword

* Removing the extra semicolon

* ran clang-format
2024-03-19 15:50:23 +00:00
Maximilian Seidler
b50acfaf94
input-field: only render the current output on fade out callback (#206) 2024-03-19 02:49:12 +00:00
Staz Modrzynski
2ae79757d5
core: Add missing destructors causing segfaults (#199)
Co-authored-by: Staz M <staz@staz.io>
2024-03-17 15:44:37 +00:00
bvr-yr
23224d40e4
input-field: various fixes (#198)
* 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
2024-03-17 00:32:43 +00:00
Maximilian Seidler
7ee406bf9b
core: fade out improvements (#194)
* 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
2024-03-15 18:49:07 +00:00
Maximilian Seidler
e040c56ad2
core: fix libc++ compatibility (#195)
* core: add missing header

libc++ compatibility #193

* input-field: fix wrong clock type
2024-03-15 14:43:29 +00:00
Abhinav Anil
1c92c6109c
renderer: add fade out animation and property to disable (#188)
* renderer, Nix/HM module: add fade out animation and prop

* fix: fade duration and disable on non hyprland session

* fix: revert needsFrame condition, update duration to 500ms

* fix: make shadows obey widget opacity
2024-03-14 13:23:41 +00:00
Maximilian Seidler
ae889b47a0
core: mmap keymap buffer with MAP_PRIVATE (#190) 2024-03-14 13:12:43 +00:00
bvr-yr
988d5b3957
label: add $FAIL and $ATTEMPTS (#186)
* label: add `$ATTEMPTS` variable

* labels: also add `$FAIL`

* SHOUT
2024-03-13 21:25:06 +00:00
bvr-yr
f3a41161ec
input-field: add capslock and numlock options (#182)
* input-field: add capslock and numlock options

* fixups

* Nix/HM module: add {caps,num}lock options

---------

Co-authored-by: Mihai Fufezan <fufexan@protonmail.com>
2024-03-13 01:10:42 +00:00
21d9efe5c9 signal: ignore signals after critical 2024-03-10 21:42:42 +00:00
bvr-yr
066e0ae88f
core: force update labels on SIGUSR2 (#169)
* core: force update labels on `SIGUSR2`

* allow 0ms and force
2024-03-10 21:38:01 +00:00
Maximilian Seidler
766d470308
input-field: display utf-8 codepoint length (#164) 2024-03-10 14:33:01 +00:00
Abi Hafshin Alfarouq
160fe3553f
core: Handle slow pam verification (#157)
* Handle slow pam verification

For example when using systemd-homed with fido auth

* fix code style
2024-03-09 16:46:22 +00:00
bvr-yr
149b6737c2
input-field: fail display improvments (#154)
* input-field: fail display improvments

* update Home Manager

* add `$ATTEMPTS` variable, change defaults

* nix wording

* log failed attempts
2024-03-09 16:44:58 +00:00
Maximilian Seidler
5eaa7c0834
core: terminate the poll thread (#150)
* core: terminate the poll thread

* core: use sigaction instead of signal

* core: use VA_RESTART for the unlock signal
2024-03-08 22:54:34 +00:00
Kenton Groombridge
b17d666548
core: add commandline switch to lock immediately (#145)
Fixes: https://github.com/hyprwm/hyprlock/issues/143
2024-03-07 18:39:27 +00:00
Maximilian Seidler
90e94dee86
core: Allow and fix empty passwords (#140)
* Revert "core: don't auth on empty password (#126)"

This reverts commit 6a085d7f8e.

* core: properly handle pam_conv
2024-03-07 13:22:11 +00:00
cdb8e7774f core: don't restore on terminate 2024-03-06 00:00:58 +00:00
7d5cb1dbb3 misc: fix warning about iso strings 2024-03-05 23:33:28 +00:00
f0bcadc6ad restore: limit to once every 4s 2024-03-05 23:32:31 +00:00
2fa0da47ab core: restart on a critical signal or SIGHUP
ref #76
2024-03-05 19:04:01 +00:00
BranchManager
6a085d7f8e
core: don't auth on empty password (#126) 2024-03-04 00:26:38 +00:00
f9fe60c7eb pam: fallback auth to su 2024-03-03 02:27:32 +00:00
ada7ce8e56 renderer: various fixes to transformations and backgrounds
fixes #111
2024-03-03 02:19:31 +00:00
Maximilian Seidler
4286cfb29c
core: Fix unlock sync (#119)
* core: error on repeated unlock

* core: change termination points

This seems to fix sporadic freezes when unlocking.
2024-03-02 14:21:41 +00:00
Aaron Blasko
fa2a875e33
Adding a pam configuration file (#115) 2024-03-02 01:49:44 +02:00
Maximilian Seidler
64bdc477b2
Revert "core: dispatch on exit instead of roundtrip" (#114)
This reverts commit 2c7027d2b5.
Without the roundtrip it was possible that session_lock_surface_destroy gets called before unlock_and_destroy is processed.
2024-03-01 22:45:38 +00:00
Maximilian Seidler
a7ec195842 grace: ignore key up and fix typo 2024-03-01 19:52:50 +02:00
53eab43296 grace: unlock on key press
fixes #110
2024-03-01 13:53:53 +00:00
Maximilian Seidler
ac757cf7ab
input-field: show autentication failReason without additional input (#98)
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.
2024-02-29 14:34:27 +00:00
2c7027d2b5 core: dispatch on exit instead of roundtrip 2024-02-27 13:25:57 +00:00
EastArctica
fd8b81aec8
core: use raw key values for tracking keypresses (#92) 2024-02-26 21:18:52 +00:00
8876ceccc2 format: fix format string 2024-02-26 19:51:12 +00:00
0d5115ab6b core: use lowercase syms for tracking keypresses
fixes #86
2024-02-26 18:34:34 +00:00
582e8c86b4 label: use a callback from asyncGatherer to render 2024-02-26 18:25:52 +00:00
1f268e0a39 core: create surface on monitor connect 2024-02-26 17:59:27 +00:00
4acf8981b3 core: fix repeated key events triggering presses
fixes #66
2024-02-26 02:28:33 +00:00
WindyDay
146965e7fb
core: unlock on sigusr1 (#82)
* Add SIGUSR1 to unlock

* minor style improvements

---------

Co-authored-by: Vaxry <vaxry@vaxry.net>
2024-02-25 14:08:12 +00:00
Jan Beich
f85287a523
core: Unbreak build on FreeBSD (#71)
* Add OpenPAM support (used by BSDs except OpenBSD)

--   Package 'pam', required by 'virtual:world', not found
CMake Error at /usr/local/share/cmake/Modules/FindPkgConfig.cmake:619 (message):
  The following required packages were not found:

   - pam

src/core/Password.cpp:6:10: fatal error: 'security/pam_misc.h' file not found
    6 | #include <security/pam_misc.h>
      |          ^~~~~~~~~~~~~~~~~~~~~

* Add missing headers

src/renderer/widgets/IWidget.cpp: In member function 'virtual IWidget::SFormatResult IWidget::formatString(std::string)':
src/renderer/widgets/IWidget.cpp:51:41: error: 'getlogin' was not declared in this scope
   51 |     replaceAll(in, "$USER", std::string{getlogin()});
      |                                         ^~~~~~~~
src/renderer/widgets/IWidget.cpp:51:51: error: no matching function for call to 'std::__cxx11::basic_string<char>::basic_string(<brace-enclosed initializer list>)'
   51 |     replaceAll(in, "$USER", std::string{getlogin()});
      |                                                   ^
src/renderer/DMAFrame.cpp: In member function 'bool CDMAFrame::onBufferDone()':
src/renderer/DMAFrame.cpp:181:17: error: 'close' was not declared in this scope; did you mean 'pclose'?
  181 |                 close(fd[plane_tmp]);
      |                 ^~~~~
      |                 pclose
src/renderer/DMAFrame.cpp:196:13: error: 'close' was not declared in this scope; did you mean 'pclose'?
  196 |             close(fd[plane]);
      |             ^~~~~
      |             pclose
src/core/Password.cpp: In lambda function:
src/core/Password.cpp:44:31: error: 'strdup' was not declared in this scope
   44 |         reply->resp         = strdup(pass.c_str());
      |                               ^~~~~~
src/core/hyprlock.cpp: In member function 'void CHyprlock::spawnAsync(const std::string&)':
src/core/hyprlock.cpp:768:9: error: 'sigemptyset' was not declared in this scope
  768 |         sigemptyset(&set);
      |         ^~~~~~~~~~~
src/core/hyprlock.cpp:769:21: error: 'SIG_SETMASK' was not declared in this scope
  769 |         sigprocmask(SIG_SETMASK, &set, NULL);
      |                     ^~~~~~~~~~~
src/core/hyprlock.cpp:769:9: error: 'sigprocmask' was not declared in this scope
  769 |         sigprocmask(SIG_SETMASK, &set, NULL);
      |         ^~~~~~~~~~~
2024-02-23 12:54:14 +00:00
272fc359ad gbm: pick only valid modifiers 2024-02-22 03:05:56 +00:00
af9e8d1758 core: do not process keys on pending password verif
fixes #54
2024-02-21 23:05:52 +00:00
2836f02ded background: add screenshot 2024-02-21 21:39:14 +00:00
Vaxry
9d8ee2a1d0
core: Nvidia and stuff fixes (#44)
* nvidia and stuff fixes

* no no null confures

* drop stupid roundtrip
2024-02-21 16:56:25 +00:00
6355216f48 config: add general:grace
fixes #48
2024-02-21 16:48:59 +00:00
06b07c53e5 label: add executing commands 2024-02-21 14:12:20 +00:00
5c7b23eefb input: allow KP_Enter for submitting
fixes #32
2024-02-21 11:35:31 +00:00
Siavash Askari Nasr
277a377eb2
input: Clear password buffer with escape key (#37) 2024-02-21 11:01:52 +00:00
Maurice Kraus
7b15d34f0a
core: add support for 90/270 degree rotated monitors (#26) 2024-02-20 19:20:08 +00:00