Files
clawdmeter/.gitignore
T
wenilandClaude Opus 4.8 ec8322fa21 v2: standalone Clawdmeter.exe — runs on any Win11 machine, no Python
Package the tray+daemon as a single PyInstaller onefile exe so it runs on a
fresh Windows 11 box with no Python and no pip install. Verified on hardware:
the frozen exe connects over BLE, reads the Windows media session, and pushes
now-playing (incl. Cyrillic) at the 3s / 60s cadence.

- clawdmeter.spec: onefile, windowed (no console; logs to daemon.log). collect_all
  for winrt + bleak is the key bit — bleak loads its WinRT backend dynamically and
  the winrt.windows.* projections are split distributions that PyInstaller's static
  analysis misses, so BLE and the media session would otherwise fail at runtime.
  upx off (lowers AV false-positive rate).
- build-exe.ps1: one-command build (venv + deps + pyinstaller + spec).
- tray_windows.py: resolve the brand-logo asset from sys._MEIPASS when frozen.
- autostart_windows.py: when frozen, the HKCU\Run "Start at login" value points at
  the exe itself (sys.executable), not pythonw + script.
- .gitignore: ignore /build, /dist, /.venv — the exe ships via a Gitea release.
- README-windows.md: document the standalone-exe path (download / run / build).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 09:58:26 +03:00

30 lines
465 B
Plaintext

# PlatformIO build artifacts
firmware/.pio/
firmware/.vscode/
# OS
.DS_Store
# Claude Code
.claude/
# Node tooling deps (npm install --no-save)
tools/node_modules/
tools/package-lock.json
# Mac daemon venv
daemon/.venv/
# Python bytecode cache
__pycache__/
*.pyc
# Windows daemon venv
/.venv/
# PyInstaller build artifacts — the standalone exe ships via a Gitea release,
# not git (build it with build-exe.ps1 / clawdmeter.spec).
/build/
/dist/
*_dbg.spec