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.

3.4 KiB



  • The build system has switched to meson. For more details on why this is happening, see Meson for Python applications
  • The wheel, build and install python packages is no longer required (neither at build time nor runtime).
  • ayatana-appindicator3 will be used if present. In such scenarios, appindicator3 is no longer required. Either one may be present. If both are present, the ayatana-appindicator3 is used.
  • indicator3 is no longer marked as a dependency. It was not actually used in the past either; only appindicator3 was used.
  • scdoc is required to build man pages.


  • Fixed an issue which prevents caffeine-ng from sometimes triggering properly.


Command line usage changes

This release rewrites the CLI portion of caffeine-ng into click. click is the standard library in python for writing CLI apps, and is better maintained. This is part of an initiative to bring caffeine to a more modern stack and facilitate future development on it.

This rewrite also allowed for cleaning up some skeletons in the closet.

caffeine-ng now depends on click, and no longer depends on docopt.

The CLI interface has changed slightly, but should now be more easy to navigate. See caffeine --help, caffeine start --help, etc.

The way the PID file is handled has been hardened and simplified, but this will result in caffeine 4.0 not killing older versions. Exit any older versions that may be running before upgrading (or simply don't restart it until your next reboot).

Status icon changes

The libappindicator dependency is now mandatory.

Previously, we'd determine whether to use StatusIcon vs AppIndicator based on the presence of this dependency. This was problematic for users who had the library installed as a dependency for another program, but wanted StatusIcons. If you want a StatusIcon, please set the CAFFEINE_LEGACY_TRAY to any value.

This also reduces confusion for users of desktops that _only support AppIndicator, but were unaware of the difference or unaware of the optional dependency.

If your desktop does not support AppIndicator, fallback to using a StatusIcon should be automatic. If you get no icon out-of-the-box, please report the issue.

Other changes

  • Xorg-based inhibitors are now disabled on Wayland.
  • Python 3.6 or later is required. Python 3.6 and 3.7 are deprecated and will soon be dropped. This will be the last release with support for these versions.
  • Added support for xfce "presentation mode".
  • Breaking: python-docopt is no longer required. python-click is now required.
  • Pulseaudio support has been reworked, and should have less false positives, but it's still imperfect. In future, an MPRIS alternative might be a suitable replacement.
  • Various translations have been updated.
  • Desktop entries no longer have absolute paths, which should ease writing wrapper scripts or using tools like Firejail.
  • The "preferences" desktop entry has been dropped.
  • This project has moved to Codeberg, an open source, community maintained code forge. The official home is now