kupfer, smart, quick launcher. `master' is kupfer's release branch and tracks the main repository at http://git.gnome.org/browse/kupfer/ — All topic branches are Works in Progress and might be rebased. Kupfer Technical Documentation: http://kaizer.se/wiki/kupfer/Manual.html [[Send email, not pull requests. Email <kupfer-list - gnome.org> (or me)]]
Latest commit 04bbd63 Jan 23, 2013 @engla Merge Karol's patch queue on master
* karol/master:
  firefox: check is bookmarks file exists before loading it
  preferences: catch exceptions when loading .Desktop files
  preferences: prevent Kupfer crashing on broken .desktop files
  plugin top: fix for locales not using dot as decimal point.
  rhythmbox: use dbus to control rhythmbox and load library
  gui/preferences: update plugin info on activate/deactivate plugin by keyb.
  session_gnome: support Gnome3 for logoff/shutdown actions
  Added check for no alternatives when getting settings.
  websearch: find all search plugin from firefox/iceweasel
  trash +EmptyTrash action
  plugin_support: fix problems with save passwords in keyring lp1056686
  gtg: workaround for broken GetTasks method in GTG DBUS API
  calculator: change localized decimal point symbol to dot
  calculator: separate action for expression with and w/o =
  calculator: add missing operators (&|~); update description and manual
  calculator: Calculate action now valid for other mathematical operators
  dbus: fix problem with crashing kupfer
Failed to load latest commit information.
Documentation NEWS for Kupfer v208 Jun 1, 2012
auxdata Install kupfer.desktop as a Thunar/sendto object Apr 7, 2011
bin bin: Don't hardcode python2.6 in bin/kupfer.in Feb 13, 2012
contrib tracker: Move tracker 0.6 plugin to contrib/ Jul 4, 2012
data Merge branch 'qsicons' Apr 26, 2011
help calculator: add missing operators (&|~); update description and manual Jan 20, 2013
waflib Add waf-light and waflib from waf-1.6.11 Feb 26, 2012
.gitattributes gitattributes: Temporarily disable filter for po/pl.po Jan 14, 2012
.gitignore Add a .gitignore file May 21, 2010
COPYING Fix License: License is GPLv3 or any later version Feb 28, 2009
NEWS Move the NEWS file into Documentation/ Mar 28, 2011
README.rst Update README for Waf being included in the repository and tarball Feb 26, 2012
Waf.ChangeLog Add waf-light and waflib from waf-1.6.11 Feb 26, 2012
debug.py Edit and clean up comments everywhere Jan 12, 2010
kupfer-run Partial revert of "Uupdated Galician translations" Jan 1, 2011
kupfer.doap Capitalize description in kupfer.doap Feb 14, 2012
kupfer.py Update copyright years Apr 6, 2010
waf Add waf-light and waflib from waf-1.6.11 Feb 26, 2012
wscript extras: Remove Nautilus Selected File plugin (kupfer_provider.py) Jul 4, 2012


kupfer is a simple, flexible, launcher for Gnome

Credits:Copyright 2007–2011 Ulrik Sverdrup <ulrik.sverdrup@gmail.com>
Licence:GNU General Public License v3 (or any later version)

Kupfer is an interface for quick and convenient access to applications and their documents.

The most typical use is to find a specific application and launch it. We have tried to make Kupfer easy to extend with plugins so that this quick-access paradigm can be extended to many more objects than just applications.


This project is configured for the Waf build system; Installation follows the steps:

./waf configure


./waf install


sudo ./waf install

You can use --prefix=$PREFIX when configuring to assign an installation spot. By default, Kupfer is installed for all users. Installing only for your user, the prefix ~/.local is often used; you just have to make sure that ~/.local/bin is in your $PATH.

About Waf

Waf is included in both the distributable tarball and the repository (so that full source code is incuded. See the file waf for author and licensing information).

Waf was acquired through http://waf.googlecode.com/files/waf-1.6.11.tar.bz2 on Saturday, 25 February 2012. The following files extracted:

./waf-light -> ./waf
./waflib    -> ./waflib
./ChangeLog -> ./Waf.ChangeLog

./waflib/Tools/*  some files excluded
./waflib/extras/* some files excluded

No file contents touched.

Build Requirements

  • Python 2.6 or Python 3
  • intltool
  • optionally: rst2man (python-docutils) to install the manpage
  • optionally: xml2po (gnome-doc-utils) to install mallard help pages

Runtime Requirements

Kupfer requires Python 2.6 or later, and the following important libraries:

  • gtk python bindings, GTK+ version 2.20 [1]
  • glib python bindings (pygobject) 2.18
  • dbus python bindings
  • python-xdg
[1]GTK+ 2.20 required for using full support. Kupfer is known to run with version 2.18 as well.

Optional, but very recommended runtime dependencies:

  • python-keybinder (see below)
  • wnck python bindings
  • gvfs
  • keyring python module

Opportunistic dependencies

  • The deprecated 'gnome' module is used for session connection as fallback
  • If available, 'setproctitle' is used to set the process name
  • python-appindicator for ubuntu-style notification icon
  • nautilus-python for nautilus selected file
  • python-gdata for Google plugins

Some plugins will require additional python modules!


The program is installed as kupfer into $PREFIX/bin. Only one instance can be active for one user at a given time. Normal use of kupfer requires an active dbus session bus.

Keybinder Module

Keybinder is a module for global keyboard shortcuts that originates from tomboy.

You can use kupfer without the keybinder module, for example by assigning a global keybinding to the kupfer binary, but it not the recommended way.


Please read Documentation/ and Documentation/Manpage.rst for technical documentation. User documentation is installed as GNOME (Mallard) help pages, available under the "Kupfer Help" object in the program itself.