Bug 482773 - Panel configuration not fully saving
Summary: Panel configuration not fully saving
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Panel (show other bugs)
Version: 6.0.1
Platform: Other Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2024-03-07 20:44 UTC by The10axe
Modified: 2024-04-17 11:36 UTC (History)
4 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description The10axe 2024-03-07 20:44:25 UTC
SUMMARY
I changed multiple panel settings, many saves correctly, and some just don't. For exemple, I swapped icon-only task manager for task manager, and it saved perfectly, same for the clock. But, I try making it so my battery indicator shows percentage and is always shown, and it keeps reverting back.
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. Change battery settings to show percentage when not fully charged, and to be always shown
2. Reboot
3. 

OBSERVED RESULT
It reverts to not showing percentage at all and being "shown when relevant"

EXPECTED RESULT
It should stay configured like it is left

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: CachyOS x86_64
(available in About System)
KDE Plasma Version: 6.0.1
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2

ADDITIONAL INFORMATION
Comment 1 Nate Graham 2024-03-08 23:32:04 UTC
Are you by any chance not using the systemd-enabled Plasma boot feature?
Comment 2 The10axe 2024-03-08 23:36:45 UTC
(In reply to Nate Graham from comment #1)
> Are you by any chance not using the systemd-enabled Plasma boot feature?

I didn't change anything other than enabling numlock for sddm and change shortcut and theming. How could I check that of it's being used?
Comment 3 Nate Graham 2024-03-10 22:40:12 UTC
Run `kreadconfig6 --file startkderc --group General --key systemdBoot`
Comment 4 The10axe 2024-03-11 07:19:01 UTC
(In reply to Nate Graham from comment #3)
> Run `kreadconfig6 --file startkderc --group General --key systemdBoot`

Here is what it returned:
```
Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8.
Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead.
If this causes problems, reconfigure your locale. See the locale(1) manual
for more information.

```
Comment 5 Nate Graham 2024-03-11 15:54:38 UTC
Do you have a file /etc/xdg/startkderc? Is there anything in there?
Comment 6 The10axe 2024-03-11 17:22:18 UTC
(In reply to Nate Graham from comment #5)
> Do you have a file /etc/xdg/startkderc? Is there anything in there?

This is the output of `cat /etc/xdg/startkderc`:
```
cat: /etc/xdg/startkderc: No such file or directory
```
Comment 7 Sylas H 2024-03-15 00:51:49 UTC
Confirming that the same thing happens to me on EndeavourOS (fully updated). I worked around it by adding the "Power and Battery" widget to the panel instead of using the system tray, but this is not an ideal solution.
Comment 8 Bug Janitor Service 2024-04-16 09:01:15 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/libplasma/-/merge_requests/1100
Comment 9 David Edmundson 2024-04-17 11:33:30 UTC
Git commit c37a224bc7a33c6bd5ba7c546fec74880ad463b4 by David Edmundson.
Committed on 17/04/2024 at 11:31.
Pushed by davidedmundson into branch 'master'.

Sync config to disk when values change

When client code calls Plasmoid.confiuration.a = b the value in the
KConfigPropertyMap changes, but the underlying KConfigSkeleton does not
have any signals emitted until that value is flushed.

We need to connect it to the existing mechanism to sync changes after a
timeout.
Related: bug 481085, bug 482469, bug 482090, bug 481113, bug 483083

M  +1    -0    src/plasma/applet.cpp

https://invent.kde.org/plasma/libplasma/-/commit/c37a224bc7a33c6bd5ba7c546fec74880ad463b4
Comment 10 David Edmundson 2024-04-17 11:36:01 UTC
Git commit f7b3e98bd5c777a8c7510ec0edaaba6412cac474 by David Edmundson.
Committed on 17/04/2024 at 11:33.
Pushed by davidedmundson into branch 'Plasma/6.0'.

Sync config to disk when values change

When client code calls Plasmoid.confiuration.a = b the value in the
KConfigPropertyMap changes, but the underlying KConfigSkeleton does not
have any signals emitted until that value is flushed.

We need to connect it to the existing mechanism to sync changes after a
timeout.
Related: bug 481085, bug 482469, bug 482090, bug 481113, bug 483083


(cherry picked from commit c37a224bc7a33c6bd5ba7c546fec74880ad463b4)

M  +1    -0    src/plasma/applet.cpp

https://invent.kde.org/plasma/libplasma/-/commit/f7b3e98bd5c777a8c7510ec0edaaba6412cac474