jiggle-genius
v3.0.2
Published
Jiggle Genius is a simple and efficient mouse jiggler CLI tool designed to keep your computer awake during those times when you need it to stay active. Whether you're preventing your screen from locking during a presentation or keeping your online status
Maintainers
Readme
Jiggle Genius 🖱️
A simple and efficient mouse jiggler CLI tool designed to keep your computer awake. Whether you're preventing your screen from locking during a presentation or keeping your online status active, Jiggle Genius has got you covered.
Table of Contents
- Features
- Installation
- Usage
- Requirements
- Building from Source
- Troubleshooting
- Contributing
- License
- Author
- Support
Features
- 🎯 Smooth circular mouse movement pattern
- ⚙️ Configurable duration, radius, and speed
- 🎮 Easy to use CLI interface
- 💻 Cross-platform support (Windows, macOS, Linux)
- 🛑 Graceful shutdown with Ctrl+C
Installation
Global Installation (Recommended)
Using pnpm (recommended):
# First ensure you're using Node.js v18
nvm use 18
# Then install globally
pnpm add -g jiggle-geniusUsing npm:
nvm use 18 # Required for robotjs compatibility
npm install -g jiggle-geniusUsing yarn:
nvm use 18 # Required for robotjs compatibility
yarn global add jiggle-geniusLocal Installation
Using npm:
npm install jiggle-geniusUsing yarn:
yarn add jiggle-geniusUsing pnpm:
pnpm add jiggle-geniusUsage
Command Line Interface
jiggle [options]Options:
-d, --duration: Duration in minutes (default: 30)-r, --radius: Radius of the circular movement in pixels (default: 10)-s, --speed: Movement speed from 1-10 (default: 2)-h, --help: Show help-v, --version: Show version number
Examples
# Run with default settings (30 minutes)
jiggle
# Run for 2 hours
jiggle -d 120
# Run with custom radius and speed
jiggle -d 60 -r 20 -s 5
# Show help
jiggle --helpProgrammatic Usage
You can also use Jiggle Genius in your Node.js applications:
import jiggleGenius from 'jiggle-genius';
// Run with default settings
jiggleGenius();
// Run with custom configuration
jiggleGenius({
duration: 60, // 60 minutes
radius: 20, // 20 pixels
speed: 5 // Speed 5
});Requirements
- Node.js v18.20.7 (required for robotjs compatibility)
# Using nvm (recommended) nvm install 18 nvm use 18 # Verify version node -v # Should show v18.20.7 - One of the following package managers:
- pnpm >= 10.5.0 (recommended)
- npm >= 6.0.0
- yarn >= 1.22.0
Building from Source
- Clone the repository:
git clone https://github.com/diegodscamara/jiggle-genius.git
cd jiggle-genius- Install dependencies (choose one):
# Using npm
npm install
# Using yarn
yarn install
# Using pnpm (recommended)
pnpm install- Build the project:
# Using npm
npm run build
# Using yarn
yarn build
# Using pnpm (recommended)
pnpm buildTroubleshooting
Common Issues
Node.js Version Mismatch
If you see errors related to robotjs or native dependencies:
Error: The module was compiled against a different Node.js versionSolution:
- Switch to Node.js v18.20.7:
nvm install 18.20.7
nvm use 18.20.7- Reinstall the package:
npm uninstall -g jiggle-genius
npm install -g jiggle-geniusPermission Issues (Linux/macOS)
If you encounter permission errors:
Error: EACCES: permission deniedSolution:
# Using npm
sudo npm install -g jiggle-genius
# Using pnpm
sudo pnpm add -g jiggle-geniusOther Issues
- Make sure you have the latest version of your package manager
- Clear your package manager's cache if needed:
npm cache clean --force # or pnpm store prune - Check the GitHub issues for similar problems and solutions
Contributing
We welcome contributions to Jiggle Genius! Here's how you can help:
Bug Reports & Feature Requests
- Use the GitHub issue tracker to report bugs or suggest features.
- Before creating a new issue, please check if a similar issue already exists.
- When reporting bugs, include:
- Node.js version (
node -v) - Operating system and version
- Steps to reproduce the issue
- Expected vs actual behavior
- Node.js version (
Pull Requests
- Fork the repository
- Create a new branch:
git checkout -b feature/your-feature-name - Make your changes
- Run tests:
pnpm test - Commit your changes:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature/your-feature-name - Submit a pull request
Development Guidelines
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Keep commits atomic and write clear commit messages
- Ensure all tests pass before submitting a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Author
Diego Camara (@diegodscamara)
Support
Getting Help
- Issues: If you encounter any issues or have questions, please open an issue on GitHub.
- Discussions: For general questions and discussions, use the GitHub Discussions tab.
- Documentation: Check out our Wiki for additional documentation.
Stay Updated
- Star the repository to show your support and stay updated
- Watch the repository for release notifications
- Follow @diegodscamara for project updates
Keep your computer awake with Jiggle Genius! 🖱️✨
