Skip to content

carrot69/keep-presence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keep Presence

This program moves the mouse or presses a key when it detects that you are away from your computer.

It does nothing if you are using your computer, making it useful for tricking your machine into thinking you are still using it.

Demo

Demo

Table of Contents

Install from Pypi

python3 -m pip install keep_presence

https://pypi.org/project/keep-presence/

Run

keep-presence

# or

python3 -m keep_presence

Install with Snap

sudo snap install keep-presence
Get it from the Snap Store

Run

keep-presence

Manual installation

git clone https://github.com/carrot69/keep-presence.git

cd keep-presence

python3 -m pip install pynput

python3 src/keep-presence.py

Optional arguments

-h, --help                        show this help message and exit
            
-s SECONDS, --seconds SECONDS     Define in seconds how long to wait after a user is
                                  considered idle. Default 300.

-p PIXELS, --pixels PIXELS        Set how many pixels the mouse should move. Default 1.

-c, --circular                    Move mouse in a circle. Default move diagonally.

-m MODE, --mode MODE              Available options: keyboard, mouse, both (mouse & keyboard) and scroll. 
                                  Default is mouse. 
                                  This is the action that will be executed when the user is idle. 
                                  If keyboard is selected, the program will press the shift key. 
                                  If mouse is selected, the program will move the mouse. 
                                  If both is selected, the program will do both actions.

-r RANDOM RANDOM, --random RANDOM RANDOM
                                  Usage: two numbers (ex. -r 3 10). Execute actions based on a 
                                  random interval between start and stop seconds. 
                                  Note: Overwrites the seconds argument.

FAQ:

Does it work on Wayland?

No, currently the program doesn't support Wayland due to limitations in the underlying library (pynput). We're actively looking for solutions and will update this FAQ if/when Wayland support is available. You can track progress on the GitHub issue: GitHub issue

How can I stop the program after a certain amount of time?

Linux offers the timeout command, which allows you to set a maximum runtime for any command.

Example:

timeout 30s keep-presence

Launch Keep-Presence on Startup:

  1. GNOME: Open "Startup Applications Preferences" (search for it in Activities).
  2. KDE Plasma: Search for "Startup Applications" in the Kickoff menu.
  3. Click "Add" to create a new entry.
  4. In the "Command" field, enter the command to run keep-presence with your desired options. Here's just an example:
  5. keep-presence --circular --seconds 180 --pixels 1
  6. Change the command to fit your needs.

Using Systemd:

Alternatively, you can use Systemd to manage Keep-Presence as a startup service. Refer to the official Systemd documentation for detailed instructions on how to set this up.

Supporting the project:

If you've found Keep Presence to be helpful, you can buy me a coffee, thanks!

ko-fi