]> git.sur5r.net Git - i3/i3lock/log
i3/i3lock
9 years agoupdate the changelog/readme for 2.6 2.6
Michael Stapelberg [Fri, 18 Jul 2014 18:21:09 +0000 (20:21 +0200)]
update the changelog/readme for 2.6

9 years agoremove obsolete xkb_state_update_key() calls (Thanks Ran)
Michael Stapelberg [Sat, 18 Jan 2014 20:12:59 +0000 (21:12 +0100)]
remove obsolete xkb_state_update_key() calls (Thanks Ran)

9 years agolisten for XKB events instead of the MappingNotify event (Thanks Ran)
Michael Stapelberg [Sat, 18 Jan 2014 18:40:11 +0000 (19:40 +0100)]
listen for XKB events instead of the MappingNotify event (Thanks Ran)

9 years agolittle cleanups thanks to Ran Benita’s review
Michael Stapelberg [Sat, 18 Jan 2014 18:20:58 +0000 (19:20 +0100)]
little cleanups thanks to Ran Benita’s review

9 years agouse libxkbcommon-x11 instead of libX11
Michael Stapelberg [Sat, 18 Jan 2014 16:13:59 +0000 (17:13 +0100)]
use libxkbcommon-x11 instead of libX11

9 years agoScale the unlock indicator (for retina displays)
Michael Stapelberg [Fri, 2 May 2014 17:57:22 +0000 (19:57 +0200)]
Scale the unlock indicator (for retina displays)

10 years agoCleanup scattered timer calls to use macros
Vytautas Šaltenis [Sun, 23 Mar 2014 17:14:09 +0000 (19:14 +0200)]
Cleanup scattered timer calls to use macros

10 years agoIgnore empty passwd after repeated Enter keypress
Vytautas Šaltenis [Mon, 10 Mar 2014 20:02:27 +0000 (22:02 +0200)]
Ignore empty passwd after repeated Enter keypress

When no ignore_empty_password flag is specified, but Enter key is held
down for some time, i3lock enters a finite, but hours-long loop
verifying empty password. Don't do that, skip empty password
verification if nothing was pressed after last Enter keypress.

Again, making the software cat-proof.

10 years agoFix typo in manual
Vytautas Šaltenis [Tue, 18 Mar 2014 20:40:17 +0000 (22:40 +0200)]
Fix typo in manual

10 years agoFix typo
Vytautas Šaltenis [Thu, 6 Mar 2014 21:16:43 +0000 (23:16 +0200)]
Fix typo

10 years agoDiscard half-entered passwd after some inactivity
Vytautas Šaltenis [Thu, 6 Mar 2014 21:06:28 +0000 (23:06 +0200)]
Discard half-entered passwd after some inactivity

When you start typing a password and then wander off, let's discard that
attempt after a few minutes of inactivity (and turn off the monitors if
dpms is on).

This is a real actual case of making the software cat-proof: when my cat
treads over the keyboard at night, I don't want the monitors to shine
for the rest of the night.

10 years agoDelay to turn off the screen after wrong passwd
Vytautas Šaltenis [Thu, 6 Mar 2014 20:55:37 +0000 (22:55 +0200)]
Delay to turn off the screen after wrong passwd

Also add flag for number of seconds to wait for it.

When user cancels the password or enters a wrong one, i3lock will wait
for some time before putting the monitors back to sleep. By default it's
30 seconds, but this flag allows to control that.

10 years agoReplace '1' with "EXIT_FAILURE"
TheKK [Sun, 16 Mar 2014 13:54:42 +0000 (21:54 +0800)]
Replace '1' with "EXIT_FAILURE"

10 years agoExtract start/stop timer code to reusable funcs
Vytautas Šaltenis [Thu, 6 Mar 2014 20:22:02 +0000 (22:22 +0200)]
Extract start/stop timer code to reusable funcs

10 years agoExtract if(dpms) calls to wrapper functions
Vytautas Šaltenis [Sun, 2 Mar 2014 21:53:42 +0000 (23:53 +0200)]
Extract if(dpms) calls to wrapper functions

10 years agoTurn on the screen on successful authentication
Philippe Virouleau [Sun, 10 Nov 2013 22:12:46 +0000 (23:12 +0100)]
Turn on the screen on successful authentication

As described in ticket #1114, the screen may be left turned off on successful
authentication. This commit fixes this behaviour by turning the screen back on
after the authentication.

Fixes #1114

10 years agoRe-raise i3lock when obscured in a separate process
Michael Stapelberg [Sun, 10 Nov 2013 19:40:52 +0000 (20:40 +0100)]
Re-raise i3lock when obscured in a separate process

This is cleaner than commit a305e62 (running authentication in a
separate process) because we don’t lose the feature that X11 will buffer
KeyPresses for us while the process blocks on PAM. See
http://cr.i3wm.org/patch/305 for the amount of code (and new known bugs)
that would have to be introduced to make a305e62 work.

10 years agoRevert "Run authentification in different process"
Michael Stapelberg [Sun, 10 Nov 2013 19:03:53 +0000 (20:03 +0100)]
Revert "Run authentification in different process"

This reverts commit a305e622a6cad3f9ba267d6810fee54b7c7c86c3.

In the next commit, the same functionality will be achieved in a cleaner
way.

10 years agoRevert "Bug fix: Call clear_input() when the password is wrong."
Michael Stapelberg [Sun, 10 Nov 2013 19:03:48 +0000 (20:03 +0100)]
Revert "Bug fix: Call clear_input() when the password is wrong."

This reverts commit 33d953fbdf4f8630e919643974f32ce6793c7c2b,
in preparation for reverting commit a305e62

10 years agoBug fix: Call clear_input() when the password is wrong.
oblique [Thu, 17 Oct 2013 10:35:33 +0000 (13:35 +0300)]
Bug fix: Call clear_input() when the password is wrong.

clear_input() calls start_clear_indicator_timeout() to clear the
indicator after 1 second. This had as a result the screen to be cleared
when the "verifying…" message was showed, so the "wrong!" message didn't
show up when the password was wrong.

First bad commit: a305e62

10 years agoRun authentification in different process
koebi [Sat, 7 Sep 2013 17:41:16 +0000 (19:41 +0200)]
Run authentification in different process

When having i3bar in “hide” mode, it could previously be brought up
while the authentication was running. This is not 100% fixed with this
change, but a lot better, as the normal “raise i3lock to the top”
behavior is not blocked now anymore.

fixes #895

10 years agoSmall improvements to manual page.
Vincent Bernat [Sat, 31 Aug 2013 12:00:16 +0000 (14:00 +0200)]
Small improvements to manual page.

Use a bulleted list for the IMPROVEMENTS section. Fix some
grammar. Remove the use of "fuck" which may offend some people.

10 years agoBugfix: update the initial keyboard modifier state (Thanks lee, Ran)
Michael Stapelberg [Sun, 1 Sep 2013 08:01:38 +0000 (10:01 +0200)]
Bugfix: update the initial keyboard modifier state (Thanks lee, Ran)

This should make the numpad work correctly.

10 years agoAdd -e to --help
Michael Stapelberg [Sat, 31 Aug 2013 18:42:06 +0000 (20:42 +0200)]
Add -e to --help

10 years agoAdd `-e` option to not validate empty password.
Vincent Bernat [Mon, 26 Aug 2013 21:39:38 +0000 (23:39 +0200)]
Add `-e` option to not validate empty password.

When the XF86ScreenSaver key is used to put a laptop to sleep (or to
trigger the screensaver), the key may "bounce" on resume. This is
annoying as i3lock will try to validate several empty passwords and
wait several seconds before accepting a legit password.

Some users may want to validate an empty password: PAM may rely on
other sources to unlock the screen, like the presence of a token or
the proximity of some Bluetooth device. Hence, we don't forbid this
possibility and provide an command-line option for users not willing
to validate empty passwords.

10 years agoUse cairo_status_to_string for descriptive errors.
Bas Pape [Tue, 30 Jul 2013 18:03:19 +0000 (20:03 +0200)]
Use cairo_status_to_string for descriptive errors.

10 years agoadd xcb-atom to pkg-config calls 2.5
Michael Stapelberg [Sun, 9 Jun 2013 09:44:57 +0000 (11:44 +0200)]
add xcb-atom to pkg-config calls

10 years agoupdate changelog for 2.5
Michael Stapelberg [Sun, 9 Jun 2013 09:13:39 +0000 (11:13 +0200)]
update changelog for 2.5

11 years agoSet window name
Axel Wagner [Tue, 9 Apr 2013 16:31:25 +0000 (18:31 +0200)]
Set window name

11 years agoFix centering the indicator in the no-xinerama case
Sebastian Ullrich [Thu, 28 Mar 2013 23:46:22 +0000 (00:46 +0100)]
Fix centering the indicator in the no-xinerama case

11 years agofix ctrl-u handling
Michael Stapelberg [Fri, 29 Mar 2013 09:13:01 +0000 (10:13 +0100)]
fix ctrl-u handling

11 years agoFix resetting the password after failed authentications
Sebastian Ullrich [Thu, 28 Mar 2013 23:43:43 +0000 (00:43 +0100)]
Fix resetting the password after failed authentications

This has been broken by commit 661344.

11 years agoAdd ctrl+u password reset
Philip Dexter [Sat, 23 Mar 2013 16:33:56 +0000 (12:33 -0400)]
Add ctrl+u password reset

11 years agoUse ev_loop_fork after fork, this fix forking on kqueue based OSes
Baptiste Daroussin [Wed, 20 Mar 2013 16:48:21 +0000 (17:48 +0100)]
Use ev_loop_fork after fork, this fix forking on kqueue based OSes

11 years agoREADME: refer to cr.i3wm.org for patches
Michael Stapelberg [Sun, 10 Feb 2013 14:18:54 +0000 (15:18 +0100)]
README: refer to cr.i3wm.org for patches

11 years agoLimit the debug print to the actual password size
Quentin Glidic [Thu, 7 Feb 2013 16:14:53 +0000 (17:14 +0100)]
Limit the debug print to the actual password size

Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
11 years agoRGB color notation is 3-byte hexadecimal
Vivien Didelot [Thu, 6 Dec 2012 05:38:45 +0000 (00:38 -0500)]
RGB color notation is 3-byte hexadecimal

Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
11 years agoAllow passwordless PAM conversations (e.g. fingerprint)
Moritz Augsburger [Sat, 3 Nov 2012 10:32:07 +0000 (10:32 +0000)]
Allow passwordless PAM conversations (e.g. fingerprint)

11 years agoAllow XKB_KEY_XF86ScreenSaver as synonm for enter
Moritz Augsburger [Sat, 3 Nov 2012 10:31:29 +0000 (10:31 +0000)]
Allow XKB_KEY_XF86ScreenSaver as synonm for enter

This keysym is generated on convertible tablets by pressing a hardware
lock/unlock button.

11 years agoremove support for NOLIBCAIRO, cairo-xcb is widespread by now
Michael Stapelberg [Fri, 26 Oct 2012 18:42:26 +0000 (20:42 +0200)]
remove support for NOLIBCAIRO, cairo-xcb is widespread by now

11 years agoREADME: remove unhelpful comment about pkg-config
Michael Stapelberg [Fri, 26 Oct 2012 18:40:20 +0000 (20:40 +0200)]
README: remove unhelpful comment about pkg-config

11 years agouse libxkbcommon for input handling
Michael Stapelberg [Fri, 26 Oct 2012 18:24:55 +0000 (20:24 +0200)]
use libxkbcommon for input handling

Thanks to Ran Benita and Daniel Stone (the libxkbcommon authors) for
answering my questions and reviewing this code.

With this commit, input handling should be more correct with using less
code (in i3lock, that is).

11 years agobugfix: free(reply) to avoid memory leak
Michael Stapelberg [Fri, 26 Oct 2012 18:21:53 +0000 (20:21 +0200)]
bugfix: free(reply) to avoid memory leak

11 years agos/pam_message/pam_response/ (Thanks Tucos)
Michael Stapelberg [Mon, 15 Oct 2012 20:39:49 +0000 (22:39 +0200)]
s/pam_message/pam_response/ (Thanks Tucos)

The previous code didn’t cause any issues since both types (currently!)
have the same size.

11 years agopromote the "could not load image" message from debug to normal
Michael Stapelberg [Wed, 26 Sep 2012 09:21:48 +0000 (11:21 +0200)]
promote the "could not load image" message from debug to normal

11 years agoonly use mlock() on Linux, FreeBSD (for example) requires root
Michael Stapelberg [Wed, 22 Aug 2012 18:49:10 +0000 (20:49 +0200)]
only use mlock() on Linux, FreeBSD (for example) requires root

11 years agogetopt_long returns int, don't cast to char.
Fernando Tarlá Cardoso Lemos [Fri, 29 Jun 2012 13:30:39 +0000 (10:30 -0300)]
getopt_long returns int, don't cast to char.

On ARM, casting -1 to char turns it into something else. Fixes
argument parsing on ARM. Thanks Chipaca for reporting.

11 years agoupdate changelog for 2.4.1 2.4.1
Michael Stapelberg [Sat, 2 Jun 2012 12:45:12 +0000 (14:45 +0200)]
update changelog for 2.4.1

11 years agoskip shift when getting the modifier mask (Thanks SardemFF7)
Michael Stapelberg [Wed, 30 May 2012 14:53:16 +0000 (16:53 +0200)]
skip shift when getting the modifier mask (Thanks SardemFF7)

11 years agorevert shift lock handling (broke uppercase letters)
Michael Stapelberg [Wed, 30 May 2012 14:08:12 +0000 (16:08 +0200)]
revert shift lock handling (broke uppercase letters)

With some layouts, this broke uppercase letters in your passwords.

I think that explicit shiftlock handling is unnecessary. X11 seems to do
it on its own. Here is what leads me to that conclusion:

  $ setxkbmap de
  $ xmodmap -e 'keycode 66 = Shift_Lock'
  $ xev

Now enter a character, say "a", then press CapsLk (which is now
Shift_Lock), then press "a" again. The event state is 0x1, thereby
undistinguishable from normal shift.

11 years agoBugfix: Correctly center unlock indicator after reconfiguring screens (Thanks xn)
Michael Stapelberg [Sat, 19 May 2012 19:13:03 +0000 (21:13 +0200)]
Bugfix: Correctly center unlock indicator after reconfiguring screens (Thanks xn)

Fixes: #712
12 years agoremove debian/
Michael Stapelberg [Sat, 7 Apr 2012 22:23:46 +0000 (00:23 +0200)]
remove debian/

The Debian packaging is now hosted on Debian servers at
git://git.debian.org/users/stapelberg/i3lock.git

This makes life easier for Debian people. It makes life harder
for you if you want to build a Debian package of the current
git version. Here is how you could do that now:

Build a tarball of the current git version:
mkdir ../i3lock-dpkg
VERSION=i3lock-$(git describe --tags)
git archive --prefix=$VERSION/ --output=../i3lock-dpkg/$VERSION.tar.bz2 HEAD

get the packaging:
cd ../i3lock-dpkg
gbp-clone git://git.debian.org/users/stapelberg/i3lock.git
cd i3lock
git-import-orig ../$VERSION.tar.bz2
dpkg-buildpackage

12 years agoadd .gitignore
Michael Stapelberg [Sat, 7 Apr 2012 17:41:12 +0000 (19:41 +0200)]
add .gitignore

12 years agoadd CHANGELOG file 2.4
Michael Stapelberg [Sun, 1 Apr 2012 11:10:50 +0000 (13:10 +0200)]
add CHANGELOG file

12 years agoUse (void) instead of () for functions without args (Thanks fernandotcl)
Michael Stapelberg [Sun, 1 Apr 2012 10:28:28 +0000 (12:28 +0200)]
Use (void) instead of () for functions without args (Thanks fernandotcl)

See also:
http://article.gmane.org/gmane.linux.kernel/1268792

The C compiler will handle (void) as "no arguments" and () as "variadic
function" (equivalent to (...)) which might lead to subtle errors, such
as the one which was fixed with commit 0ea64ae4.

12 years agoBugfix: fallback when the image cannot be loaded
Michael Stapelberg [Wed, 28 Mar 2012 18:59:17 +0000 (20:59 +0200)]
Bugfix: fallback when the image cannot be loaded

If the specified file does not exist or is invalid, previously, the unlock
indicator wouldn’t show up at all, because the invalid surface was still used.

With this commit, i3lock will react like if you didn’t specify an image at all.

12 years agoOnly output text when in debug mode (fixes problems with xautolock)
Michael Stapelberg [Mon, 26 Mar 2012 17:54:47 +0000 (19:54 +0200)]
Only output text when in debug mode (fixes problems with xautolock)

12 years agoBugfix: Fix background color when using cairo (Thanks Pascal)
Michael Stapelberg [Mon, 26 Mar 2012 16:59:41 +0000 (18:59 +0200)]
Bugfix: Fix background color when using cairo (Thanks Pascal)

12 years agodebian: update changelog for 2.3.1 2.3.1
Michael Stapelberg [Thu, 15 Mar 2012 16:02:00 +0000 (17:02 +0100)]
debian: update changelog for 2.3.1

12 years agofix compilation on some systems (Thanks badboy)
Michael Stapelberg [Thu, 15 Mar 2012 12:50:51 +0000 (13:50 +0100)]
fix compilation on some systems (Thanks badboy)

12 years agodebian: fix packaging format to 1.0 for now 2.3
Michael Stapelberg [Thu, 15 Mar 2012 12:34:35 +0000 (13:34 +0100)]
debian: fix packaging format to 1.0 for now

12 years agodebian: remove duplicate priority field
Michael Stapelberg [Thu, 15 Mar 2012 12:33:54 +0000 (13:33 +0100)]
debian: remove duplicate priority field

12 years agomanpage: add -u flag in synopsis
Michael Stapelberg [Thu, 15 Mar 2012 12:32:56 +0000 (13:32 +0100)]
manpage: add -u flag in synopsis

12 years agomanpage: hyphen
Michael Stapelberg [Thu, 15 Mar 2012 12:32:34 +0000 (13:32 +0100)]
manpage: hyphen

12 years agodebian: update packaging
Michael Stapelberg [Thu, 15 Mar 2012 12:28:07 +0000 (13:28 +0100)]
debian: update packaging

12 years agoREADME: also add libev to dependencies
Michael Stapelberg [Thu, 15 Mar 2012 11:47:40 +0000 (12:47 +0100)]
README: also add libev to dependencies

12 years agodocument the dependency on libxcb-xinerama
Michael Stapelberg [Thu, 15 Mar 2012 11:35:24 +0000 (12:35 +0100)]
document the dependency on libxcb-xinerama

12 years agoProperly handle Caps Lock (Thanks Damien)
Michael Stapelberg [Sat, 10 Mar 2012 15:41:42 +0000 (16:41 +0100)]
Properly handle Caps Lock (Thanks Damien)

12 years agoman page: mention xautolock
Maik Fischer [Thu, 23 Feb 2012 16:03:59 +0000 (17:03 +0100)]
man page: mention xautolock

12 years agoBugfix: Copy the color depth from parent (root) window instead of hardcoding to 24...
Michael Stapelberg [Sun, 15 Jan 2012 16:15:05 +0000 (16:15 +0000)]
Bugfix: Copy the color depth from parent (root) window instead of hardcoding to 24 (Thanks hafron)

12 years agoAdded missing #ifndef NOLIBCAIRO
Simon Kämpe [Sat, 7 Jan 2012 09:57:22 +0000 (10:57 +0100)]
Added missing #ifndef NOLIBCAIRO

Needed to compile without libcairo.

12 years agoBugfix: Check for waiting X11 events before entering the event loop
Michael Stapelberg [Thu, 5 Jan 2012 22:27:01 +0000 (22:27 +0000)]
Bugfix: Check for waiting X11 events before entering the event loop

12 years agoChange the unlock indicator properly after pressing the 'escape' key
Michael Stapelberg [Thu, 5 Jan 2012 01:07:29 +0000 (01:07 +0000)]
Change the unlock indicator properly after pressing the 'escape' key

12 years agodebian: add libxcb-xinerama0-dev as build-dependency
Michael Stapelberg [Wed, 4 Jan 2012 00:12:57 +0000 (00:12 +0000)]
debian: add libxcb-xinerama0-dev as build-dependency

12 years agodraw the unlock indicator in the middle of every screen
Michael Stapelberg [Wed, 4 Jan 2012 00:10:36 +0000 (00:10 +0000)]
draw the unlock indicator in the middle of every screen

12 years agoImplement Xinerama support (not used yet)
Michael Stapelberg [Tue, 3 Jan 2012 23:10:56 +0000 (23:10 +0000)]
Implement Xinerama support (not used yet)

12 years agoFix a few memory leaks
Michael Stapelberg [Tue, 3 Jan 2012 22:31:16 +0000 (22:31 +0000)]
Fix a few memory leaks

12 years agoProperly free timeouts, move one of the timeouts to unlock_indicator.c
Michael Stapelberg [Tue, 3 Jan 2012 22:18:33 +0000 (22:18 +0000)]
Properly free timeouts, move one of the timeouts to unlock_indicator.c

12 years agoremove the dead variable modeswitchmask
Michael Stapelberg [Tue, 3 Jan 2012 21:01:16 +0000 (21:01 +0000)]
remove the dead variable modeswitchmask

12 years agoProperly free the reply of xcb_get_geometry
Michael Stapelberg [Tue, 3 Jan 2012 21:01:05 +0000 (21:01 +0000)]
Properly free the reply of xcb_get_geometry

12 years agoRefactor the unlock indicator into its own source code file
Michael Stapelberg [Tue, 3 Jan 2012 20:56:05 +0000 (20:56 +0000)]
Refactor the unlock indicator into its own source code file

12 years agoFork after the window is visible, not before
Michael Stapelberg [Tue, 3 Jan 2012 20:19:17 +0000 (20:19 +0000)]
Fork after the window is visible, not before

12 years agochange ALL the copyrights!
Michael Stapelberg [Tue, 3 Jan 2012 18:20:37 +0000 (18:20 +0000)]
change ALL the copyrights!

12 years agoLock the password buffer in memory, clear it in RAM after verifying
Michael Stapelberg [Tue, 3 Jan 2012 16:17:58 +0000 (16:17 +0000)]
Lock the password buffer in memory, clear it in RAM after verifying

12 years agosupport ISO_Level5_Shift (Thanks roland)
Michael Stapelberg [Fri, 30 Dec 2011 02:13:24 +0000 (03:13 +0100)]
support ISO_Level5_Shift (Thanks roland)

12 years agoFix the timeouts for hiding the unlock indicator (Thanks Merovius)
Michael Stapelberg [Thu, 29 Dec 2011 01:56:28 +0000 (02:56 +0100)]
Fix the timeouts for hiding the unlock indicator (Thanks Merovius)

12 years agoProperly free X11 resources (fixes DoS bug) (Thanks Merovius)
Michael Stapelberg [Wed, 28 Dec 2011 22:05:02 +0000 (23:05 +0100)]
Properly free X11 resources (fixes DoS bug) (Thanks Merovius)

12 years agoImplement a visual unlock indicator
Michael Stapelberg [Wed, 28 Dec 2011 19:28:18 +0000 (20:28 +0100)]
Implement a visual unlock indicator

12 years agodebian: update packaging to use dpkg-buildflags, i3lock.manpages 2.2
Michael Stapelberg [Sun, 6 Nov 2011 14:21:08 +0000 (14:21 +0000)]
debian: update packaging to use dpkg-buildflags, i3lock.manpages

12 years agoMakefile: add 'dist' target
Michael Stapelberg [Sun, 6 Nov 2011 14:20:40 +0000 (14:20 +0000)]
Makefile: add 'dist' target

12 years agoProperly implement -h (fixes error message about unknown option)
Michael Stapelberg [Sun, 6 Nov 2011 14:11:20 +0000 (14:11 +0000)]
Properly implement -h (fixes error message about unknown option)

12 years agoGet rid of superfluous \n in --version
Michael Stapelberg [Sun, 6 Nov 2011 14:08:33 +0000 (14:08 +0000)]
Get rid of superfluous \n in --version

12 years agoupdate debian/changelog
Michael Stapelberg [Sun, 6 Nov 2011 14:02:42 +0000 (14:02 +0000)]
update debian/changelog

12 years agoBugfix: Properly detect the release of ISO_Level3_Shift (Thanks bacardi55)
Michael Stapelberg [Sun, 30 Oct 2011 13:22:50 +0000 (13:22 +0000)]
Bugfix: Properly detect the release of ISO_Level3_Shift (Thanks bacardi55)

12 years agoIntroduce --debug and some debugging options related to the Mode_switch / ISO_Level3_...
Michael Stapelberg [Sat, 29 Oct 2011 22:28:11 +0000 (23:28 +0100)]
Introduce --debug and some debugging options related to the Mode_switch / ISO_Level3_Shift thing

12 years agoCorrectly handle Mode_switch/ISO_Level3_Shift (Thanks bacardi55)
Michael Stapelberg [Sat, 29 Oct 2011 22:23:41 +0000 (23:23 +0100)]
Correctly handle Mode_switch/ISO_Level3_Shift (Thanks bacardi55)

I tested this with the following experiment:
$ setxkbmap 'us(intl)'
$ xmodmap ~/configfiles/midna/Xmodmap
$ xmodmap -e 'keycode 38 = a A adiaeresis Adiaeresis o O'
$ xmodmap -e 'keycode 49 = ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift'
Then, Mode_switch + a yields ä, but ` + a yields o.

In i3lock, these were swapped (Mode_switch + a yielded o, while ä was not
reachable at all). The comment in the code explains it

(See http://code.stapelberg.de/git/configfiles for the Xmodmap)

12 years agoBugfix: Don’t re-grab pointer/keyboard on MappingNotify (Thanks wilmer)
Michael Stapelberg [Mon, 24 Oct 2011 20:18:43 +0000 (21:18 +0100)]
Bugfix: Don’t re-grab pointer/keyboard on MappingNotify (Thanks wilmer)

This fixes bug http://bugs.i3wm.org/545, where characters (of your password)
would rarely slip through when entering your password (especially) after
resuming your notebook from suspend to RAM.

The reason is that when resuming, X triggers one or more MappingNotify events.
At the same time, CPU load is high. This leads to a race-condition between the
ungrab and re-grab in which i3lock temporarily does not grab the keyboard.

One way to fix this is using xcb_grab_server() before and xcb_ungrab_server()
after the ungrab/re-grab. However, I think we actually don’t need to
ungrab/re-grab at all. I seem to have put that code in here by mistake – in i3,
we re-grab after MappingNotify, but there we only grab specific keys. In
i3lock, we grab the whole pointer/keyboard, so there should be no need.

If I’m incorrect and this breaks some subtle use-cases for people with strange
layout setup, at least we can properly document on why we need it, after we put
it back in ;).

12 years agomanpage: mention arguments in OPTIONS section, too (Thanks TrickSTer)
Michael Stapelberg [Sun, 25 Sep 2011 12:34:26 +0000 (13:34 +0100)]
manpage: mention arguments in OPTIONS section, too (Thanks TrickSTer)

12 years agoThrow an error when specifying an invalid pointer argument (-p) (Thanks TrickSTer)
Michael Stapelberg [Sun, 25 Sep 2011 12:26:51 +0000 (13:26 +0100)]
Throw an error when specifying an invalid pointer argument (-p) (Thanks TrickSTer)

12 years agoFixed handle_screen_resize to build with NOLIBCAIRO enabled
Thorsten Töpper [Tue, 23 Aug 2011 23:22:17 +0000 (01:22 +0200)]
Fixed handle_screen_resize to build with NOLIBCAIRO enabled