loctight-public/README.md
2026-01-09 12:16:58 -06:00

108 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 softwares aesthetics or functionality to fit your organizations 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)._