Bug 459986 - Launch feedback doesn't stop properly when launching terminal apps
Summary: Launch feedback doesn't stop properly when launching terminal apps
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: general (other bugs)
Version First Reported In: master
Platform: Other Linux
: NOR minor
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
: 455265 487204 520624 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-10-04 19:46 UTC by Nicolas Fella
Modified: 2026-06-09 12:19 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: Plasma 6.7.0 with Frameworks 6.27
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicolas Fella 2022-10-04 19:46:56 UTC
STEPS TO REPRODUCE
1. Install htop 
2. Lauch htop from Kickoff

OBSERVED RESULT
A Konsole window with htop appears, but the bouncing cursor keeps bouncing for a while until it eventually times out

EXPECTED RESULT
The bouncing cursor stops as soon as the terminal window is there

SOFTWARE/OS VERSIONS
KDE Plasma Version: master (5.25.90)
KDE Frameworks Version: master
Qt Version: 5.15.6-kde

ADDITIONAL INFORMATION

The problem is generic to all apps with Terminal=true

We launch a particular desktop file e.g. htop.desktop, and then wait for a window matching that desktop file to appear, but instead a window with org.kde.konsole for its app_id appears, so we never terminate the startup feedback until some timeout
Comment 1 Nicolas Fella 2022-10-04 19:50:41 UTC
In terms of solutions we could

1. Patch htop et al to have StartupNotify=false
2. Force StartupNotify=false for all terminal apps in KIO::ApplicationLauncherJob
3. Force StartupNotify=false for all terminal apps in KWin

Not great solutions since we would lose the bouncing cursor completely

4. Special-case inside kwin that when we know a terminal app is launched we "wait" for Konsole/the default terminal app instead
Comment 2 Nate Graham 2022-10-10 01:33:10 UTC
4 seems nice.
Comment 3 Nicolas Fella 2026-05-29 10:57:54 UTC
*** Bug 520624 has been marked as a duplicate of this bug. ***
Comment 4 Bug Janitor Service 2026-05-29 11:01:39 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kio/-/merge_requests/2245
Comment 5 Bug Janitor Service 2026-05-29 14:06:59 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/9303
Comment 6 Méven 2026-05-30 14:40:48 UTC
Git commit 9e46cb7165b23f986b28749068efd9360c2649a5 by Méven Car, on behalf of Nicolas Fella.
Committed on 30/05/2026 at 09:26.
Pushed by meven into branch 'master'.

kprocessrunner: For apps running in terminal, use terminal emulator's appId

When running an app org.foo.bar that has Terminal=true we request an XDG activation token
for org.foo.bar. However the actual resulting window will be org.kde.konsole (or whatever the
default terminal is).

This mismatch will result in the startup feedback being stuck and eventually timing our.

Instead resolve the appId of the terminal and use that to request the token.

M  +15   -0    src/gui/kprocessrunner.cpp

https://invent.kde.org/frameworks/kio/-/commit/9e46cb7165b23f986b28749068efd9360c2649a5
Comment 7 Vlad Zahorodnii 2026-05-31 15:18:40 UTC
Git commit b57c48b264926a2dbc0524fa6766370e7f4e86be by Vlad Zahorodnii.
Committed on 31/05/2026 at 14:56.
Pushed by vladz into branch 'master'.

Clear startup feedback if a window is activated by the Workspace

The xdg-activation token can be saved and checked later if the window is
not mapped yet.

If the activated window and the activation tokens have matching app ids,
it will work as expected. However, if the app ids mismatch, the startup
feedback won't be cleared (even though it should be).

This change makes the XdgActivationV1Integration monitor new windows and
clear startup feedbacks as needed.

M  +44   -0    autotests/integration/activation_test.cpp
A  +7    -0    autotests/integration/data/org.kde.big-bad-wolf.desktop
A  +8    -0    autotests/integration/data/org.kde.grandma.desktop
A  +7    -0    autotests/integration/data/org.kde.little-red-riding-hood.desktop
M  +6    -0    src/xdgactivationv1.cpp

https://invent.kde.org/plasma/kwin/-/commit/b57c48b264926a2dbc0524fa6766370e7f4e86be
Comment 8 Vlad Zahorodnii 2026-06-01 07:58:38 UTC
Git commit 01b2cad5051f8cdb016757f6942f7a43d550ee6b by Vlad Zahorodnii.
Committed on 31/05/2026 at 15:26.
Pushed by vladz into branch 'Plasma/6.7'.

Clear startup feedback if a window is activated by the Workspace

The xdg-activation token can be saved and checked later if the window is
not mapped yet.

If the activated window and the activation tokens have matching app ids,
it will work as expected. However, if the app ids mismatch, the startup
feedback won't be cleared (even though it should be).

This change makes the XdgActivationV1Integration monitor new windows and
clear startup feedbacks as needed.
(cherry picked from commit b57c48b264926a2dbc0524fa6766370e7f4e86be)

M  +44   -0    autotests/integration/activation_test.cpp
A  +7    -0    autotests/integration/data/org.kde.big-bad-wolf.desktop
A  +8    -0    autotests/integration/data/org.kde.grandma.desktop
A  +7    -0    autotests/integration/data/org.kde.little-red-riding-hood.desktop
M  +6    -0    src/xdgactivationv1.cpp

https://invent.kde.org/plasma/kwin/-/commit/01b2cad5051f8cdb016757f6942f7a43d550ee6b
Comment 9 Akseli Lahtinen 2026-06-01 08:28:32 UTC
Git commit 520255401b5bcfa86ce0c050adfbbba0b8980d15 by Akseli Lahtinen.
Committed on 31/05/2026 at 11:33.
Pushed by akselmo into branch 'master'.

KAboutData: Reload applicationData when desktopFileName param is set

When applications are created with KAboutData,
the registry is also created, which is
where we set up the initial values.

Setting the desktopFileName directly to the private
class does not work, as it does not update the one
in registry that the application uses.

This makes sure we reload the desktopFileName
for our application when it's being set.

M  +1    -1    src/lib/kaboutdata.cpp

https://invent.kde.org/frameworks/kcoreaddons/-/commit/520255401b5bcfa86ce0c050adfbbba0b8980d15
Comment 10 Vlad Zahorodnii 2026-06-02 08:13:58 UTC
*** Bug 455265 has been marked as a duplicate of this bug. ***
Comment 11 Vlad Zahorodnii 2026-06-09 12:19:05 UTC
*** Bug 487204 has been marked as a duplicate of this bug. ***