Tray bar application able to temporarily inhibits the screensaver and sleep mode.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Hugo e4fa80a30e Update deb creating instructions 1 week ago
bin Avoid hardcoded python path 1 week ago
caffeine Linting 1 week ago
share Update the man page 1 week ago
translations Switch to meson for building / packaging 2 weeks ago
.gitignore Switch to meson for building / packaging 2 weeks ago
.pre-commit-config.yaml Still support python 3.6 1 month ago
.woodpecker.yml Create [fake] tag when publishing 4 weeks ago
CHANGELOG.rst Update the man page 1 week ago
LGPL Renamed licenses according to their name. 8 years ago
LICENCE Rename GPL to LICENCE 6 years ago
README.rst Update deb creating instructions 1 week ago
caffeine.1.scd Update the man page 1 week ago
meson.build Xdg autostart spec has no concept of a prefix 1 week ago
setup.cfg Use isort for import ordering 9 months ago

README.rst

Caffeine-ng

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).

History

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 setup.py for required python packages

Installation

ArchLinux

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

Debian and derivatives

First install all the required packages:

apt install python3-click python3-ewmh python3-setproctitle python3-wheel python3-xdg scdoc

And mark them auto if you wish:

apt-mark auto python3-click python3-ewmh python3-setproctitle python3-wheel python3-xdg scdoc

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-click (>=0.6.2),python3-ewmh (>=0.1.4),python3-setproctitle (>=1.1.10),python3-wheel (>=0.29.0),python3-xdg (>=0.25)" \
  --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

See https://codeberg.org/WhyNotHugo/caffeine-ng/issues/118 for additional details.

Gentoo

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

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 build run meson meson --prefix /usr build`.

See https://mesonbuild.com/Builtin-options.html for details.

Auto-start

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

Translations

To generate the pot file use:

find . -iname "*.py" -o -iname "*.glade" | \
xargs xgettext --from-code utf-8 -o translations/caffeine.pot

License

Copyright (C) 2014-2022 Hugo Osvaldo Barrera <hugo@barrera.io> 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.

Hacking

  • 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.