Skip to content

GUI Guide

Simon Dick edited this page Jul 19, 2026 · 12 revisions

GUI Guide

AmiAuthGUI is a ReAction application for AmigaOS 3.0+ showing all your accounts with live codes. It is designed to run resident as a commodity (hotkey popup, Exchange integration) — that side is covered in Commodity and Tooltypes; this page covers the window itself.

The window

  • Account list — one row per account, three columns: the account name (issuer:label), its current code, and the seconds left before the code changes. All rows update live, every second.
  • Large code display — the selected account's code, big enough to read across the room. Shows ------ when nothing is selected or the vault is locked.
  • Countdown bar — a fuelgauge draining through the current TOTP period for the selected account.
  • Clock status line — a coloured LED plus text such as Clock: synced +0:15. The GUI runs one SNTP sync automatically at startup (if a TCP/IP stack is up), so normally this simply lights green:
    • 🟢 green — offset verified by SNTP this session;
    • 🟠 amber — the startup sync wasn't possible; a stored or locale-derived offset is applied (Clock: manual …);
    • 🔴 redClock: unverified: nothing has corrected the clock, codes may be wrong. See Time and Clock Sync.
  • ButtonsAdd, Edit, Remove, Copy (each also available from the menus).

Copying a code

Double-click an account — or select it and press Copy — and the current code is placed on the clipboard as standard text (IFF FTXT), ready to paste into a browser or terminal. The button briefly shows "Copied".

Auto-clear: 30 seconds after the copy, AmiAuth clears the clipboard again — but only if the clipboard still holds that code; anything you copied in the meantime is left alone. This stops a stale 2FA code lingering in the clipboard.

Adding accounts

Three ways, all under the Account menu:

  • Add from clipboard — copy an otpauth:// URI from anywhere, then select this item.
  • Add (type URI)… — a requester to type or paste the URI directly.
  • Add from QR image… — pick an image file of the enrolment QR code (PNG/JPEG/GIF/IFF/ILBM/BMP — anything a picture datatype can load); AmiAuth decodes the QR and imports the account. You can also drag an image file onto the window from Workbench. See Managing Accounts for details and requirements.

Editing and removing

  • Edit selected… opens a requester for the issuer, label, digits (6–8) and period (1–86400 s). The label is required. The secret and account type are deliberately not editable — re-add the account if the secret changes.
  • Remove selected… asks for confirmation, then deletes the account and saves the vault. There is no undo.

Menus

Menu Item Shortcut
Project Quit Q
Account Add from clipboard V
Add (type URI)… A
Add from QR image… I
Edit selected… E
Remove selected… R

(Standard right-Amiga menu shortcuts.)

Unlocking, locking and auto-lock

For an encrypted vault, the GUI prompts for the passphrase at startup in a requester (input shown as *, never stored in a gadget; Esc cancels). A wrong passphrase re-prompts with "Wrong passphrase - try again:".

Idle auto-lock: after 2 minutes without input in an open window (default; configurable — see Settings Reference, idlelock, 0 disables), the GUI locks the vault: keys and decrypted secrets are wiped from memory, codes blank to ------, and the passphrase requester returns. A hidden commodity window does not tick the idle timer — the point of the resident commodity is keeping the vault unlocked; set idlelock to taste if you want stricter behaviour.

While unlocked, remember what that means on AmigaOS: any running program can read any memory. See Security Model.

Always-unlocked vaults never prompt and never lock.

An encrypted vault may also trigger a re-key offer right after unlock if this machine is much faster or slower than the vault's creator — "Strengthen" is safe to accept; "Re-key lower" weakens security and asks twice. Choosing "Never here" (or setting ENVARC:AmiAuth/rekey to off) silences the offers. Background in Security Model.

Requirements and graceful degradation

The GUI needs AmigaOS 3.0+ with the ReAction/ClassAct classes (window, layout, listbrowser, fuelgauge, button). Everything else is optional and simply switches a feature off if missing:

Missing library Effect
commodities.library No hotkey/Exchange; runs as a plain window (close = quit)
iffparse.library Clipboard copy disabled
gadtools.library No menus (buttons still work)
string.gadget class "Add (type URI)" and "Edit" disabled
datatypes.library (v39) or asl.library QR-image import disabled
workbench.library No drag-and-drop QR import
graphics.library pens LED falls back to monochrome

Clone this wiki locally