A simple, small calculator placed discreetly near the Windows Taskbar or anywhere on the screen
0

Configure Feed

Select the types of activity you want to include in your feed.

docs: add root README

Describes the app, code layout, build, test, and packaging steps.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

Marco Maroni (Jul 15, 2026, 12:19 PM +0200) 97a0da5e 36e937af

+66
+66
README.md
··· 1 + # TaskbarCalculator 2 + 3 + TaskbarCalculator è un'applicazione C++/Win32 per Windows 11 che risiede nell'area di 4 + notifica (system tray) e mostra una finestra calcolatrice sempre in primo piano, 5 + utilizzabile da tastiera. 6 + 7 + Il progetto nasce come migrazione di una precedente DeskBand (un'estensione COM in-process 8 + ospitata dalla taskbar), non più caricabile su Windows 11 dalla shell per estensioni di 9 + terze parti. La versione attuale è un eseguibile standalone che aggiunge un'icona nell'area 10 + di notifica: click sinistro mostra/nasconde la finestra, click destro apre un menu con le 11 + opzioni Show/Hide, Start at login, About ed Exit. 12 + 13 + ## Struttura del codice 14 + 15 + - `App.cpp` — punto di ingresso (`wWinMain`), gestione singola istanza, icona di tray e 16 + finestra proprietaria nascosta. 17 + - `CalculatorWindow.cpp/.h` — finestra della calcolatrice, gestione input da tastiera, 18 + formattazione dei numeri secondo le impostazioni regionali, posizionamento e persistenza. 19 + - `Calculator.cpp/.h` — motore di calcolo, indipendente dalla UI, basato su una macchina a 20 + stati (`init`, `first_oper`, `operation`, `second_oper`, `result`, `error`). Supporta le 21 + quattro operazioni di base, radice quadrata, percentuale, cambio di segno, reciproco 22 + (1/x). 23 + - `Settings.cpp/.h`, `StartupManager.cpp/.h`, `VisualStyle.cpp/.h`, `TrayIcon.cpp/.h`, 24 + `Utils.cpp/.h` — moduli di supporto (registro per posizione/visibilità finestra, avvio 25 + automatico al login, tema classico/moderno, icona di tray, utilità varie). 26 + 27 + Dettagli più approfonditi su architettura e convenzioni si trovano in `CLAUDE.md`. 28 + 29 + ## Build 30 + 31 + Richiede Visual Studio 2022 (toolset v143), Windows SDK 10.0.26100.0 e i componenti 32 + C++/WinRT per la funzionalità di avvio al login. 33 + 34 + ``` 35 + msbuild TaskbarCalculator.vcxproj /p:Configuration=Debug /p:Platform=x64 36 + msbuild TaskbarCalculator.vcxproj /p:Configuration=Release /p:Platform=x64 37 + ``` 38 + 39 + Va compilato il file `.vcxproj` direttamente, non la `.sln` (che referenzia un progetto di 40 + setup non presente in questo repository). L'eseguibile viene prodotto in 41 + `x64\<Config>\TaskbarCalculator.exe`. 42 + 43 + ## Test 44 + 45 + Il motore di calcolo (`Calculator.cpp/.h`) è indipendente dal precompiled header e viene 46 + compilato ed eseguito separatamente con un piccolo harness header-only: 47 + 48 + ``` 49 + tests\build-and-run.cmd 50 + ``` 51 + 52 + da un prompt "x64 Native Tools Command Prompt". 53 + 54 + ## Packaging 55 + 56 + Sono previste due modalità di distribuzione: 57 + 58 + - **Installer classico**: `Packaging\TaskbarCalculatorSetup.iss`, compilato con Inno Setup 59 + (`ISCC.exe`), oppure tramite lo script `Packaging\build-setup.cmd` che esegue build 60 + Release x64 e compilazione dell'installer in un solo passaggio. 61 + - **MSIX**: script PowerShell in `Packaging\` (`MakeAssets.ps1`, `MakeCert.ps1`, 62 + `BuildMsix.ps1`), mantenuto in vista di una eventuale pubblicazione sul Microsoft Store. 63 + 64 + In entrambi i casi l'avvio automatico al login usa l'API MSIX `StartupTask` quando 65 + l'applicazione è pacchettizzata, con fallback sulla chiave di registro 66 + `HKCU\...\Run` quando è installata in modalità classica.