Bug 504880 - Middle-click Bluetooth icon in System Tray Does Not Toggle Bluetooth State if tray icon is set to Always Shown
Summary: Middle-click Bluetooth icon in System Tray Does Not Toggle Bluetooth State if...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Bluetooth widget (other bugs)
Version First Reported In: 6.3.90
Platform: Arch Linux Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2025-05-27 18:20 UTC by dream
Modified: 2025-05-29 13:32 UTC (History)
3 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description dream 2025-05-27 18:20:37 UTC
SUMMARY
Introduced in `plasma-workspace` 6.3.90, last working version is 6.3.5.
It only happens when you have the System Tray for Bluetooth set to Always Show
Middle-click the Bluetooth icon in KDE System Tray to toggle on/off no longer sets adapter state.
The animation on the icon happens, but the state stays on or off.

STEPS TO REPRODUCE
1. Right Click SysTray -> 'Configure System Tray...'
2. Select 'Entries'
3. Set Bluetooth to 'Always shown'
4. With Bluetooth visible on the tray, and Bluetooth is either Enabled or Disabled use Middle Mouse while hovering over the icon

OBSERVED RESULT
The Middle Mouse selection animation plays on the Bluetooth icon, but the Bluetooth adapter state stays in the state that it already was in (ON -> ON, or OFF -> OFF)

EXPECTED RESULT
The Middle Mouse selection animation plays on the Bluetooth icon, and the adapter changes state.
ON -> OFF, or OFF -> ON

SOFTWARE/OS VERSIONS
Operating System: CachyOS Linux 
KDE Plasma Version: 6.3.5
KDE Frameworks Version: 6.14.0
Qt Version: 6.9.0
Kernel Version: 6.14.8-2-cachyos (64-bit)
Graphics Platform: Wayland


ADDITIONAL INFORMATION
I have confirmed that this bug is introduced in 6.3.90.
Downgrading the 'plasma-workspace' package to 6.3.5 results in the expected behavior working.
Comment 1 Nate Graham 2025-05-27 18:25:00 UTC
This is working fine for me with those steps, and the code here hasn't changed appreciably between 6.3.5 and 6.3.90.

Does it only happen when you set the visibility to "Always shown", or does it ever happen with the default visibility condition?

Can you run `journalctl -f` in a terminal window, reproduce the issue, and then see if anything was printed to the terminal window? If so, please paste it here. Thanks!
Comment 2 dream 2025-05-27 18:33:01 UTC
> Does it only happen when you set the visibility to "Always shown", or does
> it ever happen with the default visibility condition?

I have reproduced it on two separate systems with totally different hardware.
When set to "Shown when relevant" and after rebooting once, it functions properly. If I don't reboot I get the same error after changing it.

> Can you run `journalctl -f` in a terminal window, reproduce the issue, and
> then see if anything was printed to the terminal window? If so, please paste
> it here. Thanks!

Yes, when the issue occurs this output is logged
```
May 27 11:32:05 user plasmashell[1368]: qt.qml.signalhandler: Property 'onPressed' of object QQuickMouseArea_QML_210(0x57babf9b60d0) is a signal handler. You should not call it directly. Make it a proper function and call that or emit the signal.
May 27 11:32:05 user plasmashell[1368]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/applet/DefaultCompactRepresentation.qml:73: TypeError: Value is undefined and could not be converted to an object
```
Comment 3 dream 2025-05-27 18:41:44 UTC
Additional Info:
I did notice on my second system sometimes it worked properly even in 'Always shown' state. However switching it to 'Shown when relevant', clicking Apply, then switching it back it 'Always shown' causes the same issue and same log I posted above.
Comment 4 TraceyC 2025-05-28 19:32:08 UTC
I can reproduce on git-master on Solus
If Bluetooth is not set to Always Shown, middle click enables and disables normally
If it's set to Always Show, middle click does not affect the enabled state
I get the same output written to the journal

May 28 14:31:26 tlc-xps17-solus plasmashell[16406]: qt.qml.signalhandler: Property 'onPressed' of object QQuickMouseArea_QML_244(0x564f764672f0) is a signal handler. You should not call it directly. Make it a proper function and call that or emit the signal.
May 28 14:31:26 tlc-xps17-solus plasmashell[16406]: file:///home/tracey/kde/usr/share/plasma/shells/org.kde.plasma.desktop/contents/applet/DefaultCompactRepresentation.qml:73: TypeError: Value is undefined and could not be converted to an object
Comment 5 Bug Janitor Service 2025-05-29 09:56:16 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/3031
Comment 6 Niccolò Venerandi 2025-05-29 10:00:19 UTC
Git commit 246aae4f191ba65accd6e59f8192b48be5eb7aa3 by Niccolò Venerandi.
Committed on 29/05/2025 at 10:00.
Pushed by niccolove into branch 'master'.

Use Plasmoid attached property directly in DefaultCompactRepresentation

Since `Plasmoid` is the same as `defaultCompactRepresentation.plasmoidItem.Plasmoid`,
we prefer to use the former. This also works around some specific scenarios
where the latter might be undefined, see bug report for reference.

M  +1    -1    desktoppackage/contents/applet/DefaultCompactRepresentation.qml

https://invent.kde.org/plasma/plasma-desktop/-/commit/246aae4f191ba65accd6e59f8192b48be5eb7aa3
Comment 7 Niccolò Venerandi 2025-05-29 10:00:46 UTC
Git commit aa0447867cebba702f6b50e5545302df4e6cd9dc by Niccolò Venerandi.
Committed on 29/05/2025 at 10:00.
Pushed by niccolove into branch 'Plasma/6.4'.

Use Plasmoid attached property directly in DefaultCompactRepresentation

Since `Plasmoid` is the same as `defaultCompactRepresentation.plasmoidItem.Plasmoid`,
we prefer to use the former. This also works around some specific scenarios
where the latter might be undefined, see bug report for reference.


(cherry picked from commit 246aae4f191ba65accd6e59f8192b48be5eb7aa3)

Co-authored-by: Niccolò Venerandi <niccolo@venerandi.com>

M  +1    -1    desktoppackage/contents/applet/DefaultCompactRepresentation.qml

https://invent.kde.org/plasma/plasma-desktop/-/commit/aa0447867cebba702f6b50e5545302df4e6cd9dc