Updated README
This commit is contained in:
@@ -6,8 +6,11 @@ A cross-platform application for customizing your cursor with gameified logic.
|
||||
|
||||
- Replace the system cursor with custom PNG images
|
||||
- Minimize to system tray for background operation
|
||||
- Cross-platform support (Windows, macOS, Linux)
|
||||
- Steam integration
|
||||
- Windows support (macOS and Linux support in development)
|
||||
- Optimized rendering with low CPU usage
|
||||
- System tray integration with context menu
|
||||
- Global hotkey support
|
||||
- Steam integration for item drops
|
||||
|
||||
## Project Structure
|
||||
|
||||
@@ -28,12 +31,19 @@ src/
|
||||
│ │ ├── mod.rs # Windows module exports
|
||||
│ │ ├── types.rs # Windows type definitions
|
||||
│ │ ├── state.rs # Windows state management
|
||||
│ │ ├── cursor.rs # Windows cursor handling
|
||||
│ │ ├── window.rs # Windows window management
|
||||
│ │ └── hook.rs # Windows mouse hook handling
|
||||
│ ├── macos.rs # macOS-specific code
|
||||
│ ├── linux.rs # Linux-specific code
|
||||
│ └── unsupported.rs # Fallback for unsupported platforms
|
||||
│ │ └── cursor.rs # Windows cursor handling
|
||||
│ ├── macos/ # macOS-specific code (in development)
|
||||
│ │ ├── mod.rs # macOS module exports
|
||||
│ │ ├── state.rs # macOS state management
|
||||
│ │ └── cursor.rs # macOS cursor handling
|
||||
│ ├── linux/ # Linux-specific code (in development)
|
||||
│ │ ├── mod.rs # Linux module exports
|
||||
│ │ ├── state.rs # Linux state management
|
||||
│ │ └── cursor.rs # Linux cursor handling
|
||||
│ └── unsupported/ # Fallback for unsupported platforms
|
||||
│ ├── mod.rs # Unsupported module exports
|
||||
│ ├── state.rs # Unsupported state management
|
||||
│ └── cursor.rs # Unsupported cursor handling
|
||||
├── integrations/ # External integrations
|
||||
│ ├── mod.rs # Integrations module exports
|
||||
│ └── steam.rs # Steam integration
|
||||
@@ -50,6 +60,19 @@ src/
|
||||
|
||||
- Rust 1.70.0 or later
|
||||
- Cargo
|
||||
- Platform-specific dependencies:
|
||||
- Windows: None (fully supported)
|
||||
- macOS: Development in progress
|
||||
- Linux: Development in progress
|
||||
|
||||
### Dependencies
|
||||
|
||||
The application uses the following major dependencies:
|
||||
- iced 0.13.1 - GUI framework
|
||||
- tray-icon 0.20.1 - System tray functionality
|
||||
- image 0.24.7 - Image processing
|
||||
- global-hotkey 0.4.2 - Global hotkey registration
|
||||
- steamworks 0.11.0 - Steam integration
|
||||
|
||||
### Build Commands
|
||||
|
||||
@@ -63,21 +86,68 @@ cargo build --release
|
||||
|
||||
## Usage
|
||||
|
||||
1. Place your cursor PNG files in the `assets` directory
|
||||
2. Run the application
|
||||
3. Select a cursor from the list
|
||||
4. Press Ctrl+Shift+F12 to exit the application
|
||||
1. Place your cursor PNG files in the `assets` directory (PNG format only)
|
||||
2. Run the application using `cargo run` or the compiled executable
|
||||
3. The application will load all PNG files from the assets directory
|
||||
4. Select a cursor from the list in the UI
|
||||
5. The application will replace your system cursor with the selected image
|
||||
6. When closing the window, the application minimizes to the system tray
|
||||
7. To fully exit, use the system tray menu or press the exit hotkey
|
||||
|
||||
### Custom Cursors
|
||||
|
||||
The application comes with two sample cursors in the `assets` directory:
|
||||
- `default.png` - A simple default cursor
|
||||
- `red.png` - A red-colored cursor
|
||||
|
||||
To add your own cursors:
|
||||
1. Create PNG images with transparent backgrounds
|
||||
2. Place them in the `assets` directory
|
||||
3. Restart the application to load the new cursors
|
||||
4. The cursor name in the UI will be derived from the filename
|
||||
|
||||
## Hotkeys
|
||||
|
||||
- Ctrl+Shift+F12: Exit the application
|
||||
- Ctrl+Shift+F12: Exit the application (restores original system cursor)
|
||||
- If this hotkey fails, the application will try to use Ctrl+Alt+F12 or F12 as fallbacks
|
||||
|
||||
## System Tray
|
||||
|
||||
- Left-click: Show the application window
|
||||
- Right-click: Open the context menu
|
||||
- Next cursor: Switch to the next cursor
|
||||
- Right-click: Open the context menu with the following options:
|
||||
- Next cursor: Switch to the next cursor in the list
|
||||
- Show window: Show the application window
|
||||
- Quit: Exit the application
|
||||
- Quit: Exit the application and restore the original cursor
|
||||
|
||||
## Performance
|
||||
|
||||
- The application uses optimized rendering techniques to minimize CPU usage
|
||||
- On Windows, it uses the Windows API to efficiently replace system cursors
|
||||
- The application uses event-driven cursor updates instead of polling when possible
|
||||
- Cursor images are cached to improve performance when switching between cursors
|
||||
|
||||
## Previously Fixed Issues
|
||||
|
||||
The following issues have been addressed in recent updates:
|
||||
- Task Manager compatibility: The application now properly handles elevated applications
|
||||
- System tray menu stability: Fixed issues with the tray menu disappearing when mousing over it
|
||||
|
||||
## Steam Integration
|
||||
|
||||
The application includes integration with the Steam API for future gameified features:
|
||||
- Item drop functionality is implemented but not yet active
|
||||
- Steam must be running for this functionality to work
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions to Cursor Rush are welcome! Here are some ways you can contribute:
|
||||
|
||||
- Report bugs and issues
|
||||
- Suggest new features or improvements
|
||||
- Submit pull requests with bug fixes or new features
|
||||
- Help with documentation
|
||||
- Contribute to macOS and Linux platform support
|
||||
|
||||
## License
|
||||
|
||||
This project is currently in development and does not yet have a specified license. A license will be added in a future update.
|
||||
|
||||
Reference in New Issue
Block a user