Minimal GTK4 calculator tuned for Omarchy and Hyprland workflows.
- Native GTK4 + Libadwaita app written in GJS.
- Safe expression parser (no
eval). - Keyboard-first interaction model.
- Persistent calculation history in
~/.local/state/omcalc/history.json. - Theme integration from Omarchy theme files with live refresh.
app/gtk4/contains the app, engine, scripts, and tests.packaging/aur/omcalc-git/contains AUR packaging files.
./app/gtk4/run.sh./app/gtk4/clear-history.sh./app/gtk4/test.shApply managed Hyprland window-rule blocks:
./app/gtk4/install.shRemove managed blocks:
./app/gtk4/install.sh --uninstallThe AUR scaffold is in packaging/aur/omcalc-git/.
Before publishing:
- Set your real upstream URL in
PKGBUILD. - Regenerate metadata:
cd packaging/aur/omcalc-git
makepkg --printsrcinfo > .SRCINFOUse scripts/publish.sh to automate commit/push workflows.
Safer default: stage intentionally first, then run.
Main repo only (staged changes):
./scripts/publish.sh --main-message "Add history wipe hint"Main repo only with scoped auto-stage:
./scripts/publish.sh --main-message "Add history wipe hint" --auto-stageMain repo + AUR repo sync/push:
./scripts/publish.sh --main-message "Release update" --sync-aur --auto-stage --regen-srcinfoIf your AUR clone is not in /tmp/aur/omcalc-git, pass:
./scripts/publish.sh --main-message "Release update" --sync-aur --aur-repo /path/to/omcalc-gitPreview without changing anything:
./scripts/publish.sh --main-message "Release update" --sync-aur --dry-run