]>
git.sur5r.net Git - i3/i3lock/log
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).
Michael Stapelberg [Fri, 26 Oct 2012 18:21:53 +0000 (20:21 +0200)]
bugfix: free(reply) to avoid memory leak
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.
Michael Stapelberg [Wed, 26 Sep 2012 09:21:48 +0000 (11:21 +0200)]
promote the "could not load image" message from debug to normal
Michael Stapelberg [Wed, 22 Aug 2012 18:49:10 +0000 (20:49 +0200)]
only use mlock() on Linux, FreeBSD (for example) requires root
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.
Michael Stapelberg [Sat, 2 Jun 2012 12:45:12 +0000 (14:45 +0200)]
update changelog for 2.4.1
Michael Stapelberg [Wed, 30 May 2012 14:53:16 +0000 (16:53 +0200)]
skip shift when getting the modifier mask (Thanks SardemFF7)
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.
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
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
Michael Stapelberg [Sat, 7 Apr 2012 17:41:12 +0000 (19:41 +0200)]
add .gitignore
Michael Stapelberg [Sun, 1 Apr 2012 11:10:50 +0000 (13:10 +0200)]
add CHANGELOG file
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 .
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.
Michael Stapelberg [Mon, 26 Mar 2012 17:54:47 +0000 (19:54 +0200)]
Only output text when in debug mode (fixes problems with xautolock)
Michael Stapelberg [Mon, 26 Mar 2012 16:59:41 +0000 (18:59 +0200)]
Bugfix: Fix background color when using cairo (Thanks Pascal)
Michael Stapelberg [Thu, 15 Mar 2012 16:02:00 +0000 (17:02 +0100)]
debian: update changelog for 2.3.1
Michael Stapelberg [Thu, 15 Mar 2012 12:50:51 +0000 (13:50 +0100)]
fix compilation on some systems (Thanks badboy)
Michael Stapelberg [Thu, 15 Mar 2012 12:34:35 +0000 (13:34 +0100)]
debian: fix packaging format to 1.0 for now
Michael Stapelberg [Thu, 15 Mar 2012 12:33:54 +0000 (13:33 +0100)]
debian: remove duplicate priority field
Michael Stapelberg [Thu, 15 Mar 2012 12:32:56 +0000 (13:32 +0100)]
manpage: add -u flag in synopsis
Michael Stapelberg [Thu, 15 Mar 2012 12:32:34 +0000 (13:32 +0100)]
manpage: hyphen
Michael Stapelberg [Thu, 15 Mar 2012 12:28:07 +0000 (13:28 +0100)]
debian: update packaging
Michael Stapelberg [Thu, 15 Mar 2012 11:47:40 +0000 (12:47 +0100)]
README: also add libev to dependencies
Michael Stapelberg [Thu, 15 Mar 2012 11:35:24 +0000 (12:35 +0100)]
document the dependency on libxcb-xinerama
Michael Stapelberg [Sat, 10 Mar 2012 15:41:42 +0000 (16:41 +0100)]
Properly handle Caps Lock (Thanks Damien)
Maik Fischer [Thu, 23 Feb 2012 16:03:59 +0000 (17:03 +0100)]
man page: mention xautolock
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)
Simon Kämpe [Sat, 7 Jan 2012 09:57:22 +0000 (10:57 +0100)]
Added missing #ifndef NOLIBCAIRO
Needed to compile without libcairo.
Michael Stapelberg [Thu, 5 Jan 2012 22:27:01 +0000 (22:27 +0000)]
Bugfix: Check for waiting X11 events before entering the event loop
Michael Stapelberg [Thu, 5 Jan 2012 01:07:29 +0000 (01:07 +0000)]
Change the unlock indicator properly after pressing the 'escape' key
Michael Stapelberg [Wed, 4 Jan 2012 00:12:57 +0000 (00:12 +0000)]
debian: add libxcb-xinerama0-dev as build-dependency
Michael Stapelberg [Wed, 4 Jan 2012 00:10:36 +0000 (00:10 +0000)]
draw the unlock indicator in the middle of every screen
Michael Stapelberg [Tue, 3 Jan 2012 23:10:56 +0000 (23:10 +0000)]
Implement Xinerama support (not used yet)
Michael Stapelberg [Tue, 3 Jan 2012 22:31:16 +0000 (22:31 +0000)]
Fix a few memory leaks
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
Michael Stapelberg [Tue, 3 Jan 2012 21:01:16 +0000 (21:01 +0000)]
remove the dead variable modeswitchmask
Michael Stapelberg [Tue, 3 Jan 2012 21:01:05 +0000 (21:01 +0000)]
Properly free the reply of xcb_get_geometry
Michael Stapelberg [Tue, 3 Jan 2012 20:56:05 +0000 (20:56 +0000)]
Refactor the unlock indicator into its own source code file
Michael Stapelberg [Tue, 3 Jan 2012 20:19:17 +0000 (20:19 +0000)]
Fork after the window is visible, not before
Michael Stapelberg [Tue, 3 Jan 2012 18:20:37 +0000 (18:20 +0000)]
change ALL the copyrights!
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
Michael Stapelberg [Fri, 30 Dec 2011 02:13:24 +0000 (03:13 +0100)]
support ISO_Level5_Shift (Thanks roland)
Michael Stapelberg [Thu, 29 Dec 2011 01:56:28 +0000 (02:56 +0100)]
Fix the timeouts for hiding the unlock indicator (Thanks Merovius)
Michael Stapelberg [Wed, 28 Dec 2011 22:05:02 +0000 (23:05 +0100)]
Properly free X11 resources (fixes DoS bug) (Thanks Merovius)
Michael Stapelberg [Wed, 28 Dec 2011 19:28:18 +0000 (20:28 +0100)]
Implement a visual unlock indicator
Michael Stapelberg [Sun, 6 Nov 2011 14:21:08 +0000 (14:21 +0000)]
debian: update packaging to use dpkg-buildflags, i3lock.manpages
Michael Stapelberg [Sun, 6 Nov 2011 14:20:40 +0000 (14:20 +0000)]
Makefile: add 'dist' target
Michael Stapelberg [Sun, 6 Nov 2011 14:11:20 +0000 (14:11 +0000)]
Properly implement -h (fixes error message about unknown option)
Michael Stapelberg [Sun, 6 Nov 2011 14:08:33 +0000 (14:08 +0000)]
Get rid of superfluous \n in --version
Michael Stapelberg [Sun, 6 Nov 2011 14:02:42 +0000 (14:02 +0000)]
update debian/changelog
Michael Stapelberg [Sun, 30 Oct 2011 13:22:50 +0000 (13:22 +0000)]
Bugfix: Properly detect the release of ISO_Level3_Shift (Thanks bacardi55)
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
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)
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 ;).
Michael Stapelberg [Sun, 25 Sep 2011 12:34:26 +0000 (13:34 +0100)]
manpage: mention arguments in OPTIONS section, too (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)
Thorsten Töpper [Tue, 23 Aug 2011 23:22:17 +0000 (01:22 +0200)]
Fixed handle_screen_resize to build with NOLIBCAIRO enabled
Stefan Breunig [Sat, 6 Aug 2011 09:21:07 +0000 (11:21 +0200)]
handle screen resolution images and redraw the lock window
Michael Stapelberg [Wed, 13 Jul 2011 15:06:46 +0000 (17:06 +0200)]
update debian packaging, update copyright
Michael Stapelberg [Wed, 13 Jul 2011 14:56:27 +0000 (16:56 +0200)]
makefile: respect and use CPPFLAGS / LIBS (Thanks Kacper)
Michael Stapelberg [Sat, 2 Apr 2011 17:49:38 +0000 (19:49 +0200)]
optimization: render to pixmap which is used as background for the window
Before this commit, the background color (white by default) was visible for
about 100ms until the image was drawn. This flickering is now eliminated.
Also, we don’t need to handle Expose-events anymore, as X11 will use the
window’s background pixmap automatically.
Michael Stapelberg [Sat, 2 Apr 2011 17:32:59 +0000 (19:32 +0200)]
Mark handle_visibility_notify and handle_mapping_notify as static
Michael Stapelberg [Sun, 13 Mar 2011 19:38:32 +0000 (20:38 +0100)]
update debian packaging
Michael Stapelberg [Sun, 13 Mar 2011 19:24:25 +0000 (20:24 +0100)]
cleanup indention left-overs
Michael Stapelberg [Sun, 13 Mar 2011 19:23:39 +0000 (20:23 +0100)]
bump copyright
Michael Stapelberg [Sun, 13 Mar 2011 18:31:08 +0000 (19:31 +0100)]
Handle MappingNotify-events (Thanks Pascal)
Michael Stapelberg [Sat, 22 Jan 2011 23:11:51 +0000 (00:11 +0100)]
use 'auth include login' instead of '@include login', the latter is debian-specific (Thanks mseed)
Michael Stapelberg [Thu, 20 Jan 2011 09:36:03 +0000 (10:36 +0100)]
add i3lock.pam (installed as /etc/pam.d/i3lock) which includes 'login' (Thanks Семён)
Michael Stapelberg [Sat, 15 Jan 2011 13:47:06 +0000 (14:47 +0100)]
Bugfix: correctly check for errors when connecting to X11
Michael Stapelberg [Tue, 9 Nov 2010 18:35:16 +0000 (19:35 +0100)]
add XK_KP_Enter as synonym for XK_Return
Michael Stapelberg [Mon, 8 Nov 2010 13:39:53 +0000 (14:39 +0100)]
Bugfix: Handle numpad keys correctly (Thanks Pascal)
Michael Stapelberg [Sat, 6 Nov 2010 17:02:44 +0000 (18:02 +0100)]
Bugfix: When entering 512 characters, you could use neither return nor backspace (Thanks carl)
Michael Stapelberg [Wed, 6 Oct 2010 21:39:18 +0000 (23:39 +0200)]
Add a hint to the error message 'unknown option' when compiled with NOLIBCAIRO
Thorsten Töpper [Sat, 2 Oct 2010 19:50:50 +0000 (21:50 +0200)]
Make it possible to build i3lock without cairo.
Michael Stapelberg [Thu, 9 Sep 2010 13:39:27 +0000 (15:39 +0200)]
comment out debug output (Thanks Ciprian)
Michael Stapelberg [Sun, 5 Sep 2010 16:19:25 +0000 (18:19 +0200)]
debian: change priority to optional
Michael Stapelberg [Sun, 5 Sep 2010 11:59:02 +0000 (13:59 +0200)]
update debian packaging for i3lock 2.0 release
Michael Stapelberg [Fri, 23 Jul 2010 21:13:41 +0000 (23:13 +0200)]
print version number when invoked with -v
Michael Stapelberg [Tue, 20 Jul 2010 23:46:41 +0000 (01:46 +0200)]
manpage: add missing "specify" (Thanks xeen)
Michael Stapelberg [Tue, 20 Jul 2010 23:45:11 +0000 (01:45 +0200)]
s/passwords/password (Thanks xeen)
Michael Stapelberg [Tue, 20 Jul 2010 21:44:58 +0000 (23:44 +0200)]
Re-implement tiling of image (-t)
Michael Stapelberg [Tue, 20 Jul 2010 21:09:09 +0000 (23:09 +0200)]
Fix compilation warning by including cairo-xcb
Michael Stapelberg [Tue, 20 Jul 2010 21:06:54 +0000 (23:06 +0200)]
Move static byte arrays to xcb.c (fixes compilation warnings)
Axel Wagner [Mon, 19 Jul 2010 21:15:50 +0000 (23:15 +0200)]
Port the pointer-code to xcb
Michael Stapelberg [Tue, 20 Jul 2010 19:18:53 +0000 (21:18 +0200)]
disable debug output which reveals the password
(full debug output will be disabled for the next release)
Michael Stapelberg [Tue, 20 Jul 2010 19:07:39 +0000 (21:07 +0200)]
grabbing: make the retry loop much slower (waits up to half a second)
This should fix a race condition where the Mod-key was not released
in time when starting i3lock using a key combination.
Michael Stapelberg [Tue, 20 Jul 2010 18:52:58 +0000 (20:52 +0200)]
Bugfix: Correctly error out when unable to grab pointer/keyboard
Michael Stapelberg [Tue, 20 Jul 2010 18:30:44 +0000 (20:30 +0200)]
Raise the i3lock window upon visibility notifies
Michael Stapelberg [Tue, 20 Jul 2010 18:13:40 +0000 (20:13 +0200)]
make event loop simpler (Thanks to Jamey Sharp)
As explained in Jamey’s post on the XCB mailing list, the event
loop can/should be written in a more simple way than it was before
in xcb-event. See:
<AANLkTinhIM320wUjSeHkBTVk4ysBuiSZkvfs8pMLVykO@mail.gmail.com>
or
http://lists.freedesktop.org/archives/xcb/2010-July/006292.html
Michael Stapelberg [Fri, 16 Jul 2010 23:08:30 +0000 (01:08 +0200)]
err, xcb_image is not actually used
Michael Stapelberg [Fri, 16 Jul 2010 18:59:09 +0000 (20:59 +0200)]
s/arry/array
Michael Stapelberg [Fri, 16 Jul 2010 18:55:20 +0000 (20:55 +0200)]
manpage: PNG instead of XPM
Michael Stapelberg [Fri, 16 Jul 2010 18:36:11 +0000 (20:36 +0200)]
manpage: s/tile/tiling
Michael Stapelberg [Fri, 16 Jul 2010 16:27:04 +0000 (18:27 +0200)]
debian: add missing libxcb-image0-dev
Michael Stapelberg [Fri, 16 Jul 2010 16:22:33 +0000 (18:22 +0200)]
debian: update packaging
Michael Stapelberg [Fri, 16 Jul 2010 16:15:31 +0000 (18:15 +0200)]
Fix errors in i3lock.1
Michael Stapelberg [Fri, 16 Jul 2010 16:00:26 +0000 (18:00 +0200)]
Mention pkg-config as requirement
Michael Stapelberg [Fri, 16 Jul 2010 15:56:15 +0000 (17:56 +0200)]
Update manpage