improved improved screen locker - "the ricing fork of i3lock"
Clone or download
Pull request Compare This branch is 241 commits ahead, 9 commits behind i3:master.
PandorasFox Merge pull request #109 from simonkrogmann/pass-brightness-keys
Also pass screen brightness keys as media keys
Latest commit fb9d064 Dec 8, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github update issue template for i3lock-color Oct 2, 2018
m4 blurring stuff should work perfectly fine now Dec 6, 2017
pam first commit towards fixing this Dec 5, 2017
travis travis: build in Debian sid Docker container May 11, 2018
.clang-format commit missing .clang-format Mar 17, 2015
.gitignore initial merge commit Dec 5, 2017
.travis.yml travis: build in Debian sid Docker container May 11, 2018
CHANGELOG Update CHANGELOG and I3LOCK_VERSION Nov 25, 2017
I3LOCK_VERSION update version to 2.12.c Oct 2, 2018
LICENSE update licensing to finally include my name too Oct 2, 2018
Makefile.am merge upstream Jul 5, 2018
README.md Update README.md May 20, 2018
blur.c fix compiling for 32-bit machines / machine without SSE2 Dec 7, 2017
blur.h fix compiling for 32-bit machines / machine without SSE2 Dec 7, 2017
blur_simd.c fix compiling on ARM Dec 9, 2017
configure.ac merge upstream Jul 5, 2018
cursors.h clang-format -i **/*.[ch] Mar 16, 2015
dpi.c Respect Xft.dpi for determining the unlock indicator’s scale factor May 11, 2018
dpi.h Respect Xft.dpi for determining the unlock indicator’s scale factor May 11, 2018
fonts.h add greeter option, which displays a user provided string Oct 5, 2018
i3lock.1 add greeter option, which displays a user provided string Oct 5, 2018
i3lock.c Also pass screen brightness keys as media keys Dec 7, 2018
i3lock.h make render thread optional Dec 8, 2017
jpg.c fix NPE when no background image Feb 14, 2018
jpg.h jpg.h: add include for sys/types.h and define _GNU_SOURCE. Jun 28, 2018
lock.sh fix strncpy typo Feb 14, 2018
lock_bar.sh fix strncpy typo Feb 14, 2018
randr.c Rename xinerama.[ch] to randr.[ch] Nov 18, 2017
randr.h Rename xinerama.[ch] to randr.[ch] Nov 18, 2017
rgba.h Add drawing lock on multiple screens Feb 4, 2018
screenshot.png update lock.sh, readme May 31, 2017
tinyexpr.c Made clock position freely modifiable May 19, 2017
tinyexpr.h Made clock position freely modifiable May 19, 2017
todo.md update todo Nov 21, 2017
unlock_indicator.c add greeter option, which displays a user provided string Oct 5, 2018
unlock_indicator.h add greeter option, which displays a user provided string Oct 5, 2018
xcb.c Merge branch 'master' of https://github.com/i3/i3lock Mar 21, 2018
xcb.h remove deps on libx11; move to a pure xcb solution for keylayout Dec 8, 2017

README.md

i3lock - improved screen locker

This is just a re-patched version of i3lock with the commits from i3lock-color; all the credit for the color functionality goes to eBrnd !

i3lock-color in action. Why are you reading this?

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 this fork

  • You can also specify additional options, as detailed in the manpage. This includes, but is not limited to, the following: - Color options for the following:
    • 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 - 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 27)

  • 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
Aur Package

Stable

Git

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. Here is a short clip of that 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.

Upstream

Please submit pull requests for i3lock things to https://github.com/i3/i3lock and pull requests for features to me here at https://github.com/PandorasFox/i3lock-color.