Files

70 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.