Initial commit: HereIAm mouse movement monitor

- Complete macOS application with PyQt5 GUI
- Smart mouse monitoring with configurable timing
- System menu bar integration with adaptive theming
- Comprehensive build system with PyInstaller
- Professional DMG creation for distribution
- Full documentation and testing scripts
This commit is contained in:
Jerico Thomas
2025-07-25 13:38:33 -04:00
commit c726cc0716
20 changed files with 1646 additions and 0 deletions

40
src/utils.py Normal file
View File

@@ -0,0 +1,40 @@
# Security and error handling utilities
import pyautogui
import logging
def setup_pyautogui_safety():
"""Setup PyAutoGUI safety features"""
# Prevent pyautogui from crashing when mouse is moved to corner
pyautogui.FAILSAFE = False
# Set reasonable pause between actions
pyautogui.PAUSE = 0.1
logger = logging.getLogger(__name__)
logger.debug("PyAutoGUI safety features configured")
def safe_move_mouse(x_offset, y_offset, duration=0.5):
"""Safely move mouse with error handling"""
logger = logging.getLogger(__name__)
try:
# Get current position first
current_x, current_y = pyautogui.position()
# Calculate new position
new_x = current_x + x_offset
new_y = current_y + y_offset
# Get screen size for bounds checking
screen_width, screen_height = pyautogui.size()
# Ensure we stay within screen bounds
new_x = max(0, min(new_x, screen_width - 1))
new_y = max(0, min(new_y, screen_height - 1))
# Move mouse
pyautogui.moveTo(new_x, new_y, duration=duration)
return True
except Exception as e:
logger.error(f"Failed to move mouse: {e}")
return False