$ show emoacht/Monitorian
Monitorian is a Windows desktop application for adjusting brightness and contrast of multiple monitors via DDC/CI and Windows power settings. It features a WPF-based MVVM architecture with system tray integration, per-monitor sliders, and support for unison/adjustment modes. The application includes automatic startup registration, multi-language support (30+ languages), and a hidden diagnostic menu for probe/rescan/logging operations. Key components include custom slider controls (EnhancedSlider, CompoundSlider), window theming utilities (WindowPainter), and a robust settings persistence system using XML serialization. The codebase demonstrates solid engineering practices with clear separation of concerns, though it relies heavily on Windows-specific APIs which may require ongoing maintenance for OS compatibility.
The LLM identified 6 files worth highlighting for reuse:
A reusable WPF slider control with improved drag handling, touchpad support, and deferred binding updates. Solves common slider usability issues (jumpy dragging, excessive updates) and can be extracted to any WPF project needing precise input control.
Abstract base class for creating themed Windows windows with effects like background blur and transparency. Provides reusable modern UI styling (e.g., acrylic blur on Windows 10/11) that encapsulates DPI-aware rendering and theme adaptation logic.
DPI-aware system tray icon manager with hover overlay functionality. Handles icon loading, event routing, DPI scaling, and custom popup windows - a self-contained solution for tray integration reusable across desktop applications.
Generic throttling mechanism to limit invocation frequency of callbacks. Useful for handling high-frequency system events (theme changes, display updates) without compromising UI responsiveness. Demonstrates clean separation of concerns with minimal dependencies.
Observable dictionary-like collection providing key-based access with change notifications. Fills a gap in WPF's observable collections for MVVM scenarios requiring both binding and lookup capabilities, with minimal external dependencies.
Localization service managing resource files with fallback chain (specific culture → neutral → default). Encapsulates multi-language logic including resource resolution and culture switching, simplifying i18n implementation in .NET applications.