70 lines
3.4 KiB
Markdown
70 lines
3.4 KiB
Markdown
# 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<T>`).
|
||
- **🛡 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.
|