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: translate README to English

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

Marco Maroni (Jul 15, 2026, 12:24 PM +0200) 1ae6e985 97a0da5e

+33 -36
+33 -36
README.md
··· 1 1 # TaskbarCalculator 2 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. 3 + TaskbarCalculator is a C++/Win32 application for Windows 11 that sits in the notification 4 + area (system tray) and shows an always-on-top calculator window driven by keyboard input. 6 5 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. 6 + The project started as a migration of a previous DeskBand (an in-process COM extension 7 + hosted by the taskbar), which Windows 11 no longer loads for third-party shell extensions. 8 + The current version is a standalone executable that adds a tray icon: left-click 9 + shows/hides the window, right-click opens a menu with Show/Hide, Start at login, About, and 10 + Exit. 12 11 13 - ## Struttura del codice 12 + ## Code layout 14 13 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). 14 + - `App.cpp` — entry point (`wWinMain`), single-instance handling, tray icon, and hidden 15 + owner window. 16 + - `CalculatorWindow.cpp/.h` — calculator window, keyboard input handling, number 17 + formatting based on regional settings, positioning and persistence. 18 + - `Calculator.cpp/.h` — calculation engine, independent from the UI, based on a state 19 + machine (`init`, `first_oper`, `operation`, `second_oper`, `result`, `error`). Supports 20 + the four basic operations, square root, percentage, sign change, and reciprocal (1/x). 23 21 - `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). 22 + `Utils.cpp/.h` — support modules (registry-based window position/visibility, start at 23 + login, classic/themed visuals, tray icon, misc utilities). 26 24 27 - Dettagli più approfonditi su architettura e convenzioni si trovano in `CLAUDE.md`. 25 + More detailed architecture and conventions are documented in `CLAUDE.md`. 28 26 29 27 ## Build 30 28 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. 29 + Requires Visual Studio 2022 (v143 toolset), Windows SDK 10.0.26100.0, and the C++/WinRT 30 + components for the start-at-login feature. 33 31 34 32 ``` 35 33 msbuild TaskbarCalculator.vcxproj /p:Configuration=Debug /p:Platform=x64 36 34 msbuild TaskbarCalculator.vcxproj /p:Configuration=Release /p:Platform=x64 37 35 ``` 38 36 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 37 + Build the `.vcxproj` directly, not the `.sln` (which references a setup project not 38 + included in this repository). The executable is produced at 41 39 `x64\<Config>\TaskbarCalculator.exe`. 42 40 43 41 ## Test 44 42 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: 43 + The calculation engine (`Calculator.cpp/.h`) is decoupled from the precompiled header and 44 + is compiled and run separately with a small header-only harness: 47 45 48 46 ``` 49 47 tests\build-and-run.cmd 50 48 ``` 51 49 52 - da un prompt "x64 Native Tools Command Prompt". 50 + from an "x64 Native Tools Command Prompt". 53 51 54 52 ## Packaging 55 53 56 - Sono previste due modalità di distribuzione: 54 + Two distribution paths are supported: 57 55 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. 56 + - **Classic installer**: `Packaging\TaskbarCalculatorSetup.iss`, compiled with Inno Setup 57 + (`ISCC.exe`), or via the `Packaging\build-setup.cmd` script, which runs a Release x64 58 + build and compiles the installer in one step. 59 + - **MSIX**: PowerShell scripts in `Packaging\` (`MakeAssets.ps1`, `MakeCert.ps1`, 60 + `BuildMsix.ps1`), kept for a possible future Microsoft Store submission. 63 61 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. 62 + In both cases, start-at-login uses the MSIX `StartupTask` API when the app is packaged, 63 + falling back to the `HKCU\...\Run` registry value when installed via the classic path.