1
0
Fork 0
mirror of https://github.com/Raymo111/i3lock-color.git synced 2024-11-11 13:50:52 -05:00
The world's most popular non-default computer lockscreen.
Find a file
2019-10-31 14:40:40 +08:00
.github update issue template for i3lock-color 2018-10-02 10:38:17 -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
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
CHANGELOG Update CHANGELOG and I3LOCK_VERSION 2018-10-18 08:35:31 +02: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
I3LOCK_VERSION update I3LOCK_VERSION 2018-10-18 08:35:49 +02: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
LICENSE update licensing to finally include my name too 2018-10-02 11:02:06 -04: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
Makefile.am Revert i3@dcfcba3. See i3#231 2019-09-25 12:23:27 -04: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
README.md Merge branch 'master' of https://github.com/Raymo111/i3lock-color 2019-09-22 20:03:08 -04: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

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

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

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/PandorasFox/i3lock-color.