Skip to content

Show a 😽 startup indicator (tray icon / splash)#40

Merged
yumiaura merged 3 commits into
mainfrom
feat/startup-tray-indicator
Jun 11, 2026
Merged

Show a 😽 startup indicator (tray icon / splash)#40
yumiaura merged 3 commits into
mainfrom
feat/startup-tray-indicator

Conversation

@yumiaura

Copy link
Copy Markdown
Owner

Summary

The cat overlay is a frameless Qt::Tool window with no taskbar or tray presence, so the app gave no visible sign it had started — a window only appeared once you opened a settings dialog. This adds a startup indication with a 😽 cat icon.

  • System tray icon (when a tray is available): a 😽 icon with a tooltip, a one-shot “Your cat is here 😽” notification on launch, and a small menu — Chat / Reminder… / Ollama… / Quit.
  • Splash fallback (no tray): a brief opaque card (😽 + “mycat / loading…”), shown ~2 s. Opaque on purpose so it has no black corners on X11 without a compositor.
  • Also sets the application window icon to the cat.
  • Skipped entirely on the offscreen platform.

Test plan

  • On a desktop with a system tray: a 😽 tray icon appears at launch with a notification; the tray menu opens chat / reminder / Ollama settings and quits.
  • On a setup without a tray: a small splash card appears briefly at startup, then closes.
  • Offscreen / headless run is unaffected (no indicator, no error).
  • python -m pytest passes (icon + splash-card builders covered).

yumiaura added 2 commits June 11, 2026 07:59
The cat overlay is a frameless Tool window with no taskbar/tray presence,
so until now the app gave no visible sign it had started (a window only
appeared when a settings dialog was opened). Add a startup indicator:

- A 😽 system-tray icon with a tooltip, a one-shot "Your cat is here"
  notification and a small menu (Chat / Reminder… / Ollama… / Quit).
- When no system tray is available, fall back to a brief opaque splash
  card (😽 + name) so there is still a startup window.
- Also sets the application window icon to the cat.

Tests cover the icon and splash-card builders.
Drop the system-tray icon, splash card and startup notification. Instead
make the cat overlay a normal Qt.Window (was Qt.Tool) so it gets an entry
in the taskbar / program list at startup — with the "mycat" title and a
😽 window icon, matching how myEmojiboard appears. The application icon
is set too so the dialogs share it.
@yumiaura

Copy link
Copy Markdown
Owner Author

Changed approach per feedback: dropped the tray icon + splash + startup notification, and instead made the cat overlay a normal Qt.Window (was Qt.Tool) so it appears in the taskbar / program list at startup with the "mycat" title and a 😽 icon — like myEmojiboard.

Both mycat and other python apps launch as "main.py", so Qt set the same
WM_CLASS for all of them and the taskbar grouped mycat with e.g.
myEmojiboard. Set the application/desktop name to "mycat" (drives the
X11 WM_CLASS) plus RESOURCE_NAME for the instance, so the window's
WM_CLASS is now "mycat", "mycat".
@yumiaura yumiaura merged commit a02df88 into main Jun 11, 2026
@yumiaura yumiaura deleted the feat/startup-tray-indicator branch June 11, 2026 12:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant