5b4d45a8af
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 |
||
---|---|---|
.github | ||
.clang-format | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG | ||
I3LOCK_VERSION | ||
LICENSE | ||
Makefile | ||
README.md | ||
cursors.h | ||
i3lock.1 | ||
i3lock.c | ||
i3lock.h | ||
i3lock.pam | ||
unlock_indicator.c | ||
unlock_indicator.h | ||
xcb.c | ||
xcb.h | ||
xinerama.c | ||
xinerama.h |
README.md
i3lock - improved screen locker
i3lock is a simple screen locker like slock. After starting it, you will see a white screen (you can configure the color/an image). You can return to your screen by entering your password.
Many little improvements have been made to i3lock over time:
-
i3lock forks, so you can combine it with an alias to suspend to RAM (run "i3lock && echo mem > /sys/power/state" to get a locked screen after waking up your computer from suspend to RAM)
-
You can specify either a background color or a PNG image which will be displayed while your screen is locked.
-
You can specify whether i3lock should bell upon a wrong password.
-
i3lock uses PAM and therefore is compatible with LDAP etc. On OpenBSD i3lock uses the bsd_auth(3) framework.
Requirements
- pkg-config
- libxcb
- libxcb-util
- libpam-dev
- libcairo-dev
- libxcb-xinerama
- libev
- libx11-dev
- libx11-xcb-dev
- libxkbcommon >= 0.5.0
- libxkbcommon-x11 >= 0.5.0
Running i3lock
Simply invoke the 'i3lock' command. To get out of it, enter your password and press enter.
On OpenBSD the i3lock
binary needs to be setgid auth
to call the
authentication helpers, e.g. /usr/libexec/auth/login_passwd
.
Upstream
Please submit pull requests to https://github.com/i3/i3lock