# LOCTight A simple, open-source program to keep your PC active and open for a specified amount of time, then automatically lock your computer. --- ## Why LOCTight? LOCTight was inspired by a real-world need: a professor who struggled to keep their computer awake during lectures, but also wanted the machine to lock automatically when stepping away. This tool is designed to solve exactly that problem—keeping your computer awake when you need it, and locking it when you don't. --- ## Features - Keeps your computer active for a user-defined period - Automatically locks your workstation after the timer expires - Extensively tested on **Windows** - **macOS** and **Linux** support coming soon! - Comprehensive test suite with automated CI/CD --- ## Testing & Quality LOCTight includes a comprehensive test suite to ensure reliability: - **13+ unit tests** covering core functionality - **Automated CI/CD** via GitHub Actions - Tested on multiple platforms (Windows, Linux, macOS) - Tested on Python 3.9, 3.10, 3.11, and 3.12 ### Running Tests ```bash # Install test dependencies pip install -e ".[test]" # Run tests pytest tests/ -v # Run tests with coverage pytest tests/ -v --cov=src --cov-report=term --cov-report=html ``` See [tests/README.md](tests/README.md) for more details. --- ## Customization & Commercial Use LOCTight is released under the [MIT License](LICENSE), so you are free to use, modify, and distribute it. **Need custom features or branding for your company or school?** Visit [loctight.dev](https://loctight.dev) for a quote on customizing the software’s aesthetics or functionality to fit your organization’s needs. Customizations can include: - Custom timer durations and scheduling options - Additional capabilities such as notifications, reporting, or integrations - Enhanced security features - Unique branding and user interface adjustments - Any other functionality your organization requires --- ## Get Support & Track Issues If you encounter bugs, have feature requests, or need support, please use the [GitHub Issues](../../issues) page for this repository. This helps us track and resolve problems efficiently, and allows the community to contribute solutions and suggestions. --- ## Contributing We welcome contributions from the community! If you have ideas for new features, improvements, or bug fixes, feel free to fork the repository and submit a pull request. Some ideas for contributions include: - Adding new timer options or scheduling features - Implementing additional platform support (macOS, Linux) - Expanding functionality with new capabilities - Improving the user interface or accessibility Check the [issues](../../issues) page for open requests or to suggest your own. --- ## Get Started 1. Clone or download this repository. 2. Ensure you have Python 3 installed on your machine. - You can download Python from [python.org](https://www.python.org/downloads/). 3. Install the required dependencies by running: ```bash pip install pyautogui ttkbootstrap darkdetect ``` 4. Run `loctight.py` with Python 3. 5. Follow the on-screen instructions. --- ## License MIT License. See [LICENSE](LICENSE) for details. --- _For custom builds, or business inquiries, visit [loctight.dev](https://loctight.dev)._