Bug 503345 - Opening `systemsettings` binary does nothing when System Settings is already open on another Activity
Summary: Opening `systemsettings` binary does nothing when System Settings is already ...
Status: CONFIRMED
Alias: None
Product: systemsettings
Classification: Applications
Component: general (other bugs)
Version First Reported In: master
Platform: Neon Linux
: NOR minor
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-04-25 15:34 UTC by Nik Nikovsky
Modified: 2025-11-17 02:09 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nik Nikovsky 2025-04-25 15:34:33 UTC
SUMMARY
I wanted to quickly disable the virtual keyboard that pops up on startup.

STEPS TO REPRODUCE
1. Open Konsole or another terminal emulator
2. Choose a module to attempt to execute (for example kcm_virtualkeyboard)
3. Run the command (for example systemsettings kcm_virtualkeyboard) and observe

OBSERVED RESULT
QThreadStorage: entry 3 destroyed before end of thread 0x595aa5d0cb60
QThreadStorage: entry 2 destroyed before end of thread 0x595aa5d0cb60


EXPECTED RESULT
The virtual keyboard settings page

SOFTWARE/OS VERSIONS
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 6.3.80
KDE Frameworks Version: 6.14.0
Qt Version: 6.8.3
Kernel Version: 6.11.0-24-generic (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i5-5300U CPU @ 2.30GHz
Memory: 8 GiB of RAM (7.6 GiB usable)
Graphics Processor: Intel® HD Graphics 5500


ADDITIONAL INFORMATION
Comment 1 John Kizer 2025-04-26 06:11:02 UTC
Hi - for what it's worth, I cannot reproduce on my Fedora KDE 42 device with Plasma 6.3.4, Frameworks 6.13.0 - if this isn't a local issue, maybe it's a regression in the beta versions?

Are you able to launch the application with the systemsettings command without specifying a module?

Thanks!
Comment 2 Nik Nikovsky 2025-04-26 09:09:23 UTC
(In reply to John Kizer from comment #1)
> Hi - for what it's worth, I cannot reproduce on my Fedora KDE 42 device with
> Plasma 6.3.4, Frameworks 6.13.0 - if this isn't a local issue, maybe it's a
> regression in the beta versions?
> 
> Are you able to launch the application with the systemsettings command
> without specifying a module?
> 
> Thanks!

Yeah, I can open the app normally, but I do see some log info that's probably not useful, but I'll put it here anyway:
kf.svg: The theme "Vintage" uses the legacy metadata.desktop. Consider contacting the author and asking them update it to use the newer JSON format.
kf.svg: The theme "Vintage" uses the legacy metadata.desktop. Consider contacting the author and asking them update it to use the newer JSON format.
kf.plasma.core: The theme "Vintage" uses the legacy metadata.desktop. Consider contacting the author and asking them update it to use the newer JSON format.
kf.plasma.core: The theme "Vintage" uses the legacy metadata.desktop. Consider contacting the author and asking them update it to use the newer JSON format.
Comment 3 Nate Graham 2025-04-28 15:45:47 UTC
Is `systemsettings` already running in the background, maybe?
Comment 4 Nik Nikovsky 2025-04-28 15:57:58 UTC
(In reply to Nate Graham from comment #3)
> Is `systemsettings` already running in the background, maybe?

I don't know if it was then, but I am redoing this after a reboot and updates.
Yeah, that was the culprit, but maybe implement switching that window to the requested activity?
Comment 5 Nate Graham 2025-04-28 16:24:26 UTC
So System Settings was running in another activity, and calling it by its command-line binary didn't either:
1. Open a new instance on the current Activity
2  Switch you to the activity in which it was running

Do I have that right?
Comment 6 Nik Nikovsky 2025-04-28 19:45:39 UTC
(In reply to Nate Graham from comment #5)
> So System Settings was running in another activity, and calling it by its
> command-line binary didn't either:
> 1. Open a new instance on the current Activity
> 2  Switch you to the activity in which it was running
> 
> Do I have that right?

Yes.
Comment 7 Nate Graham 2025-04-29 14:49:38 UTC
Basically the problem here is that single-instance apps should ideally be single-instance per Activity, not single-instance systemwide. Single-instance systemwide conflicts with how Activities work in a way that's not trivial to contemplate fixing.

We can fix this per-app, but that's not an ideal solution.
Comment 8 Nik Nikovsky 2025-04-29 22:48:39 UTC
(In reply to Nate Graham from comment #7)
> Basically the problem here is that single-instance apps should ideally be
> single-instance per Activity, not single-instance systemwide.
> Single-instance systemwide conflicts with how Activities work in a way
> that's not trivial to contemplate fixing.
> 
> We can fix this per-app, but that's not an ideal solution.

I wonder, maybe if the command detects an activity of the app running, it could send a request to restore to window and move to a specified activity (kcm_sddm for example).
Comment 9 Nate Graham 2025-04-29 22:58:02 UTC
It could; that's the "fix it in every affected app" option, which doesn't scale very well.
Comment 10 Jerry Quinn 2025-11-17 02:09:46 UTC
I'm not sure if it's the same bug or not, but if the settings window is already open and behind other things, and you run systemsettings, I would expect the window to come to the foreground.  I spent way too long trying to figure out why the command was running perfectly and doing nothing, including a reboot, only to eventually figure out that I already had it open and behind other windows.