Convert Figma logo to code with AI

Raymo111 logoi3lock-color

The world's most popular non-default computer lockscreen.

1,079
135
1,079
28

Top Related Projects

i3lock script that takes a screenshot of the desktop, blurs the background and adds a lock icon and text

🍀 sweet looking lockscreen for linux system

Quick Overview

i3lock-color is an improved version of the i3lock screen locker for Linux. It adds customizable colors, gradients, images, and other visual enhancements to the original i3lock, providing users with a more aesthetically pleasing and personalized lock screen experience.

Pros

  • Highly customizable with support for colors, gradients, and images
  • Compatible with existing i3lock scripts and configurations
  • Active development and community support
  • Includes additional security features like failed attempt tracking

Cons

  • More complex setup compared to the original i3lock
  • May require additional system resources due to added features
  • Some users report occasional compatibility issues with certain Linux distributions
  • Learning curve for advanced customization options

Getting Started

To install i3lock-color, follow these steps:

  1. Install dependencies (example for Ubuntu/Debian):

    sudo apt install autoconf gcc make pkg-config libpam0g-dev libcairo2-dev libfontconfig1-dev libxcb-composite0-dev libev-dev libx11-xcb-dev libxcb-xkb-dev libxcb-xinerama0-dev libxcb-randr0-dev libxcb-image0-dev libxcb-util-dev libxcb-xrm-dev libxkbcommon-dev libxkbcommon-x11-dev libjpeg-dev
    
  2. Clone the repository and build:

    git clone https://github.com/Raymo111/i3lock-color.git
    cd i3lock-color
    ./build.sh
    
  3. Install:

    sudo make install
    
  4. Basic usage:

    i3lock-color --color=000000
    

For more advanced customization options, refer to the project's README and documentation.

Competitor Comparisons

i3lock script that takes a screenshot of the desktop, blurs the background and adds a lock icon and text

Pros of i3lock-fancy

  • Simpler setup and usage, requiring fewer dependencies
  • Provides a more visually appealing default lock screen out of the box
  • Includes additional features like blurring and pixelating the background image

Cons of i3lock-fancy

  • Less customizable compared to i3lock-color
  • May have slightly higher resource usage due to image processing
  • Fewer options for modifying text and colors on the lock screen

Code Comparison

i3lock-fancy:

#!/bin/bash
scrot /tmp/screen.png
convert /tmp/screen.png -scale 10% -scale 1000% /tmp/screen.png
i3lock -i /tmp/screen.png
rm /tmp/screen.png

i3lock-color:

#!/bin/bash
i3lock \
  --color=000000 \
  --inside-color=00000000 \
  --ring-color=ffffffff \
  --line-uses-inside \
  --keyhl-color=d23c3dff \
  --bshl-color=d23c3dff \
  --separator-color=00000000 \
  --insidever-color=fecf4dff \
  --insidewrong-color=d23c3dff \
  --ringver-color=ffffffff \
  --ringwrong-color=ffffffff \
  --ind-pos="x+86:y+1003" \
  --time-pos="x+43:y+45" \
  --date-pos="x+43:y+73" \

i3lock-fancy focuses on creating an aesthetically pleasing lock screen with minimal configuration, while i3lock-color provides extensive customization options for colors, positioning, and other visual elements. i3lock-color requires more setup but offers greater flexibility for users who want to fine-tune their lock screen appearance.

🍀 sweet looking lockscreen for linux system

Pros of betterlockscreen

  • Provides a more user-friendly and feature-rich wrapper around i3lock-color
  • Offers caching of background images for faster lock screen activation
  • Includes additional customization options like blur effects and time/date display

Cons of betterlockscreen

  • Depends on i3lock-color, adding an extra layer of complexity
  • May have slightly slower initial setup due to image caching process
  • Limited to systems that support i3lock-color

Code comparison

i3lock-color (basic usage):

i3lock-color --image=/path/to/image.png

betterlockscreen (basic usage):

betterlockscreen -u /path/to/image.png
betterlockscreen -l

betterlockscreen offers a more intuitive command structure for setting up and activating the lock screen, while i3lock-color requires more direct parameter input for customization.

Both projects aim to enhance the lock screen experience on Linux systems, with betterlockscreen providing a more user-friendly approach built on top of i3lock-color's functionality. While i3lock-color offers more direct control, betterlockscreen simplifies the process of creating and managing attractive lock screens with additional features like image caching and blur effects.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

i3lock-color

Language count Top language Repo size Open issues Closed issues Open PRs Closed PRs Contributors Latest release Commits Latest commit AUR release ver AUR git ver AUR votes GitHub forks GitHub stars GitHub watchers Discord server Maintained

The world's most popular non-default computer lockscreen.

A modern version of i3lock with color functionality and other features.

i3lock-color in action

NEW: Official Discord server at https://discord.gg/FzVPghyDt2

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. Note that i3lock is not an image manipulation software. If you need to resize the image to fill the screen, you can use something like ImageMagick combined wih xdpyinfo:
    convert image.jpg -resize $(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/') RGB:- | i3lock --raw $(xdpyinfo | grep dimensions | sed -r 's/^[^0-9]*([0-9]+x[0-9]+).*$/\1/'):rgb --image /dev/stdin
    
  • 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
    • Outline colors
    • 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
  • Options for passwordless auth, removing modkey indicator
  • Passing through 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
  • Any other feature you want (add it yourself through a PR or make a feature request issue!)

Dependencies

The following dependencies will need to be installed for a successful build, depending on your OS/distro.

Arch Linux

  • autoconf
  • cairo
  • fontconfig
  • gcc
  • libev
  • libjpeg-turbo
  • libxinerama
  • libxkbcommon-x11
  • libxrandr
  • pam
  • pkgconf
  • xcb-util-image
  • xcb-util-xrm

Debian

Run this command to install all dependencies:

sudo apt install autoconf gcc make pkg-config libpam0g-dev libcairo2-dev libfontconfig1-dev libxcb-composite0-dev libev-dev libx11-xcb-dev libxcb-xkb-dev libxcb-xinerama0-dev libxcb-randr0-dev libxcb-image0-dev libxcb-util0-dev libxcb-xrm-dev libxkbcommon-dev libxkbcommon-x11-dev libjpeg-dev

If you still see missing packages during build after installing all of these dependencies, try following the steps here.

Fedora

Run this command to install all dependencies:

sudo dnf install -y autoconf automake cairo-devel fontconfig gcc libev-devel libjpeg-turbo-devel libXinerama libxkbcommon-devel libxkbcommon-x11-devel libXrandr pam-devel pkgconf xcb-util-image-devel xcb-util-xrm-devel

Ubuntu 18/20.04 LTS

Run this command to install all dependencies:

sudo apt install autoconf gcc make pkg-config libpam0g-dev libcairo2-dev libfontconfig1-dev libxcb-composite0-dev libev-dev libx11-xcb-dev libxcb-xkb-dev libxcb-xinerama0-dev libxcb-randr0-dev libxcb-image0-dev libxcb-util-dev libxcb-xrm-dev libxkbcommon-dev libxkbcommon-x11-dev libjpeg-dev

Building i3lock-color

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

i3lock-color uses GNU autotools for building.

To build/install i3lock-color, first install the dependencies listed above, then clone the repo:

git clone https://github.com/Raymo111/i3lock-color.git
cd i3lock-color

To build without installing, run:

./build.sh

To build AND install, run:

./install-i3lock-color.sh

You may choose to modify the script based on your needs/OS/distro.

Alpine Linux Packages

Alpine packages i3lock-color for a variety of architectures. A full list can be found on pkgs.alpinelinux.org.

Arch Linux Packages

Stable version in Community

Unfortunately the previous maintainer left, and the package got dumped back into the AUR where I'm now maintaining it. You can get it on AUR:

If you're an Arch TU and you're reading this please consider sponsoring it into Community again!

Gentoo Linux Package

i3lock-color is available on GURU, under x11-misc/i3lock-color.

Kali Linux Package

A Debian/Kali package is available: https://gitlab.com/kalilinux/packages/i3lock-color.

NixOS Package

A NixOS package is available. To install, run

nix-env -iA nixos.i3lock-color

Void Linux Package

A Void Linux package is available at https://github.com/void-linux/void-packages/tree/master/srcpkgs/i3lock-color.

FreeBSD port

A FreeBSD port is available on freshports: x11/i3lock-color/.

Running i3lock-color

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

A sample script is included in this repository.

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

Contributors

This project was started by eBrnd, maintained for a few years by PandorasFox and now maintained and being developed by Raymo111. The full list of contributors can be found here.

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.