[ Utilisation |News |Download |Installation |Configuration |Utilities |Licence |Mailing list ]

[French |German]

Last update: Sat May 23 2020

xbindkeys on savannah.org

If you find xbindkeys a little limited or you hack a lot of scheme for it, maybe you can have an interest in this window manager (clfswm).

xbindkeys is a program that allows you to launch shell commands with your keyboard or your mouse under X Window. It links commands to keys or mouse buttons, using a configuration file. It's independant of the window manager and can capture all keyboard keys (ex: Power, Wake...).

top Utilisation
usage: [--version|-V] [--defaults|-d] [--file|-f file] [--help|-h] [--display|-X display-name] [--vebose|-v] [--show|-s] [--key|-k] [--multikey|-mk] [--geometry|-g geom]
-V, --version Print version and exit
-d, --defaults Print a default rc file
-f, --file Use an alternative rc file
-h, --help This help!
-X, --display Set X display to use
-v, --verbose More information on xbindkeys when it run
-s, --show Show the actual keybinding
-k, --key Identify one key pressed
-mk, --multikey Identify multi key pressed
-g, --geometry size and position of window open with -k|-mk option
-n, --nodaemon don't start as daemon

top News
Version 1.8.7: Bugfix: Prevent scheme functions to be garbage collected (Thanks Jason Miller)

Version 1.8.6: Bugfix: Do not grab keysym not mapped on keyboard. Prevent a AnyKey grab.

Version 1.8.5: Add support for Guile 2.0 and replace some deprecated functions. Many thanks to Hans-Peter Deifel.

Version 1.8.4: Fix a memory fault with libX11-1.4.0. Many thanks to Anatoly Bashmakov and firewalker for the bug report.

Version 1.8.3 : A listen loop was added in the main loop. This fix a bug where, in the previous version, a keypress was needed to reload the configuration file after a keybinding change. Now one can edit the configuration file and keybindings are automatically updated after each save. Many thanks to Edwin Stang!

Version 1.8.2 : Correction of typos in the man page.
An emphasis is made on the documentation about the guile configuration file (the prefered way for non trivial configuration). Many thanks to Brad Sawatzky.

Version 1.8.1 : Better Guile configuration with autotools. Minor compilation warning have been fixed.

Version 1.8.0 : Enable a full access to the xbindkeys internal from the guile scheme configuration file. A grabbed key can start a shell command or run a scheme function. This enable to do more powerfull things inside xbindkeys whitout the need of an external shell script (like double click, timed double click or keys combinations).

Version 1.7.4 : xbindkeys.spec: Change Copyright to License.
Little english correction in warnings.
Configuration files are reloaded on the fly when they have changed so there is no more need to send a HUP signal to reload them.
Use `scm_c_define_gsubr' instead of 'scm_make_gsubr' with the guile mode.

Version 1.7.3 : A bug under Solaris was fixed. This bug caused an XBindKeys built with -DFORK_FLAG=1 to fail to wait for the processes it spawns, leaving lots of defunct processes.
Thanks to Ciaran Anscomb for the patch.

Version 1.7.2 : Changes to grab keys in all display screens and not only in the default root window (Xinerama suport).
Bugfix for the Guile support in configure.ac.

Version 1.7.1 : Minor bugfix: Verbose mode is not started as daemon.
Check rc file before starting as daemon (so warning about configuration files are visible).

Version 1.7.0 : Add guile/scheme configurtion file style (Many thanks to Marcello Mathias Herreshoff).
Add --file and --file_guile to use alternate configuration file in xbindkeys_show.

Version 1.6.5 : Add a --disable-tk option to prevent xbindkeys_show install. So no tcl/tk dependency is needed.
Add a NOTE in xbindkeys man page to say that xbindkeys can reread its config file with a -HUP signal (killall -HUP xbindkeys).
Add two verbose tests (forgotten in other versions).

Version 1.6.4 : Add an option at compile time to launch programs with a system call instead of a fork+exec call (see ./configure --help).
Remove an umask(022) in the daemonize function which cause troubles.

Version 1.6.3 : Change to switch to autoconf2.5X and automake >= 1.6.
Xbindkeys doesn't move anymore to /tmp after the daemonize function.

Version 1.6.2 : Minor change in the configure.in to prevent rebuild of Makefile when doing a make.

Version 1.6.1 : Minor bugfix : use strtol instead of atoi for hexadecimal modifier.

Version 1.6.0 : Add a 'Release' modifier to catch release events of keys or mouse buttons instead of press events.
Xbindkeys doesn't use pthreads+system any more to start commands, it use fork+exec instead.
Some modifications to make the code 'cleaner'.

Version 1.5.5 : better identification of modifiers with --key and --mulitkey options.

Version 1.5.4 : Add warning when a key is unknown in .xbindkeysrc.

Version 1.5.3 : Bugfix: if the keycode is unknown then xbindkeys doesn't assign a key with keycode=0.
Change: The default RC file doesn't use the Menu key which caused problems.

Version 1.5.2 : xbindkeys doesn't stop if there is a conflict with another key grabbing program, the conflicting key is simply ignored.

Version 1.5.1 : New interface for xbindkeys_show.

Version 1.5.0 : xbindkeys is now capable to trigger commands by catching mouse button events.

Version 1.4.1 : This version solves some minor problems (warnings) when compiling with gcc 3.0.4 under Linux.

Version 1.4.0 : By default :
xbindkeys starts as daemon (use -n | --nodaemon option to prevent this feature).
xbindkeys use pthreads to start multi commands at the same time (use ./configure --disable-pthread to prevent this feature).

Version 1.3.0 : By default, xbindkeys does not anymore pay attention to the NumLock, ScrollLock and CapsLock modifiers.

Version 1.2.2 : Rewrite of code for reading the configuration file.
No changes for the end user.

Version 1.2.1 : As xbindkeys is now looking for HUP signals you can reload the configuration with the simple command:
killall -HUP xbindkeys

See the ChangeLog for more details.

top Download
The source : xbindkeys-1.8.7.tar.gz (~149K)

xbindkeys is hosted on savannah. You can browse its source code here.

You can use git to get the last version with a command like this:
   git clone git://git.savannah.nongnu.org/xbindkeys.git/

The Debian package : http://packages.debian.org/xbindkeys or http://people.debian.org/~joerg

The SPARC/Solaris 2.5-10 and x86/Solaris 8-10 packages : http://sunfreeware.com/


top Installation
top Configuration
xbindkeys uses a configuration file to link a command to a key on your keyboard.
Usually this (file) is : $HOME/.xbindkeyrc

You can edit it yourself or you can have a default one created by using :
xbindkeys --defaults > $HOME/.xbindkeysrc

Look at this as an example :

top Utilities

top Licence
xbindkeys is under a GPL license : Don't hesitate to copy it and to distribute it around yourself.
You can find more information by reading the files COPYING or COPYING.fr,
or by visiting the site of the Free Software Foundation.

top Mailing list
Any feedback on this program is welcome.
You can join use on the devel mailing list.

(Thanks Ramon for the translation)


Valid HTML 4.01! Powered by GNU Emacs