The world's most popular non-default computer lockscreen.
Go to file
Raymond Li e2647fade2
Overhaul Readme
2020-03-08 15:04:04 -04:00
.github Rename to Build Test 2020-03-08 14:35:55 -04:00
m4 blurring stuff should work perfectly fine now 2017-12-05 22:07:38 -05:00
pam Switch to autotools (#163) 2017-12-02 10:08:54 +01:00
travis travis: build in Debian sid Docker container 2018-05-11 15:40:43 +02:00
.clang-format commit missing .clang-format 2015-03-17 08:50:50 +01:00
.gitignore initial merge commit 2017-12-05 13:07:41 -05:00
.travis.yml travis: build in Debian sid Docker container 2018-05-11 15:40:43 +02:00
CHANGELOG Update CHANGELOG and I3LOCK_VERSION 2018-10-18 08:35:31 +02:00
I3LOCK_VERSION update I3LOCK_VERSION 2018-10-18 08:35:49 +02:00
LICENSE Add my name to LICENSE 2020-03-08 14:15:34 -04:00
Makefile.am Revert i3@dcfcba3. See i3#231 2019-09-25 12:23:27 -04:00
README.md Overhaul Readme 2020-03-08 15:04:04 -04:00
blur.c fix compiling for 32-bit machines / machine without SSE2 2017-12-07 16:09:13 -05:00
blur.h fix compiling for 32-bit machines / machine without SSE2 2017-12-07 16:09:13 -05:00
blur_simd.c fix compiling on ARM 2017-12-08 22:26:20 -05:00
configure.ac Merge from upstream and small wording/linking fixes 2019-09-22 20:00:56 -04: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
fonts.h add greeter option, which displays a user provided string 2018-10-05 16:40:50 +02:00
i3lock.1 Revert i3@dcfcba3. See i3#231 2019-09-25 12:23:27 -04:00
i3lock.c Revert i3@dcfcba3. See i3#231 2019-09-25 12:23:27 -04:00
i3lock.h make render thread optional 2017-12-08 02:29:05 -05:00
jpg.c fix NPE when no background image 2018-02-14 00:46:31 -05:00
jpg.h jpg.h: add include for sys/types.h and define _GNU_SOURCE. 2018-06-27 21:55:47 -03:00
lock.sh fix strncpy typo 2018-02-14 01:02:12 -05:00
lock_bar.sh fix strncpy typo 2018-02-14 01:02:12 -05: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
rgba.h Add drawing lock on multiple screens 2018-02-04 09:15:38 +01:00
screenshot.png update lock.sh, readme 2017-05-30 22:11:26 -04:00
tinyexpr.c Made clock position freely modifiable 2017-05-19 15:52:29 +02:00
tinyexpr.h Made clock position freely modifiable 2017-05-19 15:52:29 +02:00
todo.md update todo 2017-11-21 10:03:25 -05:00
unlock_indicator.c fix text alignment 2019-10-31 14:40:40 +08:00
unlock_indicator.h add greeter option, which displays a user provided string 2018-10-05 16:40:50 +02:00
xcb.c Merge remote-tracking branch 'upstream/master' into i3lock-color 2019-05-25 23:16:01 +02:00
xcb.h remove deps on libx11; move to a pure xcb solution for keylayout 2017-12-08 15:06:08 -05:00

README.md

i3lock - improved screen locker

Language count Top language Repo size Open issues Closed issues Open PRs Closed PRs Contributor count GitHub Release Date Commits Latest commit Arch Linux package AUR git ver AUR votes GitHub forks GitHub stars GitHub watchers Maintenance

A re-patched version of i3lock with color functionality by eBrnd, started by PandorasFox (2015-2020), and now maintained by Raymo111

i3lock-color in action

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 an image (JPG or PNG), 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.

Additional features in i3lock-color

You can also specify additional options, as detailed in the manpage. This includes, but is not limited to:

  • Color options for:
    • verification ring
    • interior ring color
    • ring interior line color
    • key highlight color
    • backspace highlight color
    • text colors for most/all strings
    • Changing all of the above depending on PAM's authentication status
    • Blurring the current screen and using that as the lock background
    • Showing a clock in the indicator
    • refreshing on a timer, instead of on each keypress
    • Positioning the various UI elements
    • Changing the ring radius and thickness, as well as text size
    • Passthrough media keys
    • A new bar indicator, which replaces the ring indicator with its own set of options
      • An experimental thread for driving the redraw ticks, so that things like the bar/clock still update when PAM is blocking

Building

Before you build - check and see if there's a packaged version available for your distro (there usually is, either in a community repo/PPA).

If there's no packaged version available - think carefully, since you're using a forked screen locker at your own risk.

If you want to build a non-debug version, you should tag your build before configuring. For example: git tag -f "git-$(git rev-parse --short HEAD)" will add a tag with the short commit ID, which will be used for the version info. Issues asking about ASAN/complaints about i3lock-color being slow / etc will likely be closed.

i3lock now uses GNU autotools for building; you'll need to do something like autoreconf -i && ./configure && make to build.

Required Packages

  • pkg-config
  • libxcb
  • libxcb-util
  • libpam-dev
  • libcairo-dev
  • libfontconfig-dev
  • libxcb-composite0
  • libxcb-composite0-dev
  • libxcb-xinerama
  • libxcb-randr
  • libev
  • libx11-xcb-dev
  • libxkbcommon >= 0.5.0
  • libxkbcommon-x11 >= 0.5.0
  • libjpeg-turbo >= 1.4.90

Required Packages (Fedora 31)

  • cairo-devel
  • libev
  • libev-devel
  • libjpeg-devel
  • libjpeg-turbo
  • libxcb
  • libxkbcommon
  • libxkbcommon-x11
  • libxkbcommon-x11-devel
  • pam-devel
  • pkg-config
  • xcb-util-devel
  • xcb-util-image
  • xcb-util-image-devel
  • xcb-util-xrm-devel

Arch Package

Stable version in Community

Git Version on AUR

FreeBSD port

i3lock-color-port

Running i3lock

Simply invoke the 'i3lock' command. To get out of it, enter your password and press enter.

A sample script is included in this repository. See the script in action

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

Building i3lock

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 for i3lock things to https://github.com/i3/i3lock and pull requests for additional features on top of regular i3lock at https://github.com/Raymo111/i3lock-color.