Skip to main content

Tray bar app to temporarily inhibit screensaver and sleep mode.

Project description

build status version on pypi licence

Caffeine is a little daemon that sits in your systray, and prevents the screensaver from showing up, or the system from going to sleep. It does so when an application is fullscreened (eg: youtube), or when you click on the systray icon (which you can do, when, eg: reading).


Caffeing-ng (since 2014) started as a fork of Caffeine 2.4, since the original version dropped support for the systray icon in favour of only automatic detection of fullscreen apps only, which turned to be a rather controversial decision.

The intention of this fork is to also evolve on its own, not only fixing issues, but also implemented missing features, when relevant.

Caffeine-ng was shortly know as Taurine, a play on its successor’s name, since taurine is a known stimulant, commonly found in energy drinks. However, this name did not last, since the artwork would not match adequately, and changing it was undesirable.

System requirements

  • Python 3.6 to 3.9 is required.

  • caffeine-ng works with the following screensavers / screenlockers:

    • Anything that implements the org.freedesktop.ScreenSaver API (this includes KDE, amongst others)

    • gnome-screensaver

    • XSS

    • Xorg + DPMS

    • xautolock

    • xidlehook.

See for required python packages


Generic installation

To manually install caffeine-ng, run:

python build
sudo python install
sudo glib-compile-schemas /usr/share/glib-2.0/schemas

Debian and derivatives

First install all the required packages:

apt install python-click python-ewmh python-setproctitle python-wheel python-xdg

And mark them auto if you wish:

apt-mark auto python-click python-ewmh python-setproctitle python-wheel python-xdg

Then you need to build sources with:

make clean
make build

Create a package for your distribution:

checkinstall --pkgname=caffeine-ng --pkgversion=3.4 --requires="python-click \(\>=0.6.2\),python-ewmh \(\>=0.1.4\),python-setproctitle \(\>=1.1.10\),python-wheel \(\>=0.29.0\),python-xdg \(\>=0.25\)" --conflicts="caffeine" --nodoc python ./ install --install-layout=deb

Replace version string with correct version and append this command with --install=no should you wish to inspect created package before installing it Replace python with python3 in package names above if you wish to build caffeine-ng with python 3

Replace python with python3 in checkinstall invocation to use specific python version to build caffeine-ng.

checkinstall is available for various distributions, so you may follow these steps adapting them to your distribution


On ArchLinux, caffeine-ng is available at the AUR.


Gentoo users may find caffeine-ng in ::pf4public Gentoo overlay

Instructions for packager

Generating a Python wheel for this will produce bogus results. Python wheels do now allow for files outside python’s site-packages (and things in /bin).

The Python ecosystem is deprecating the usage of pip and setuptools as generic packaging tools. This project will likely migrate to meson in future, which should ease shipping all the non-Python bits of it (desktop entry, icon, translations, service files, etc).


To have Caffeine-ng run on startup, add it to your System Settings => Startup Programs list.


Copyright (C) 2009 The Caffeine Developers Copyright (C) 2014-2022 Hugo Osvaldo Barrera <>

Caffeine-ng is distributed under the GNU General Public License, either version 3, or (at your option) any later version. See LICENCE for details.

The Caffeine-ng status icons are Copyright (C) 2014 mildmojo (, and distributed under the terms of the GNU Lesser General Public License, either version 3, or (at your option) any later version. See LGPL.

The Caffeien-ng SVG shortcut icons are Copyright (C) 2009 Tommy Brunn (, and distributed under the terms of the GNU Lesser General Public License, either version 3, or (at your option) any later version. See LGPL.


  • To run: ./bin/caffeine

  • To compile translations: ./update_translations

If you want to test out a translation without changing the language for the whole session: “LANG=ru_RU.UTF-8 ./bin/caffeine” (Replace ru_RU.UTF-8 with whatever language you want to use. You will need to a language pack for the specific language) Be aware that some stock items will not be translated unless you log in with a given language.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

caffeine-ng-4.0.2.tar.gz (163.5 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page