# PulseDock – Modernes Windows Systemmonitor-Widget **PulseDock** ist ein elegantes, minimalistisches Desktop-Systemmonitor-Widget für Windows 10 & 11, entwickelt mit **.NET 10**, **WPF** und **LibreHardwareMonitor**. Es bietet Hardware- und Telemetriedaten in Echtzeit mit halbtransparentem Glassmorphism-Design, verringertem Ressourcenverbrauch und ohne jegliche Cloud-Abhängigkeiten. --- ## 🌟 Hauptfunktionen - **🎨 Modernes Glassmorphism Design**: Fluent-Design mit abgerundeten Ecken, weichen Schatten, dynamischem Dark/Light-Modus & anpassbarer Akzentfarbe. - **📊 3 Anzeigemodi**: - **Kompakt**: CPU-, RAM-, Akku- und Temperaturübersicht auf kleinstem Raum. - **Standard**: Verlaufsdiagramme (Sparklines), Netzwerkgeschwindigkeiten & GPU-Daten. - **Erweitert**: Detaillierte Kernauslastung, Laufwerksaktivität & Top-Prozesse. - **⚡ Leichtgewichtig & Effizient**: Durchschnittlich < 1% CPU-Auslastung im Leerlauf und < 100 MB RAM-Verbrauch durch optimiertes Drawing & Ringpuffer (`CircularBuffer`). - **🛡 Non-Admin Fallback**: Startet standardmäßig ohne Administratorrechte. Erweiterte Sensorabfragen nutzen sichere Windows-APIs (`PerformanceCounter`, WMI, `System.Diagnostics`). - **🖥 Multi-Monitor & DPI Aware**: Automatische Bereichsüberprüfung (Clamping), um das Widget bei Monitortrennungen im sichtbaren Bildschirmbereich zu halten. - **🔒 Positionssperre & Click-Through**: Integrierte Sperroption sowie Click-Through-Modus (`Strg + Umschalt + F12`), damit das Widget das Arbeiten nicht stört. - **🔔 Intelligentes Warnsystem**: Einstellbare Schwellenwerte für CPU/RAM/Temp/Akku mit Windows-Benachrichtigungen und Abklingzeiten (Cooldowns). - **📌 System-Tray-Menü**: Vollständige Steuerung über das Windows-Infobereichs-Icon. - **🔒 100% Datenschutz**: Keine Cloud, keine Telemetrie, keine Werbung, keine Online-Pflicht. --- ## 🛠 Systemanforderungen - **Betriebssystem**: Windows 10 (version 1809+) oder Windows 11 (x64) - **Framework**: .NET 10 Runtime (oder Nutzung der Self-contained Version) - **Berechtigungen**: Standard-Benutzerkonto (Standardmodus). Für erweiterte CPU-Temperatursensoren auf manchen Mainboards sind Admin-Rechte optional über "Als Admin neu starten" aktivierbar. --- ## 🚀 Entwicklung & Build-Anleitung ### Voraussetzungen - Visual Studio 2022 / VS Code mit .NET 10 SDK (`10.0.201`+) ### 1. Solution bauen ```bash dotnet build PulseDock.sln -c Release ``` ### 2. Unit-Tests ausführen ```bash dotnet test tests/PulseDock.Tests/PulseDock.Tests.csproj ``` ### 3. Self-Contained Release Paket erstellen (Ohne benötigte .NET Installation) ```bash dotnet publish src/PulseDock.App/PulseDock.App.csproj -c Release -r win-x64 --self-contained true -o ./publish/x64 ``` --- ## 📚 Verwendete Bibliotheken & Lizenzen | Bibliothek | Lizenz | Verwendungszweck | | :--- | :--- | :--- | | **LibreHardwareMonitorLib** | MPL 2.0 | Auslesen von CPU-, GPU-, RAM- & Mainboard-Sensoren | | **Microsoft.Extensions.DependencyInjection** | MIT | Inversion of Control / Dependency Injection | | **System.Management** | MIT | WMI Hardware-Sensoren Fallback | | **xUnit & Moq** | Apache 2.0 / BSD | Unit-Tests & Service Mocks | --- ## ⚖️ Datenschutz & Lizenz PulseDock sammelt keinerlei persönliche Daten oder Telemetrie. Alle Einstellungen werden lokal unter `%APPDATA%\PulseDock\settings.json` gespeichert. Dieses Projekt steht unter der **MIT-Lizenz**. Siehe `LICENSE` für Details.