a803ba931e
This fixes bug http://bugs.i3wm.org/545, where characters (of your password) would rarely slip through when entering your password (especially) after resuming your notebook from suspend to RAM. The reason is that when resuming, X triggers one or more MappingNotify events. At the same time, CPU load is high. This leads to a race-condition between the ungrab and re-grab in which i3lock temporarily does not grab the keyboard. One way to fix this is using xcb_grab_server() before and xcb_ungrab_server() after the ungrab/re-grab. However, I think we actually don’t need to ungrab/re-grab at all. I seem to have put that code in here by mistake – in i3, we re-grab after MappingNotify, but there we only grab specific keys. In i3lock, we grab the whole pointer/keyboard, so there should be no need. If I’m incorrect and this breaks some subtle use-cases for people with strange layout setup, at least we can properly document on why we need it, after we put it back in ;). |
||
---|---|---|
debian | ||
LICENSE | ||
Makefile | ||
README | ||
cursors.h | ||
i3lock.1 | ||
i3lock.c | ||
i3lock.pam | ||
keysym2ucs.c | ||
keysym2ucs.h | ||
ucs2_to_utf8.c | ||
ucs2_to_utf8.h | ||
xcb.c | ||
xcb.h |
README
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. Requirements ------------ - pkg-config (or you can rewrite the Makefile by hand if you want to avoid it) - libxcb - libxcb-util - libpam-dev - libcairo-dev Running i3lock ------------- Simply invoke the 'i3lock' command. To get out of it, enter your password. Building i3lock ------------- If you don't want to build against libcairo run "make NOLIBCAIRO=y", without libcairo displaying images is not possible.