Skip to content

Caffeinate: Keep computer awake (Block sreensaver, lockscreen when presenting or long running tasks) #3065

Description

@sspaeti

What do you need?

When I have a presentation, or if I want to run a long running backup without the system to sleep, lock or turn on screen saver, on MacOS I had an app Lungo, but there are many others like Caffeinate, etc.

Also when I run a Google Meet meeting, after a couple of time, my screen will freeze, get black for 4-6 seconds, and then go back (for the participans on the other end, my video freezes quickly. Audio works always). It feels like the screen saver interupts (as I might not have moved anything) - but I not 100%. So I'd like to have an awakening SW to try this.

I was wondering, what is the best way to do this in Omarchy?

Here some options I found when I researched, but not sure what's the best way we should use? I'm sure many are doing already something like this manually?

Options

pkill hypridle  # disable
hypridle &      # re-enable

or systemd-inhibit as said on reddit?

systemd-inhibit --what=idle --who=Caffeine --why=Caffeine --mode=block sleep inf

Or caffeine-ng (GUI app, most Mac-like)

yay -S caffeine-ng

My first attempt

I tried something with small shell script sspaeti/dotfiles@c0ee87d - not sure if that is correct, but I will revert how it's going over the next weeks. But just a showcase how I'd like to use it. But I'm sure you know better ways?

❯ caffeinate status
Caffeinate is not active
❯ caffeinate 30
Caffeinate enabled for 30 minutes
❯ caffeinate status
Caffeinate is currently active:
sspaeti   104802  0.0  0.0  16032  6652 pts/40   S    09:18   0:00 systemd-inhibit --what=sleep:idle:handle-lid-switch sleep 1800
❯ caffeinate status
❯ caffeinate off
Caffeinate disabled
❯ caffeinate status
Caffeinate is not active

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions