Fixes: #142 Co-authored-by: Hugo Osvaldo Barrera<firstname.lastname@example.org>
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.
- Python 3.6 to 3.10 is required.
caffeine-ngworks with the following screensavers / screenlockers:
- Anything that implements the
org.freedesktop.ScreenSaverAPI (this includes KDE, amongst others)
- Xorg + DPMS
- Anything that implements the
On ArchLinux, caffeine-ng is available at the AUR.
Debian and derivatives
First install all the required packages:
apt install meson \ python-gi-dev \ python-dbus-dev \ libgtk-3-dev \ libnotify-dev \ libappindicator3-dev \ python3-click \ python3-ewmh \ python3-setproctitle \ python3-pulsectl \ git \ scdoc
And mark them auto if you wish:
apt-mark auto meson \ ...same list as above...
Then you need to build sources with:
meson build ninja -C build
Create a package for your distribution:
checkinstall \ --pkgname=caffeine-ng \ --pkgversion=4.1 \ --requires="python3-gi,python3-dev,libgtk-3-0,libnotify4,libappindicator3-1,python3-click,python3-ewmh,python3-setproctitle," \ --conflicts="caffeine" \ --nodoc \ meson install -C build
Replace version string with correct version and append this command with
--install=no should you wish to inspect created package before installing it.
checkinstall is available for various distributions, so you may follow these
steps adapting them to your distribution
For additional discussion on building DEB packages, see:
Others / from source
To manually install caffeine-ng, run:
meson build ninja -C build sudo meson install -C build sudo glib-compile-schemas /usr/share/glib-2.0/schemas
Note for packagers
Generally, package manager handle running
glib-compile-schemas themselves, so
this doesn't need to be triggered explicitly.
To install into
/usr/ rather than
/usr/local/, instead of running
meson --prefix /usr build.
See https://mesonbuild.com/Builtin-options.html for details.
To have Caffeine-ng run on startup, add it to your System Settings => Startup Programs list.
To generate the
pot file use::
find . -iname "*.py" -o -iname "*.glade" | \ xargs xgettext --from-code utf-8 -o translations/caffeine.pot
Copyright (C) 2014-2022 Hugo Osvaldo Barrera email@example.com Copyright (C) 2009 The Caffeine Developers
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 (http://github.com/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 (http://www.blastfromthepast.se/blabbermouth), 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:
- To compile translations:
If you want to test out a translation without changing the language for the
LANG=ru_RU.UTF-8 ./bin/caffeine (Replace ru_RU.UTF-8 with
whichever 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.