From 3914c65147452a7f4ade56ddea81fbe28cb5c160 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Tue, 28 Jul 2026 07:41:45 -0700 Subject: [PATCH] Document the launch OSD flag where it lives Co-Authored-By: Claude Opus 5 (1M context) --- shell/services/AppLibrary.qml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/shell/services/AppLibrary.qml b/shell/services/AppLibrary.qml index 09d51eee..ef9456f4 100644 --- a/shell/services/AppLibrary.qml +++ b/shell/services/AppLibrary.qml @@ -26,6 +26,9 @@ Item { property int launchSerial: 0 property int launchToplevelCount: 0 property var launchActiveToplevel: null + // True while the launch OSD is on screen. It outlives the launch that opened + // it: the OSD shows with duration 0, so only closeLaunchFeedback() takes it + // down. property bool launchOsdOpen: false property string launchOsdMessage: "" @@ -150,11 +153,6 @@ Item { try { return ToplevelManager.toplevels.values.length } catch (e) { return 0 } } - // launchOsdOpen tracks whether the OSD is on screen, not which launch put it - // there, so a new launch must not clear it: the OSD is shown with duration 0, - // and only closeLaunchFeedback() takes it down. Dropping the flag here would - // orphan an OSD left over from the previous launch, and the timer restarts - // below discard the timeout that was its last chance to close. function beginLaunchFeedback(name) { root.launchSerial++ root.launchToplevelCount = root.toplevelCount()