From f28df5e77b7265b9cbcae096eebe6f4e33d27381 Mon Sep 17 00:00:00 2001 From: mixeme Date: Fri, 19 Jun 2026 21:09:55 +0300 Subject: [PATCH] docs: plan tray click via Fyne 2.7 SetSystemTrayWindow Fyne 2.7.0 adds desktop.App.SetSystemTrayWindow, which shows the window on left-click and unblocks the deferred Tray Interaction item. Record the 2.6.3 -> 2.7.x upgrade dependency and the concrete wiring in run.go. Co-Authored-By: Claude Opus 4.8 --- docs/ROADMAP.md | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index b376707..4a5fd0f 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -24,13 +24,21 @@ Cleanup checklist: ## Tray Interaction -Improve tray icon interaction after choosing a tray backend path. +Improve tray icon interaction: click the tray icon to show and focus the main +window. -- Add double-click on the tray icon to show and focus the main window. -- Current Fyne 2.5.3 desktop tray API exposes menu and icon setup, but does not - expose click or double-click callbacks for the tray icon itself. -- Revisit when Fyne exposes this callback, or evaluate a small platform-specific - tray integration if the behavior becomes important enough. +- Unblocked by Fyne 2.7.0, which added `desktop.App.SetSystemTrayWindow(window)`. + On Windows, macOS, and most Linux it shows the associated window on left-click; + any tray menu then moves to right-click. There is still no raw click / + double-click callback, so the behavior is single left-click (the conventional + tray gesture), not the double-click originally sketched here. +- The project is currently on Fyne 2.6.3, so this depends on a Fyne 2.6.3 -> 2.7.x + upgrade first (minor bump; re-verify the CGO build under MSYS2 UCRT64 and check + for 2.7 breaking changes). Track the upgrade as its own task. +- After upgrading, the change in `src/ui/run.go` (configureSystemTray) is small: + call `desk.SetSystemTrayWindow(w)` alongside `SetSystemTrayMenu(menu)`. Keep the + existing "Show" menu item, which the Fyne docs recommend for less-compliant + Linux systems. ## Delivery And Packaging