Bug 483689 - Invisible text in some widget settings with mixed light/dark theme e.g. Breeze Twilight
Summary: Invisible text in some widget settings with mixed light/dark theme e.g. Breez...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: System Monitor (show other bugs)
Version: 6.0.2
Platform: Neon Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2024-03-15 15:47 UTC by S. Christian Collins
Modified: 2024-05-15 10:08 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.0.5
Sentry Crash Report:


Attachments
video showing the bug (250.65 KB, video/mp4)
2024-03-15 17:21 UTC, S. Christian Collins
Details
new look of the bug (pie chart details) (63.51 KB, image/png)
2024-04-17 13:49 UTC, S. Christian Collins
Details
new look of the bug (sensors details) (58.34 KB, image/png)
2024-04-17 13:49 UTC, S. Christian Collins
Details

Note You need to log in before you can comment on or make changes to this bug.
Description S. Christian Collins 2024-03-15 15:47:34 UTC
SUMMARY
The contents of some text fields in the settings for the system monitor widgets is sometimes invisible. The only way to see the text is by selecting it with the mouse cursor. See attached video.

STEPS TO REPRODUCE
1. Add a system monitor widget to the desktop (e.g., "Memory Usage")
2. Go into the settings for the widget and look through the various pages.

OBSERVED RESULT
Several of the text input fields appear blank, but actually contain invisible text. In the example of the "Memory Usage" widget with default settings, this affects the "Start from Angle" and "Total Pie Angle" fields on the "Pie Chart Details" page, and if you click the edit icon on any of the sensors on the "Sensors Details" page, the resulting text box will also contain invisible text.

EXPECTED RESULT
All of the text should be visible.

SOFTWARE/OS VERSIONS
Linux: KDE neon 6.0 User Edition
KDE Plasma Version: 6.0.2
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2
Comment 1 duha.bugs 2024-03-15 17:12:59 UTC
(In reply to S. Christian Collins from comment #0)
> See attached video.

I think you accidentally didn't attach the video. Could you please provide a screenshot or screen recording?
Comment 2 S. Christian Collins 2024-03-15 17:21:03 UTC
Created attachment 167279 [details]
video showing the bug

Whoops! It's attached now.
Comment 3 Nate Graham 2024-04-10 17:45:59 UTC
I can't reproduce the issue. I suspect it may be related to the color sin your active color scheme or Plasma theme. Can you reproduce it in a new clean user account?
Comment 4 S. Christian Collins 2024-04-10 18:43:57 UTC
(In reply to Nate Graham from comment #3)
> I can't reproduce the issue. I suspect it may be related to the color sin
> your active color scheme or Plasma theme. Can you reproduce it in a new
> clean user account?

Aah! The issue only appears when using "Breeze Twilight" (light application theme with dark plasma theme). Perhaps the affected text boxes are getting their text color from the plasma theme rather than the application theme?

I tested this in a KDE neon VirtualBox install (X11), rebooting between each theme change as the plasma theme didn't fully change over until I did.
Comment 5 Nate Graham 2024-04-11 15:58:08 UTC
Yeah, looks like it. Can reproduce that now.
Comment 6 S. Christian Collins 2024-04-17 13:49:19 UTC
Created attachment 168618 [details]
new look of the bug (pie chart details)

With the upgrade to Plasma 6.0.4 and Frameworks 6.1.0, this bug has changed its colors, literally. Previously, the text color for certain widgets was being pulled from the dark plasma theme, conflicting with the light application theme making the white text impossible to read against the white background (when using Twilight).

Now, the widget background is also being pulled from the plasma theme, leading to cases of hard to read black text on a dark background and white check marks instead of black.
Comment 7 S. Christian Collins 2024-04-17 13:49:44 UTC
Created attachment 168619 [details]
new look of the bug (sensors details)
Comment 8 Bug Janitor Service 2024-05-08 09:09:47 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/libksysguard/-/merge_requests/344
Comment 9 Nate Graham 2024-05-08 19:46:42 UTC
Git commit 3ffd61ba57ef690a78eccded055083d6aa4ead44 by Nate Graham, on behalf of Akseli Lahtinen.
Committed on 08/05/2024 at 19:46.
Pushed by ngraham into branch 'master'.

SensorFaceController: use a separate QQmlEngine in createConfigUi

Config UI was using same engine as the applet, so it would inherit the
colors wrongly from the Plasma Theme instead of the standard color
scheme. This caused issues in mixed light/dark global themes.

Fix it by creating a new engine just for the config windows.
FIXED-IN: 6.0.5

M  +4    -2    faces/SensorFaceController.cpp

https://invent.kde.org/plasma/libksysguard/-/commit/3ffd61ba57ef690a78eccded055083d6aa4ead44
Comment 10 Nate Graham 2024-05-08 19:51:49 UTC
Git commit f5b14b496597a68c2ebd67940f3c3936a60b4a28 by Nate Graham, on behalf of Akseli Lahtinen.
Committed on 08/05/2024 at 19:47.
Pushed by ngraham into branch 'Plasma/6.0'.

SensorFaceController: use a separate QQmlEngine in createConfigUi

Config UI was using same engine as the applet, so it would inherit the
colors wrongly from the Plasma Theme instead of the standard color
scheme. This caused issues in mixed light/dark global themes.

Fix it by creating a new engine just for the config windows.
FIXED-IN: 6.0.5


(cherry picked from commit 3ffd61ba57ef690a78eccded055083d6aa4ead44)

754f64a8 SensorFaceController: createConfigUi creates its own QQmlEngine
50262dad Rename to configEngine
168aca46 Add original engine as parent for the configEngine

M  +4    -2    faces/SensorFaceController.cpp

https://invent.kde.org/plasma/libksysguard/-/commit/f5b14b496597a68c2ebd67940f3c3936a60b4a28
Comment 11 Bug Janitor Service 2024-05-14 11:20:17 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4320
Comment 12 Bug Janitor Service 2024-05-14 13:32:55 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-systemmonitor/-/merge_requests/289
Comment 13 Akseli Lahtinen 2024-05-15 09:26:10 UTC
Git commit 8154f79bd54777a85c18c067d56155f341dce994 by Akseli Lahtinen.
Committed on 15/05/2024 at 09:26.
Pushed by akselmo into branch 'master'.

FaceLoader: use qmlEngine for configEngine

Requires: https://invent.kde.org/plasma/libksysguard/-/merge_requests/346

Add `qmlEngine(this)` to the sensorfacecontroller configEngine parameter.
We can use same engine here since SystemMonitor is not using Plasma coloring.

M  +1    -1    src/page/FaceLoader.cpp

https://invent.kde.org/plasma/plasma-systemmonitor/-/commit/8154f79bd54777a85c18c067d56155f341dce994
Comment 14 Akseli Lahtinen 2024-05-15 09:37:02 UTC
Git commit 52f6668fd1be2fc5d6b69a665d999841c0bc7436 by Akseli Lahtinen.
Committed on 15/05/2024 at 09:36.
Pushed by akselmo into branch 'master'.

systemmonitor: create configEngine for config items

Requires: https://invent.kde.org/plasma/libksysguard/-/merge_requests/346

This now creates a configEngine per systemmonitor, which fixes a bug where Plasma systemmonitor applets configuration windows would use Plasma colors.

M  +3    -2    applets/systemmonitor/systemmonitor/systemmonitor.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/52f6668fd1be2fc5d6b69a665d999841c0bc7436
Comment 15 Bug Janitor Service 2024-05-15 09:43:21 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4323
Comment 16 Bug Janitor Service 2024-05-15 09:43:25 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-systemmonitor/-/merge_requests/290
Comment 17 Akseli Lahtinen 2024-05-15 09:53:36 UTC
Git commit f7d874e83d22ea65b70d4467ee610c9f2f8af860 by Akseli Lahtinen.
Committed on 15/05/2024 at 09:43.
Pushed by akselmo into branch 'Plasma/6.0'.

FaceLoader: use qmlEngine for configEngine

Requires: https://invent.kde.org/plasma/libksysguard/-/merge_requests/346

Add `qmlEngine(this)` to the sensorfacecontroller configEngine parameter.
We can use same engine here since SystemMonitor is not using Plasma coloring.


(cherry picked from commit 8154f79bd54777a85c18c067d56155f341dce994)

1417b681 FaceLoader: use qmlEngine for configEngine

M  +1    -1    src/page/FaceLoader.cpp

https://invent.kde.org/plasma/plasma-systemmonitor/-/commit/f7d874e83d22ea65b70d4467ee610c9f2f8af860
Comment 18 Akseli Lahtinen 2024-05-15 10:08:42 UTC
Git commit 3a5e4f5d5eeb39c96cb55aecc0894ef86b7c497d by Akseli Lahtinen.
Committed on 15/05/2024 at 10:08.
Pushed by akselmo into branch 'Plasma/6.0'.

systemmonitor: create configEngine for config items

Requires: https://invent.kde.org/plasma/libksysguard/-/merge_requests/346

This now creates a configEngine per systemmonitor, which fixes a bug where Plasma systemmonitor applets configuration windows would use Plasma colors.

M  +3    -2    applets/systemmonitor/systemmonitor/systemmonitor.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/3a5e4f5d5eeb39c96cb55aecc0894ef86b7c497d