1.0.0 Release
This commit is contained in:
70
README.md
70
README.md
@@ -95,9 +95,16 @@ DEBUG = False # Enable debug logging (default: False)
|
||||
```
|
||||
|
||||
### Logging Configuration
|
||||
- **Log Location**: `logs/hereiam.log`
|
||||
- **Log Location**: `~/.hereiam/logs/hereiam.log` (same directory as config file)
|
||||
- **Log Persistence**: Logs are persistent across reboots
|
||||
- **Log Rotation**: Automatic (when DEBUG mode is enabled)
|
||||
- **Log Levels**: INFO (default) or DEBUG (when DEBUG=True)
|
||||
- **Log Levels**: INFO (default) or DEBUG (when DEBUG=True in options)
|
||||
|
||||
### Startup Configuration
|
||||
- **Launch at Startup**: Automatically launch HereIAm when you log in to macOS
|
||||
- **Implementation**: Uses macOS Launch Agents (`~/Library/LaunchAgents/`)
|
||||
- **Requirements**: Only available when using the built .app bundle
|
||||
- **Configuration**: Can be enabled/disabled through the Options dialog
|
||||
|
||||
## Dependencies
|
||||
|
||||
@@ -115,19 +122,30 @@ DEBUG = False # Enable debug logging (default: False)
|
||||
## Project Structure
|
||||
```
|
||||
HereIAm/
|
||||
├── src/
|
||||
├── src/ # Source code
|
||||
│ ├── main.py # Application entry point and main GUI logic
|
||||
│ ├── mouse_mover.py # Mouse monitoring and movement logic
|
||||
│ ├── config.py # Configuration and logging setup
|
||||
│ ├── config_manager.py # Configuration management
|
||||
│ ├── logging_config.py # Logging configuration
|
||||
│ ├── options_dialog.py # Options dialog UI
|
||||
│ └── utils.py # Utility functions and safety features
|
||||
├── assets/
|
||||
├── assets/ # Application assets
|
||||
│ ├── Enabled.icns # Icon for enabled state
|
||||
│ ├── Disabled-Light.icns # Icon for disabled state (light theme)
|
||||
│ └── Disabled-Dark.icns # Icon for disabled state (dark theme)
|
||||
├── logs/ # Application logs (created at runtime)
|
||||
├── tests/ # Test scripts and test documentation
|
||||
│ ├── test_config.py # Configuration tests
|
||||
│ ├── test_dialog.py # Dialog functionality tests
|
||||
│ ├── test_logging.py # Logging tests
|
||||
│ ├── test_restart.py # Restart functionality tests
|
||||
│ ├── test_app.sh # App bundle integration tests
|
||||
│ └── README.md # Test documentation
|
||||
├── build_app.sh # Build script for macOS app bundle
|
||||
├── create_dmg.sh # DMG creation script
|
||||
├── requirements.txt # Python dependencies
|
||||
├── setup.py # Package installation configuration
|
||||
└── README.md # This file
|
||||
├── requirements-build.txt # Build dependencies
|
||||
├── setup.py # Package installation configuration
|
||||
└── README.md # This file
|
||||
```
|
||||
|
||||
## Technical Details
|
||||
@@ -150,6 +168,36 @@ HereIAm/
|
||||
- **Graceful Shutdown**: Clean thread termination and resource cleanup
|
||||
- **Fail-Safe Integration**: PyAutoGUI safety features configured appropriately
|
||||
|
||||
## Testing
|
||||
|
||||
The project includes comprehensive test scripts located in the `tests/` directory.
|
||||
|
||||
### Running Tests
|
||||
|
||||
**Python Unit Tests:**
|
||||
```bash
|
||||
cd tests
|
||||
python3 test_config.py # Test configuration management
|
||||
python3 test_dialog.py # Test options dialog
|
||||
python3 test_logging.py # Test logging functionality
|
||||
python3 test_restart.py # Test restart functionality
|
||||
```
|
||||
|
||||
**Application Bundle Test:**
|
||||
```bash
|
||||
cd tests
|
||||
./test_app.sh # Test built macOS app bundle
|
||||
```
|
||||
|
||||
**Note:** Make sure to build the application first with `./build_app.sh` before running app bundle tests.
|
||||
|
||||
4. **Testing Startup Functionality**:
|
||||
```bash
|
||||
./test_startup.py
|
||||
```
|
||||
|
||||
For detailed testing information, see [tests/README.md](tests/README.md).
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
@@ -162,7 +210,7 @@ HereIAm/
|
||||
**Mouse movement not working:**
|
||||
- Check that accessibility permissions are granted to Terminal/Python
|
||||
- Verify pyautogui installation: `python -c "import pyautogui; print('OK')"`
|
||||
- Review logs in `logs/hereiam.log` for error details
|
||||
- Review logs in `~/.hereiam/logs/hereiam.log` for error details
|
||||
|
||||
**Icons not displaying:**
|
||||
- Verify all `.icns` files are present in the `assets/` directory
|
||||
@@ -170,9 +218,9 @@ HereIAm/
|
||||
- Enable DEBUG mode in config.py for detailed icon loading logs
|
||||
|
||||
### Debugging
|
||||
1. Enable debug mode in `src/config.py`: `DEBUG = True`
|
||||
1. Enable debug mode in the Options dialog: set Log Level to "DEBUG"
|
||||
2. Run from terminal to see console output
|
||||
3. Check `logs/hereiam.log` for detailed operation logs
|
||||
3. Check `~/.hereiam/logs/hereiam.log` for detailed operation logs
|
||||
4. Use Activity Monitor to verify the application is running
|
||||
|
||||
## Development
|
||||
|
||||
Reference in New Issue
Block a user