Commit Graph

150 Commits (dfe167bcac6b1b03c8b227ce9be015a647a8f26a)

Author SHA1 Message Date
Nguyễn Thái Ngọc Duy aad012484e Remove \n from errx messages
errx() already appends \n internally. "\n" in the error message will
result in a blank line after the message.
2019-01-01 19:12:39 +07:00
Lorian Coltof dcfcba3ed4 Add option to lock TTY switching 2018-11-29 14:22:19 +01:00
Guillaume Maudoux 50c81d5717 Keep only the last attempt for retry_verification 2018-08-23 13:35:20 +02:00
Michael Stapelberg 28ad24e0ce clang-format-3.5 2018-05-11 13:40:18 +02:00
Michael Stapelberg f9c30db62b Respect Xft.dpi for determining the unlock indicator’s scale factor
fixes #184
2018-05-11 13:28:06 +02:00
SegFault42 7a80375e1f return value corrected 2018-02-12 00:48:28 +01:00
Emeric Planet b34ae89d30 Check PNG file compliance (#171) 2018-01-30 22:50:38 +01:00
Michael Stapelberg 6b53758e14
display error when backspace is pressed without any input (#172)
This adds some feedback to a keypress which previously had no visible effect.

While the text “no input” isn’t the most descriptive, it was the only one I
could think of which fit into the unlock indicator circle. If you have a better
suggestion, let me know.

fixes #164
2018-01-14 22:17:43 +01:00
Michael Stapelberg ef4f9e4057
Switch to autotools (#163)
This was largely copied from the i3 configure.ac and Makefile.am.
2017-12-02 10:08:54 +01:00
Michael Stapelberg a514472ec4 Rename xinerama.[ch] to randr.[ch] 2017-11-18 10:51:35 +01:00
Michael Stapelberg c311d1c5a3 Use RandR for learning about attached monitors
The code now tries the following options, in order:

• obtain monitors via RandR 1.5
• obtain outputs via RandR ≤ 1.4
• obtain screens via Xinerama

fixes #159
related to #101
related to #148
related to #149
2017-11-18 10:48:25 +01:00
Michael Stapelberg 5b4d45a8af SetInputFocus to the i3lock window to force-close context menus (#155)
When grabbing the pointer/keyboard fails, a new code path is activated, which:

1. Uses the standards-compliant _NET_ACTIVE_WINDOW root window property to
   determine the window to restore focus to.

2. Sets the input focus to the i3lock window, thereby possibly force-closing
   open context menus (works with e.g. Google Chrome, does not work with
   e.g. thunar, gedit).

3. Upon exiting, restores focus to the window from step ① by sending a
   _NET_ACTIVE_WINDOW ClientMessage to the root window. Note that this step
   requires https://github.com/i3/i3/pull/3027 in i3 to not mess up focus.

fixes https://github.com/i3/i3lock/issues/35
2017-10-22 22:16:34 +02:00
Orestis 8eecef62fb Immediately hide the unlock indicator after ESC / C-u (#145) 2017-10-21 23:15:15 +02:00
Ingo Bürk 698204a987 Merge pull request #135 from grandchild/fix_optind_overwrite
Fix shadowing of getopt optind
2017-08-13 17:26:38 +02:00
Ran Benita 76d9960dbe Change the locale discovery procedure to treat empty string same as unset
This is explained in the commit message here:
f468f0b243
2017-08-13 18:08:39 +03:00
jakob cddb87420b Fix overwrite of getopt optind
Using 'optind' in getopt_long() shadows actual 'optind' being provided
by getopt, thus prevents any future options change from using optind.

See https://www.gnu.org/software/libc/manual/html_node/Getopt-Long-Options.html#index-getopt_005flong
2017-07-06 17:08:12 +02:00
Jasper Lievisse Adriaanse ea65a5292d Restore intended behaviour and don't use mlock(2) on OpenBSD. 2017-04-17 21:06:19 +02:00
Jasper Lievisse Adriaanse 68fc2e8b5f Use bsd_auth(3) instead of PAM on OpenBSD
Also apply two security measures for OpenBSD:
- use explicit_bzero(3)
- mlock(2) works for non-root users too
2017-04-17 15:06:59 +02:00
Jasper Lievisse Adriaanse 15973d1f52 Move all PAM code behind UES_PAM and enable that by default. 2017-04-15 09:49:41 +02:00
Jasper Lievisse Adriaanse c1de117825 Rename all PAM-independant variables/comments.
there is nothing PAM-specific about pam_state or pam_state_t. therefore
rename them to be authenticator independant.
2017-04-15 09:44:09 +02:00
Nicolò Balzarotti 7504e16527 Add Enter on C-m (#103) 2016-11-09 13:23:01 -08:00
eplanet 1c97a84847 Displaying locking message when grabbing the pointer/keyboard. (#88)
Display "locking…" message when grabbing the pointer/keyboard,
after at least 250 ms of unfruitful attempts. If grabbing
eventually fails, application will not fork and return 1.
2016-09-27 18:39:52 -07:00
Diogo Ferreira fd2215b0f0 i3lock: Stop leaking the image_path dup. (#93) 2016-09-13 21:59:54 +02:00
koebi 17b7b77893 unlock automatically after authentication failure (#90)
This will make i3 unlock automatically after authentication failure and
correct input without pressing <Enter> again after the "wrong"-indicator
is gone.
2016-09-04 18:22:49 +02:00
Florian Zipperle cca7d4e6c3 Removed obsolete inactivity timeout (#84)
* Removed obsolete inactivity timeout
2016-07-20 07:50:07 +01:00
Michael Stapelberg ce1c5cecc0 clang-format-3.5
Not sure why travis didn’t warn about this on the PR. The only reference
to the PR I can find is https://travis-ci.org/i3/i3lock/builds/130470377
2016-06-03 17:46:29 +02:00
Christoph Ruegge 463d38fed6 Add support for `xss-lock --transfer-sleep-lock' (#75)
Add support for `xss-lock --transfer-sleep-lock'
2016-05-25 22:21:12 +02:00
Karl Tarbe 9a7604bb35 Allow CTRL+J as enter and CTRL+H as backspace (#72)
fixes #71
2016-04-30 11:25:51 +01:00
Michael Stapelberg 59705b05b5 Show unlock indicator if password was entered during PAM verification
fixes #51
2015-12-25 22:10:06 +01:00
Michael Stapelberg 0bdc0c644d Eat XKB_KEY_Delete and XKB_KEY_KP_Delete (Thanks bebehei)
fixes #50
2015-12-25 15:44:46 +01:00
Michael Stapelberg cc73d88aea Remove libxkbfile dependency from README.md/comments
It has not been in use since commit 7eb43aeabd
2015-11-07 14:51:02 +01:00
Michael Stapelberg 688d49d5b8 fix pam_securetty: set PAM_TTY to getenv("DISPLAY")
fixes #43
2015-11-05 23:22:08 +01:00
Michael Stapelberg 929e541fb7 Remove DPMS support in favor of a wrapper script and xset(1).
fixes #32
2015-08-11 21:50:42 +02:00
Kenneth Lyons d91c20a9f2 Indicate that the --inactivity-timeout option takes an argument. 2015-07-02 14:45:30 -07:00
Ingo Bürk b4c97bddf7 Only redraw the screen if the unlock indicator is actually used.
fixes #12
2015-04-24 23:36:24 +02:00
Deiz dda29f93a1 Update copyright notices and get rid of ranges
The script used to make these changes can be found at:

   https://gist.github.com/Deiz/32322020f76d23e2bf8f
2015-04-21 11:53:09 -04:00
Deiz b4f6dae10e List generic pressed modifiers on failure 2015-03-29 16:22:31 -04:00
Alexandre Boeglin a9ecf1e0c9 Add capslock and numlock indicators
When the unlock indicator warns the user that a password was typed
wrong, it now also reports the state of the capslock and numlock
modifiers.

Signed-off-by: Alexandre Boeglin <alex@boeglin.org>
2015-03-28 14:50:05 -04:00
James Cassidy aaad9c0e7a refresh pam credentials on successful authentication 2015-03-26 09:26:48 -04:00
Michael Stapelberg 68b78a7f57 clang-format -i **/*.[ch]
From here on, we’ll use clang-format to automatically format the source.

This has worked well in i3, so we are introducing it for i3lock.
2015-03-16 18:47:16 +01:00
Daniel Otero 86323f6e04 Update the key symbol if the composing ends. 2015-02-12 21:38:37 +01:00
Daniel Otero 9e48c74be1 Avoid handle a keysym if the compose state gets cancelled
This is the approach taken by libX11, and feels more consistent.
2015-02-12 11:22:58 +01:00
Daniel Otero 562e824246 Remove xkb_context initialization code from load_compose_table
xkb_context is guaranteed to be initializated from load_keymap.
2015-02-12 11:12:38 +01:00
Daniel Otero ef3ef30400 Add support for Compose and dead-keys with libxkbcommon 2015-02-12 00:37:23 +01:00
Martin Stiborsky 665ce3e215 getpwuid call moved 2015-01-06 00:02:23 +01:00
Martin Stiborsky 6ffe86ca12 null check for getpwuid and pw_name 2015-01-05 22:54:32 +01:00
Martin Stiborsky 7d52029ae3 removed the whoami function, replaced with an inline getpwuid call 2015-01-05 19:54:48 +01:00
Martin Stiborsky a3839aa69f getting current user with whoami like function rather than from env variable 2015-01-05 11:46:11 +01:00
Neodyblue 8a630bec65 Ignore password validation is pam is in wrong state
This add a protection against wrong password spamming
2014-10-13 17:53:49 +02:00
koebi 0cbf483cb4 implemented logging the number of failed attempts
This closes #1243
2014-08-24 23:27:00 +02:00