Replace native OS fullscreen with a custom borderless window approach to fix Windows bug that forced fullscreen to primary monitor. This ensures fullscreen activates on the correct monitor where the application window is located.
Note: Native Windows snapping shortcuts (Win+Arrows) are disabled in this mode. Users can move the window by exiting fullscreen, dragging to the desired monitor, and re-enabling fullscreen.
- Fix fullscreen toggle defaulting to primary monitor by detecting window's current monitor using screeninfo/Windows API
- Add fallback to mouse pointer coordinates when window is minimized/off-screen
- Implement proper geometry restoration when exiting fullscreen, using saved pre-fullscreen geometry or settings
- Add transition state management to prevent duplicate activation requests
- Update README with known issue notice for current fullscreen behavior
- Move monitor selection from node dropdown to global settings file
- Add monitor selection UI to settings dialog with live window repositioning
- Keep Tkinter window persistent to reduce threading errors
- Update documentation to reflect new configuration approach
- Merge Signal Scout text functionality into main WatchPoint node
- Remove debug-specific nodes and utilities to reduce complexity
- Enhance logging system with structured logging and filtering capabilities
- Update documentation to reflect cleanup and new version
- Remove internal debug systems and complex logging from WatchPoint
- Integrate text display directly into WatchPoint node, replacing Signal Scout
- Remove debug and utility nodes (DebugToggle, RestoreWindow, SignalScout)
- Clean up __init__.py to remove optional node loading
- Refactor WindowManager for better performance while maintaining thread safety
- Update documentation to reflect simplified interface