Giter VIP home page Giter VIP logo

i3lock-blur's Introduction

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:

  • Fuzzy option added. With that there is no image or solid color displayed when screen is locked. A blurring filter is applied to the screen.

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

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

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

Install packages in Ubuntu

sudo apt-get install pkg-config libxcb1-dev libxcb1 libgl2ps-dev libx11-dev libglc0 libglc-dev libcairo2-dev libcairo-gobject2 libcairo2-dev libxkbfile-dev libxkbfile1 libxkbcommon-dev libxkbcommon-x11-dev libxcb-xkb-dev libxcb-dpms0-dev libxcb-damage0-dev libpam0g-dev libev-dev libxcb-image0-dev libxcb-util0-dev libxcb-composite0-dev libxcb-xinerama0-dev

Running i3lock

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

To run i3lock with the blurring, please use the --fuzzy option. The amount of blurring can be changed with the --radius and --sigma flags. Please check the man page.

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 general pull requests to https://github.com/i3/i3lock Everything related to blurring mode should be submitted to https://github.com/karulont/i3lock-blur

i3lock-blur's People

Contributors

airblader avatar atsutane avatar badboy avatar bluetech avatar danielotero avatar deiz avatar eplanet avatar grandchild avatar jasperla avatar karulont avatar kha avatar koebi avatar maugsburger avatar merovius avatar ony avatar orestisfl avatar passos avatar philipdexter avatar rtfb avatar sandsmark avatar sardemff7 avatar segfault42 avatar simonkampe avatar stapelberg avatar stibi avatar thekk avatar vincentbernat avatar viroulep avatar vivien avatar wasamasa 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

i3lock-blur's Issues

More radius/sigma by default

I understand that how much blurring looks good in extremely subjective, however, with the current defaults blurred text is easily readable (partially defeating the idea of locking my screen).

I had to push radius and sigma up to 15 for text to become unreadable (but you can still tell it's text). Maybe I overdid it a bit, but I'd like to proposed to bump the defaults a bit so that i3lock -f makes text unreadable by out-of-the-box.

Can this be merged into i3lock?

This would give it a wider audience and make it easier to install on any available system. I love this lock, and wish it were available in more places.

Not blurring feh background image

When I run "i3lock -f" with applications running the result is what I expect. However, if I have no applications opened and can only see my background (produced by feh in i3), I see a blurred back background (with my i3bar at the bottom) when running "i3lock -f".

BadValue (integer parameter out of range)

I'm running arch with 2 screens using Nvidia-304xx as a driver.
Adding the -f flag will throw the following error:

X Error of failed request: BadValue (integer parameter our of range for operation)
Major opcode of failed request: 154 (GLX)
Minor opcode of failed request: 16 (X_GLXVendorPrivate)
Value in failed request: 0x20de
Serial number of failed request: 0
Current serial number in output stream: 649

I think this might be similar to the issues regarding the catalyst drivers, but I'm not sure.

i3lock-blur work but flickers.

I get a white background and as far as there is no man page with your program I can't really see what the new options mean. If I run i3lock without any other arguments I get just a white background like on the regular i3lock which is not what I want, I dont run composite manager on i3 so that is not a problem. It wouldn't hurt to update a manpage and install it during a make install wouldn't it?
Thanks for your work but this program does not work for me now.

Screen Corruption on Unlock

I was playing around with this after trying i3lock-wrapper but finding it too slow. The blurring functionality works great and is much quicker. However, after I type my password I get some pretty crazy screen corruption (The pattern does not appear at once, but instead snakes across the screen a block at a time until the whole display is covered). Switching to a vtty and back to Xorg will clear it up and reveal my desktop. This does not happen if I remove the '-f' option.

I am using the proprietary nvidia drivers (v358.16-3 from the arch linux repositories).

Catalyst drivers problem

Got something....

Just letting you know that this doesn't work for me at all. It locks the screen with a messed up image over my 3 monitors. I am running Arch with catalyst drivers.

Maybe someday will look into it, when I get my hands on a machine with ati/amd graphics.

Feature Request: Darkening

I would like to be able to configure i3lock-blur to darken the image when the screen is locked. A brightness adjustment parameter with a range of 0-100 or something similar would be nice. Thanks.

Blurring not working with fglrx

I have a hybrid intel/amd laptop, which means I also have Intel and AMD GPUs.
When using intel, i3lock -f works as expected.
However when on AMD (using proprietary fglrx) it does not work. It blurs for a moment and then it probably crashes or something, as my screen is not locked and unblurred.
I don't know how to debug this, so any suggestion is appreciated.

lock/unlock is quite slow

It takes me 3~4 secs to lock the screen, and 6~9secs to unlock it.

Arch linux
i3-gaps-next-git 4.14.30
i3lock-blur 2.9-1
Running i3lock -f -r 12 -s 12 -u && echo mem > /sys/power/state
i3lock -f -r 12 -s 12 -u -n is also very slow.

I cannot find any related log, not sure how to fix this issue. Do you have any idea ?

How to install

I was wondering. Ther's no installation guide, i'am not a c freak, but i know there must be some kind og configure or Makefile. But they're named different, so i'cant execute any of -./configure or make...

Cmdline argument '-f' use.

Upstream now has a option to show number of failed login attempts. In upstream it is enabled with a cmdline switch '-f'. In i3lock-blur '-f' is used to enable blurring background.

Should I use another switch to enable blurring, or just use another switch to show failed login attempts.

fatal IO error 11 (Resource temporarily unavailable) on X server ":0"

Whenever I use i3lock -f my monitors blur for about 1 second, then unblur, and then it seems like it's frozen for a while. I cannot use my mouse, I cannot enter my password to unlock it, nothing seems to be giving any feedback. After a while it "unfreezes" and throws the following error:

XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
      after 4920 requests (4920 known processed) with 0 events remaining.

The amount of requests (4920) differs sometimes. Note that using i3lock by itself works just fine.

Some information about my machine:

  • Arch Linux 4.11.9-1
  • GPU: Nvidia GTX 1070
  • GPU driver: Nvidia proprietary driver 318.22.
  • 2 monitors, 1 in landscape, 1 in portrait, both 1440p.

If there's anything else you'd like to know, I can provide that.

This was tested on the master branch and on the version that's on AUR as of writing this issue which is 2.9-1.

non-forking when fuzzy flag applied

First off big thanx for a great locker!
I would like to use the fuzzy option when locking the screen, then suspend to ram, but can't get it to work using either what's suggested in the man page: i3lock -f && echo mem > /sys/power/state nor i3lock -f && systemctl suspend.
I think the reason is that call to fork() isn't issued when the fuzzy flag is applied - I guess for a good reason, but would like to check with you anyway? Or is there some other way of doing it?
Cheers!

Blurring all screen elements

Observed in LXQT, but probably similar with LXDE and other:
The option i3lock -f makes the screenshot (and blur it) of all screen elements except of the Panel. In the place of panel there is just blurred background.

Blurring cuts in and out

I received a "bug report".

The blurring cuts in and out when I use this; one moment it's blurred, then the next it's clear, then it's blurred again, seeming to update in time with the clock on my statusbar.

  • Celti

X11 errors when blurring

When I do "i3lock -f" it will show a blurred screenshot as expected. However it seems to stop workin after that. It will just show the screenshot and not any lock symbol. And when I try to type my password to unlock the screen nothing happens. Neither any indication on the lockscreen that it registered me typing nor unlocking the screen. I have to go to another tty to kill the process. When I run "i3lock -f --debug" I get these errors:
scaling factor = 7.680000 radius = 3 sigma = 3.840000 X11 Error received! sequence 0x11c, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x11d, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x11e, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x11f, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x120, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x121, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x123, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x124, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x126, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x128, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x12a, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x12b, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x12d, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x2e5, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x2e6, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x2e7, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x2e8, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x2e9, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x2ea, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x2ec, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x2ed, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x2ef, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x2f1, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x2f3, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x2f4, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x2f6, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x371, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x372, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x373, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x374, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x375, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x376, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x378, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x379, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x37b, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x37d, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x37f, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x380, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x382, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x3fd, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x3fe, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x3ff, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x400, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x401, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x402, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x404, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x405, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x407, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x409, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x40b, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x40c, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x40e, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x489, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x48a, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x48b, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x48c, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x48d, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x48e, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x490, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x491, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x493, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x495, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x497, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x498, error_code = 8, major = 0x3e, minor = 0x0 X11 Error received! sequence 0x49a, error_code = 8, major = 0x3e, minor = 0x0 [i3lock-debug] device = 3 [i3lock-debug] found Xinerama screen: 1366 x 768 at 0 x 0 [i3lock-debug] device = 3 [i3lock-debug] redraw_screen(unlock_state = 0, pam_state = 0) [i3lock-debug] redraw_screen(unlock_state = 0, pam_state = 0) [i3lock-debug] redraw_screen(unlock_state = 0, pam_state = 0) [i3lock-debug] redraw_screen(unlock_state = 0, pam_state = 0)
I have not been able to figure out what the X11 errors mean. I am running Arch Linux with an Intel CPU and ATI Radeon graphics card. When I use it without the -f option it works fine.

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.