Go to file
Michael Stapelberg 3216c40504 clang-format 2022-05-18 21:30:45 +02:00
.github Added ISSUE_TEMPLATE.md 2018-05-20 16:53:55 +02:00
m4 Switch to autotools (#163) 2017-12-02 10:08:54 +01:00
pam Switch to autotools (#163) 2017-12-02 10:08:54 +01:00
travis travis: switch to clang-format-9 (now also in Docker) 2020-07-05 09:37:52 +02:00
.clang-format clang-format: disable header re-ordering 2020-07-05 09:37:52 +02:00
.gitignore Switch to autotools (#163) 2017-12-02 10:08:54 +01:00
.travis.yml travis: switch to clang-format-9 (now also in Docker) 2020-07-05 09:37:52 +02:00
CHANGELOG release v2.13 2020-10-27 08:41:44 +01:00
I3LOCK_VERSION release v2.13 2020-10-27 08:41:44 +01:00
LICENSE update debian packaging, update copyright 2011-07-13 17:06:46 +02:00
Makefile.am Revert "Add option to lock TTY switching" 2019-07-21 10:16:16 +02:00
README.md recommend using xss-lock to start i3lock 2022-02-27 23:55:57 +01:00
configure.ac release v2.13 2020-10-27 08:41:44 +01:00
cursors.h clang-format -i **/*.[ch] 2015-03-16 18:47:16 +01:00
dpi.c Respect Xft.dpi for determining the unlock indicator’s scale factor 2018-05-11 13:28:06 +02:00
dpi.h Respect Xft.dpi for determining the unlock indicator’s scale factor 2018-05-11 13:28:06 +02:00
i3lock.1 recommend using xss-lock to start i3lock 2022-02-27 23:55:57 +01:00
i3lock.c clang-format 2022-05-18 21:30:45 +02:00
i3lock.h make --debug output go to stderr (#279) 2020-07-05 09:24:18 +02:00
randr.c Rename xinerama.[ch] to randr.[ch] 2017-11-18 10:51:35 +01:00
randr.h Rename xinerama.[ch] to randr.[ch] 2017-11-18 10:51:35 +01:00
unlock_indicator.c Display modifier key warning before unlocking, too 2022-05-18 21:28:59 +02:00
unlock_indicator.h avoid pixmap allocations in the redraw path 2020-07-05 09:23:39 +02:00
xcb.c set _NET_WM_BYPASS_COMPOSITOR hint to avoid flickering (#256) 2020-01-20 22:17:01 +01:00
xcb.h SetInputFocus to the i3lock window to force-close context menus (#155) 2017-10-22 22:16:34 +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. Note that i3lock is not an image manipulation software. If you need to resize the image to fill the screen or similar, use existing tooling to do this before passing it to i3lock.

  • 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.

Install

See the i3lock home page.

Requirements

  • pkg-config
  • libxcb
  • libxcb-util
  • libpam-dev
  • libcairo-dev
  • libxcb-xinerama
  • libxcb-randr
  • libev
  • libx11-dev
  • libx11-xcb-dev
  • libxkbcommon >= 0.5.0
  • libxkbcommon-x11 >= 0.5.0
  • libxcb-image
  • libxcb-xrm

Running i3lock

To test i3lock, you can directly run the i3lock command. To get out of it, enter your password and press enter.

For a more permanent setup, we strongly recommend using xss-lock so that the screen is locked before your laptop suspends:

xss-lock --transfer-sleep-lock -- i3lock --nofork

On OpenBSD the i3lock binary needs to be setgid auth to call the authentication helpers, e.g. /usr/libexec/auth/login_passwd.

Building i3lock

We recommend you use the provided package from your distribution. Do not build i3lock unless you have a reason to do so.

First install the dependencies listed in requirements section, then run these commands (might need to be adapted to your OS):

autoreconf --force --install

rm -rf build/
mkdir -p build && cd build/

../configure \
  --prefix=/usr \
  --sysconfdir=/etc \
  --disable-sanitizers

make

Upstream

Please submit pull requests to https://github.com/i3/i3lock