Giter VIP home page Giter VIP logo

i3lock's Introduction

i3lock

This is my own copy of i3lock, consisting of the following tweaks:

  • Display changes on key-strokes and escape/backspace.
  • Added 12-hour clock to the unlock indicator and periodic updater so time stays relevant.
  • The unlock indicator will always be displayed, regardless of state. (Originally it was only shown after initial keypress)
  • Command line arguments to customize colors. Each (optional) argument will accept a color in hexadecimal format.
    • -o color Specifies verification color
    • -w color Specifies wrong password/backspace color
    • -l color Specifies default/idle color
    • The given colors will be used as-is for the lines and text for their respective states. The colors will automatically be lightened slightly and used with lower opacity (20%) for the circle fill.
    • If no colors are specified it defaults to green/red/black for verify/wrong/idle respectively.

Example Usage

i3lock -i ~/.i3/background.png -c '#000000' -o '#191d0f' -w '#572020' -l '#ffffff' -e

Screenshots

No configuration specified

Default

Error Color

Error

Example Configuration

Idle

Idle state

Key Press

On key press

Escape/Backspace

On escape or backspace

Background in above screenshots can be found in images/background.jpg

Install

Dependencies

Make sure you have the following libraries installed in addition to the packages in the requirements section below.

libxkbcommon-dev libxkbcommon-x11-dev libpam0g-devl

Build

Run the following commands:

git clone https://github.com/Lixxia/i3lock.git
cd i3lock
autoreconf -fi
mkdir -p build && cd build
../configure
make && sudo make install

Original README

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

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.

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

i3lock's People

Contributors

airblader avatar atsutane avatar badboy avatar bluetech avatar danielotero avatar deiz avatar eplanet avatar ivanhercaz avatar jasperla avatar jtpereyda avatar karulont avatar kha avatar koebi avatar lixxia avatar maugsburger avatar merovius avatar mortie avatar neodyblue avatar nico202 avatar ony avatar orestisfl avatar pclouds avatar philipdexter avatar rtfb avatar sandsmark avatar sardemff7 avatar stapelberg avatar stibi avatar vincentbernat avatar viroulep avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

i3lock's Issues

bakcground.png?

Is it kinda of trolling to post backrgound.jpg meanwhile i3lock support just png?)

Out of memory when trying to add a background

Hello,

I got something that went wrong when I'm trying to use your i3lock configuration:

./i3lock -i ./images/background.png -c '#000000' -o '#191d0f' -w '#572020' -l '#ffffff' -e
Could not load image "./images/background.png": out of memory

I don't know what to do with this, and it's not a problem in my memory because I got 8Go of RAM.
(Sorry for my bad english)

Syntax error in configure

After running autoreconf -fi while running ../configure I am getting the following error.

checking for library containing pam_authenticate... -lpam
checking for library containing iconv_open... none required
../configure: line 6360: syntax error near unexpected token `XCB,'
../configure: line 6360: `PKG_CHECK_MODULES(XCB, xcb xcb-xkb xcb-randr)'

I tried to install as many packages as possible from the official Arch Linux repository including:

  • xcb-proto
  • xcb-util
  • xcb-util-image
  • xcb-util-keysyms
  • xcb-util-renderutil
  • xcb-util-wm, xcb-util-xrm
  • libev
  • libxinerama
  • libxkbcommon
  • libxkbcommon-x11

OS: Arch Linux x86_64
Kernel: 4.17.14-arch1-1-ARCH

multi-screen support

Hi,

Thank you for that fork I really like the clock feature !
If I run it on my laptop as it, it work superb and everything is fine.

However I am using a complex setup at work with 3 screens:

  • left: 1920*1080 screen with portrait orientation.
  • middle: 1920*1080 screen resolution with landscape orientation.
  • right: build-in laptop display with 1366*768 resolution.

I would like to display i3lock only on the middle screen when I am in this situation.
Is it currently something possible ?

24 hour format

Would it be possible to add a flag to use 24 hour time instead of 12 hour?

Need help to switch to 24 hours format

Hi,

I'm quite new to Linux and don't know a few things so my question might be a bit dumb.

I want to change the time format to 24 hours.
I found in the file i3lock.c the boolean (set to false by default) and switched it to true and then saved the file.
But my problem is, when I edit the file, it does nothing. (I also tried to switch the colors inside this file but it didn't worked so I used the command line solution)

So what do I have to do to apply the changes made to the file i3lock.c ?

24h clock option

I'm submitting a…

[ ] Bug
[x ] Feature Request
[ ] Other (Please describe in detail)

Would it be possible to add an option to use a 24h clock instead of a 12h clock?

Compilation during `make` fails

I'm submitting a…

[x] Bug
[ ] Feature Request
[ ] Other (Please describe in detail)

Current Behavior

Running make leads to a compilation error (due to multiple definitions of the variable input_position).

Expected Behavior

Compilation should complete without errors.

Resolution of the bug

Just commenting out the line int input_position; (or making the variable extern) in the file unlock_indicator.c works. Putting this bugfix out there so that people can resolve this error on their own.

Reproduction Instructions

Identical to the installation instructions on a fresh clone of the repo.

Environment

Output of i3lock --version:

i3lock: version be2a08a (2019-10-05, branch "master") © 2010 Michael Stapelberg

i3/i3lock fork

More of a question than an actual issue but is there a specific reason the project is managed as a "copy" instead of a "fork"? It might be hard to keep the project up to date with the original i3lock repository.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.