Go to file
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
.github add CONTRIBUTING.md 2016-06-03 17:28:43 +02:00
.clang-format commit missing .clang-format 2015-03-17 08:50:50 +01:00
.gitignore add .gitignore 2012-04-07 19:41:50 +02:00
.travis.yml travis: wily is gone, so take libxkbcommon ≥ 0.5.0 from xenial (#154) 2017-10-22 00:22:10 +02:00
CHANGELOG update CHANGELOG and I3LOCK_VERSION 2017-06-21 18:18:05 +02:00
I3LOCK_VERSION update CHANGELOG and I3LOCK_VERSION 2017-06-21 18:18:05 +02:00
LICENSE update debian packaging, update copyright 2011-07-13 17:06:46 +02:00
Makefile Only use -lpam when not on OpenBSD 2017-07-09 17:52:32 +01:00
README.md Revert "Fix covering of composited notifications (#96)" (#133) 2017-06-20 09:53:42 +02:00
cursors.h clang-format -i **/*.[ch] 2015-03-16 18:47:16 +01:00
i3lock.1 Removed obsolete inactivity timeout (#84) 2016-07-20 07:50:07 +01:00
i3lock.c SetInputFocus to the i3lock window to force-close context menus (#155) 2017-10-22 22:16:34 +02:00
i3lock.h clang-format -i **/*.[ch] 2015-03-16 18:47:16 +01:00
i3lock.pam use 'auth include login' instead of '@include login', the latter is debian-specific (Thanks mseed) 2011-01-23 00:11:51 +01:00
unlock_indicator.c Rename all PAM-independant variables/comments. 2017-04-15 09:44:09 +02:00
unlock_indicator.h Use bsd_auth(3) instead of PAM on OpenBSD 2017-04-17 15:06:59 +02:00
xcb.c SetInputFocus to the i3lock window to force-close context menus (#155) 2017-10-22 22:16:34 +02:00
xcb.h SetInputFocus to the i3lock window to force-close context menus (#155) 2017-10-22 22:16:34 +02:00
xinerama.c Update copyright notices and get rid of ranges 2015-04-21 11:53:09 -04:00
xinerama.h Use (void) instead of () for functions without args (Thanks fernandotcl) 2012-04-01 12:28:28 +02:00

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