change: the tray icon states, not the destination country #57

Merged
mysticalsoap merged 1 commit from mysticalsoap/change/tray-state-icons into trunk 2026-08-19 11:48:04 -04:00 AGit
Owner

Problem

With #55's fixes in place the tray icon finally shows — and revealed the inherited state semantics: the colored app icon means disconnected, and on connect the tray becomes the destination country flag. Meanwhile the shipped aqomui_off icon has never been referenced by any code — a dead asset since upstream. The flag-as-tray-icon behavior was also already flagged in #52's comments as unwanted.

Fix

Grey means disconnected, colored means connected:

  • startup and every disconnect path set aqomui_off
  • an established connection sets the colored aqomui
  • set_tray_icon() takes a theme name instead of a flag-PNG path; the flag tray icon is gone (an opt-in variant can return with #52's country-system rework if wanted)

Tooltips still carry the server name / disconnected status.

Verification

  • compileall clean; CI runs pytest/ruff
  • Needs a rebuilt install to see live (same as #55, which this stacks on — merge #55 first); the state transitions to check: grey at launch, colored after connect, grey again after disconnect

Refs #52

Assisted-by: claude-fable-5

## Problem With #55's fixes in place the tray icon finally shows — and revealed the inherited state semantics: the **colored** app icon means *disconnected*, and on connect the tray becomes the destination **country flag**. Meanwhile the shipped `aqomui_off` icon has never been referenced by any code — a dead asset since upstream. The flag-as-tray-icon behavior was also already flagged in [#52](https://git.mysticalsoap.com/mysticalsoap/aqomui/issues/52)'s comments as unwanted. ## Fix Grey means disconnected, colored means connected: - startup and every disconnect path set `aqomui_off` - an established connection sets the colored `aqomui` - `set_tray_icon()` takes a theme name instead of a flag-PNG path; the flag tray icon is gone (an opt-in variant can return with #52's country-system rework if wanted) Tooltips still carry the server name / disconnected status. ## Verification - `compileall` clean; CI runs pytest/ruff - Needs a rebuilt install to see live (same as #55, which this stacks on — **merge #55 first**); the state transitions to check: grey at launch, colored after connect, grey again after disconnect Refs #52 Assisted-by: claude-fable-5
Three misses stacked up to a blank tray and the generic fallback icon:
qt5-svg is only an optdepend of python-pyqt5 but fromTheme() cannot
load our scalable-only hicolor icon without it; the Wayland app_id was
the python binary, matching no desktop file; and on X11 the WM_CLASS
never matched either.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
A QSystemTrayIcon with a null icon is invisible on most desktops, but
isSystemTrayAvailable() still says yes -- so the quit dialog offered
Minimize and hid the window with nothing to bring it back. That is
issue #51's "application closes when trying to minimize".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
change: expand the a in the README description
Some checks failed
ci / test (pull_request) Successful in 48s
ci / test (push) Has been cancelled
dd0b499783
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
change: the tray icon states, not the destination country
All checks were successful
ci / test (pull_request) Successful in 27s
1859767057
Inherited semantics: colored app icon while disconnected, the country
flag while connected -- and the shipped aqomui_off icon was never
referenced at all. Now grey means disconnected and colored means
connected. A flag option can return with the country-system rework
(#52) if wanted.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign in to join this conversation.
No description provided.