Fork of keepawake-rs with the intention of adding the ability to keep status trackers (e.g. Skype, MS Teams etc.) active.
Keep your computer awake (and active!). Like caffeinate, systemd-inhibit/gnome-session-inhibit, or PowerToys Awake, but cross-platform and written in Rust.
Keep your computer awake and active
Usage: keep-active [OPTIONS] [COMMAND]...
Arguments:
[COMMAND]... Run the command and wait for it to exit, keeping the computer awake while it runs
Options:
-d, --display Keep display on
-i, --idle Keep system from idle sleeping
-s, --sleep Keep system from explicitly sleeping (Functionality and conditions for this to work vary by OS)
-a, --status-active Keep status trackers active (e.g. Skype, MS Teams etc.) by simulating activity
--method <METHOD> How to simulate activity (used with --status-active) [default: mouse] [possible values: mouse, key]
--interval <SECONDS> Interval between simulated activity events, in seconds (used with --status-active) [default: 60]
--completions <SHELL> Generate shell completions [possible values: bash, elvish, fish, powershell, zsh]
-w <PID> Wait for the process with the specified PID to exit. This option is ignored when used with the COMMAND argument
-h, --help Print help
-V, --version Print version
See docs.rs/keep-active for library crate documentation and usage.
--status-active (-a) simulates user input on an interval (--interval, default 60s) so trackers like
Skype or MS Teams keep showing you as active. Two methods are available via --method:
mouse(default): nudges the cursor one pixel and immediately back. Most compatible, but the movement is visible.key: taps theF15key (which virtually nothing binds) with no cursor movement. Distraction-free, but some trackers may not treat it as activity — ifkeydoesn't keep you active, fall back tomouse.
keep-active -a --method key # no visible mouse movement
keep-active -a --interval 30 # mouse nudge every 30 secondscargo install keep-active -F binDownload from https://github.com/omerbustun/keep-active/releases/latest.
Use: keep-active --completions <SHELL> to generate a completion script, you will have to install it
as appropriate for the specific shell you are using.
Preventing the computer from explicitly sleeping, and/or by closing the lid, is often restricted in various ways by the OS, e.g. Only on AC power, not in any PC running Windows with Modern Standby. Also note that Modern Standby ignores/terminates power requests on DC (Battery) power, PowerSetRequest - Remarks.
MIT License.