From e89df508bdc1f5d631d989b01b9e979cdb642842 Mon Sep 17 00:00:00 2001 From: SuperDooper <37051355+superdooper86@users.noreply.github.com> Date: Fri, 8 May 2026 12:12:58 +0200 Subject: [PATCH] feat(windows): add README.md --- windows/README.md | 50 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 windows/README.md diff --git a/windows/README.md b/windows/README.md new file mode 100644 index 0000000..9245de6 --- /dev/null +++ b/windows/README.md @@ -0,0 +1,50 @@ +# ClaudeChecker for Windows + +A native Windows port of ClaudeChecker — a system tray app for monitoring your Claude AI usage limits in real time. + +## Requirements + +- Windows 10 / 11 (x64) +- [.NET 8 Runtime](https://dotnet.microsoft.com/download/dotnet/8.0) +- [WebView2 Runtime](https://developer.microsoft.com/microsoft-edge/webview2/) (usually pre-installed on Windows 11) + +## Building + +```powershell +cd windows +dotnet build -c Release +``` + +The output is a single `ClaudeChecker.exe` in `bin\Release\net8.0-windows\`. + +> **Assets:** You need to supply `Assets/icon.ico` and `Assets/icon.png` (128×128) before building. +> Copy them from the macOS project's `ClaudeChecker/Assets.xcassets/AppIcon.appiconset/`. + +## Features + +- System tray icon — left-click to show/hide the popup +- 5-hour and 7-day usage gauges with burn rate sparklines +- Cookie-based auth via embedded WebView2 browser (sign in once, session persists) +- Auto-refresh on a configurable interval (1–10 min) +- Update checking against the same `version.json` / `version-beta.json` as the macOS app +- Beta channel toggle +- Settings panel (auth, refresh interval, update channel) + +## Architecture + +| File | Purpose | +|---|---| +| `App.xaml.cs` | Tray icon, popup lifecycle, refresh timer | +| `PopupWindow.xaml/cs` | Main UI — limit cards, settings, update sheet | +| `LoginWindow.xaml/cs` | WebView2 browser for claude.ai auth | +| `UsageViewModel.cs` | Data fetching, cookie handling, state | +| `UpdateManager.cs` | Version checking, download and install | +| `Models.cs` | Data models | +| `Controls/GaugeControl.cs` | Custom circular gauge | +| `Controls/SparklineControl.cs` | Burn history sparkline | + +## Notes + +- Cookies are stored in user settings (via `Properties.Settings`), not the WebView2 profile, so they survive WebView2 cache clears. +- Updates download a `.zip`, extract, and run a `.bat` script that replaces the exe after the app exits. +- The popup positions itself in the bottom-right corner near the system tray.