Caffeine by Jean-Philippe Braun might just well be the most popular GNOME Shell extension out there, and for good reason as it’s simple, efficient, and super cool (exactly how most of the top-tier GNOME extensions are).
The main premise behind Caffeine is a remarkably simple one: “disable the screensaver and auto suspend” with one click. Even though there’s great beauty in simplicity, what if you want something more, or something different? Let’s say, a bit more control over various other power-related functions?
Well, if that’s the case, you can try another tiny-and-super-cool-coffee-related extension appropriately named Espresso. First and foremost, it’s important to point out that Espresso is a fork of Caffeine, and it provides the same basic functionality, as well as a few extra little features (which we’ll discuss a bit later).
As mentioned before, the main purpose of Espresso is to provide you with a quick way of disabling the usual auto-suspend function, as well as the screensaver and Night Light functionality. This ability to also affect the Night Light is something that Caffeine does not have, but to be honest, Night Light is definitely not something that most of use turn on or off very often.
Just remember that (regarding the icon) a Filled cup means auto suspend and screensaver is OFF, and an Empty cup means that auto suspend and screensaver are ON.
Some of the most important options include the ability to show or hide the icon in the top panel, to enable Espresso when a full-screen app is running, to restore the state across reboots, to provide notifications, to enable Espresso when specific apps are running, as well as to pause the Night Light when Espresso is enabled (or when other specific apps are running).
They pretty much do the same thing, but since Caffeine is a a much more mature project, it’s not surprising that its GUI is a bit more structured, a bit more polished, whereas Espresso has everything stacked in the same place (features in the Settings section).
As mentioned before, Espresso can also control the Night Light which is something that Caffeine is not particularly good at. Another obvious difference is the fact that Espresso only supports GNOME Shell 40 and later (understandably, considering it’s a newer project), whereas Caffeine supports GNOME Shell versions as far back as 3.4.
Since it’s based on Caffeine, Espresso is a very good GNOME Shell extension (not surprising, really). It gets the job done just as efficiently, and it has very few advantages that recommend it over Caffeine, to be honest, but if you’re having problems running Caffeine or you want to try something different, then Espresso is definitely a good choice.