Metadata-Version: 2.4
Name: infinity-mouse
Version: 0.2.4
Summary: Mouse infinity movement after timeout.
Home-page: https://github.com/mqxym/infinity-mouse
Author: mqxym
Author-email: maxim@omg.lol
Platform: MacOS
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyobjc-framework-Quartz
Requires-Dist: pyautogui
Requires-Dist: screeninfo
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: platform
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# infinity-mouse

![infinity mouse](https://mqxym.de/assets/infinity_mouse.jpg)

Python script that moves the mouse in an ∞ pattern after a set inactivity timeout.

## Requirements

- MacOS with Python3.9+
- Packages: see `requirements.txt`

## Installation

### Using Pip

```bash

mkdir infinity-mouse
cd infinity-mouse && python3 -m venv .venv/ && source .venv/bin/activate

pip install infinity-mouse

# Run the script
infinity-mouse # You may need to allow system access permissions for your terminal app

# Press CTRL+C to exit the script
```

### Using Source

```bash

git clone https://github.com/mqxym/infinity-mouse
cd infinity-mouse && python3 -m venv .venv/ && source .venv/bin/activate && pip install -r requirements.txt

# Run the script
python run.py # You may need to allow system access permissions for your terminal app

# Press CTRL+C to exit the script
```

## Options

- Adjust the `INACTIVITY_TIMEOUT_MIN` and `INACTIVITY_TIMEOUT_MAX` values in the script or use CLI parameters:

```bash
# Run the script with min-max timeout in seconds
infinity-mouse 80-120

# Test the script
infinity-mouse --test

# View options
infinity-mouse -h

```

## Project Goals

- Learn automation like mouse movements and processing of inputs and HMIs
- Learn pattern creation with sinus functions for the infinity movement pattern
- Build and test CI/CD workflows

## Future Additions

- Linux and Windows support?
