Bug 482469 - Plasmashell does not remember desktop icon size or programs in the panel
Summary: Plasmashell does not remember desktop icon size or programs in the panel
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 6.0.0
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2024-03-05 13:43 UTC by Jaroslav Krpálek
Modified: 2024-04-17 15:48 UTC (History)
8 users (show)

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


Attachments
plasmashell.log (44.32 KB, text/plain)
2024-03-13 21:43 UTC, Andreas Sturmlechner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jaroslav Krpálek 2024-03-05 13:43:19 UTC
SUMMARY
***
Whenever I set an icon size to "Small" on the desktop, it doesn't persist when rebooting, same happens with the Discover shortcut on the panel
***

STEPS TO REPRODUCE
1. Set icon size to Small, unpin Discover from Task Manager
2. Reboot
3. See that the icon size has returned to Small-Medium, and that the Discover icon has returned to the Task Manager

OBSERVED RESULT
Icon size reverted back to default, Discover icon returns back to the panel

EXPECTED RESULT
Icon size stays, Discover's icon stays removed

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Gentoo Linux
KDE Plasma Version: 6.0.0
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2

ADDITIONAL INFORMATION
The setup is directly upgraded from KDE Plasma 5.27.10. Configs were removed as an attempt to fix, but that did nothing. I don't have Discover installed, so that's why I want to get rid of the icon.

plasma-desktop (containing plasmashell) use flags:
USE="screencast semantic-desktop -X -debug -handbook -ibus -kaccounts -scim -sdl -test"

plasma-workspace use flags:
USE="calendar fontconfig policykit screencast semantic-desktop systemd wallpaper-metadata -appstream -debug -geolocation -gps -handbook -telemetry -test"

kwin use flags:
USE="lock multimedia screencast shortcuts -accessibility -caps -debug -gles2-only -handbook -test"

Compiler flags used at compile time:
CFLAGS="-march=znver3 -mtune=znver3 -O2 -pipe -ggdb"
Comment 1 Nate Graham 2024-03-05 21:31:24 UTC
(In reply to Jaroslav Krpálek from comment #0)
> plasma-desktop (containing plasmashell) use flags:
> USE="screencast semantic-desktop -X -debug -handbook -ibus -kaccounts -scim
> -sdl -test"
> 
> plasma-workspace use flags:
> USE="calendar fontconfig policykit screencast semantic-desktop systemd
> wallpaper-metadata -appstream -debug -geolocation -gps -handbook -telemetry
> -test"
> 
> kwin use flags:
> USE="lock multimedia screencast shortcuts -accessibility -caps -debug
> -gles2-only -handbook -test"

What does this mean? Are you forcing everything to run in a sandbox or something? It very much sounds like the config file where these changes get saved isn't being written to as expected.
Comment 2 Jaroslav Krpálek 2024-03-06 06:58:11 UTC
(In reply to Nate Graham from comment #1)
> (In reply to Jaroslav Krpálek from comment #0)
> > plasma-desktop (containing plasmashell) use flags:
> > USE="screencast semantic-desktop -X -debug -handbook -ibus -kaccounts -scim
> > -sdl -test"
> > 
> > plasma-workspace use flags:
> > USE="calendar fontconfig policykit screencast semantic-desktop systemd
> > wallpaper-metadata -appstream -debug -geolocation -gps -handbook -telemetry
> > -test"
> > 
> > kwin use flags:
> > USE="lock multimedia screencast shortcuts -accessibility -caps -debug
> > -gles2-only -handbook -test"
> 
> What does this mean? Are you forcing everything to run in a sandbox or
> something? It very much sounds like the config file where these changes get
> saved isn't being written to as expected.

These, in Gentoo, are used to configure the compiler flags for the specific application. They are called use flags.
If they aren't prefixed with "-", then it's options that it's compiled with. "-" implies that it's been disabled at compile time. So, for example, if i set "-lock" on KWin, it compiles with -DKWIN_BUILD_SCREENLOCKER=no.
As for sandboxing, the only thing sandboxed is the compilation process. This prevents malicious code from executing (such as downloading things from the internet). After compilation, it gets thrown in the standard path, and it runs unsandboxed.
Comment 3 Jaroslav Krpálek 2024-03-06 06:59:55 UTC
(In reply to Nate Graham from comment #1)
> (In reply to Jaroslav Krpálek from comment #0)
> > plasma-desktop (containing plasmashell) use flags:
> > USE="screencast semantic-desktop -X -debug -handbook -ibus -kaccounts -scim
> > -sdl -test"
> > 
> > plasma-workspace use flags:
> > USE="calendar fontconfig policykit screencast semantic-desktop systemd
> > wallpaper-metadata -appstream -debug -geolocation -gps -handbook -telemetry
> > -test"
> > 
> > kwin use flags:
> > USE="lock multimedia screencast shortcuts -accessibility -caps -debug
> > -gles2-only -handbook -test"
> 
> It very much sounds like the config file where these changes get
> saved isn't being written to as expected.
Also, the strangest thing is that the panel size IS remembered, even the configuration of the widgets, just not the desktop icon size and the shortcuts in the Task Manager.
Comment 4 Nate Graham 2024-03-06 22:42:20 UTC
Thanks. Not being familiar with Gentoo, let me invite someone who is!
Comment 5 Andreas Sturmlechner 2024-03-06 22:49:19 UTC
How can I help?

First thing I'd recommend is upgrade to Plasma 6.0.1 and check your permissions on ~/.config, ~/.local and ~/.cache
Comment 6 Jaroslav Krpálek 2024-03-07 14:06:34 UTC
(In reply to Andreas Sturmlechner from comment #5)
> How can I help?
> 
> First thing I'd recommend is upgrade to Plasma 6.0.1 and check your
> permissions on ~/.config, ~/.local and ~/.cache

Updated, checked the permissions despite knowing they were fine anyway, since Plasma 5 worked fine, ran chown -R carbon:carbon on .config and .local just to be sure. Rebooted, still happens.
Comment 7 Jaroslav Krpálek 2024-03-07 14:11:06 UTC
(In reply to Jaroslav Krpálek from comment #6)
> (In reply to Andreas Sturmlechner from comment #5)
> > How can I help?
> > 
> > First thing I'd recommend is upgrade to Plasma 6.0.1 and check your
> > permissions on ~/.config, ~/.local and ~/.cache
> 
> Updated, checked the permissions despite knowing they were fine anyway,
> since Plasma 5 worked fine, ran chown -R carbon:carbon on .config and .local
> just to be sure. Rebooted, still happens.

It seems like the settings are lost at system reboot. When I forcibly kill plasmashell and start it again manually, the settings persist. After rebooting, the settings stay, but if I change them again without killing plasmashell, they don't persist after reboot.
Comment 8 Andreas Sturmlechner 2024-03-07 15:52:11 UTC
You're not using qt5ct or qt6ct, do you? (we block it in kde-plasma/plasma-meta).
Comment 9 Jaroslav Krpálek 2024-03-07 16:02:18 UTC
(In reply to Andreas Sturmlechner from comment #8)
> You're not using qt5ct or qt6ct, do you? (we block it in
> kde-plasma/plasma-meta).

No, these packages are absent from my system.
Comment 10 Jaroslav Krpálek 2024-03-08 19:12:24 UTC
I can reproduce this on my Kaby Lake laptop as well, and that runs basically the default flags. Just tried it now.
Comment 11 Nate Graham 2024-03-08 20:39:31 UTC
Folks able to reproduce this issue, are you by any chance *not* using the systemd boot feature?
Comment 12 Andreas Sturmlechner 2024-03-12 09:21:30 UTC
Nate, from this USE flag configuration we can infer this is with systemd.

(In reply to Jaroslav Krpálek from comment #0)
> plasma-workspace use flags:
> USE="calendar fontconfig policykit screencast semantic-desktop systemd

Can we let Jaroslav run a command that confirms systemd "boot feature" is being used?
Comment 13 Jaroslav Krpálek 2024-03-12 20:15:32 UTC
(In reply to Andreas Sturmlechner from comment #12)
> Nate, from this USE flag configuration we can infer this is with systemd.
> 
> (In reply to Jaroslav Krpálek from comment #0)
> > plasma-workspace use flags:
> > USE="calendar fontconfig policykit screencast semantic-desktop systemd
> 
> Can we let Jaroslav run a command that confirms systemd "boot feature" is
> being used?

Yes we can :-) Which command do you need me to run, if I'm not being dense?
Comment 14 Randall Winkhart 2024-03-12 22:00:30 UTC
I am having this issue on two systems, one updated from Plasma 5.27 and another a fresh install. Both are running Artix Linux with OpenRC, so no systemd.
Comment 15 Eric Yager 2024-03-13 19:40:54 UTC
(In reply to Randall Winkhart from comment #14)
> I am having this issue on two systems, one updated from Plasma 5.27 and
> another a fresh install. Both are running Artix Linux with OpenRC, so no
> systemd.

I am having the same problem with a fresh install of Artix with runit.
Comment 16 Andreas Sturmlechner 2024-03-13 21:23:35 UTC
Let's keep discussions in one bug (the other one was filed earlier).

*** This bug has been marked as a duplicate of bug 481113 ***
Comment 17 Andreas Sturmlechner 2024-03-13 21:43:20 UTC
Created attachment 167127 [details]
plasmashell.log

Here's my log from starting plasma wayland session from tty.
Comment 18 rdbladefan91 2024-03-19 23:11:13 UTC
I had the same problem in regards to plasmashell not remembering  programs in the panel after a reset. A workaround for me was to switch to a Plasma 6 X11 Session and then pin the applications to the taskbar and then switch back to the wayland session.
Comment 19 Randall Winkhart 2024-03-20 00:26:27 UTC
(In reply to rdbladefan91 from comment #18)
> I had the same problem in regards to plasmashell not remembering  programs
> in the panel after a reset. A workaround for me was to switch to a Plasma 6
> X11 Session and then pin the applications to the taskbar and then switch
> back to the wayland session.

Setting up my task manager icons in X11 then switching back to Wayland worked for me, as well.
Comment 20 David Edmundson 2024-04-17 11:33:13 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 482090, bug 481113, bug 482773, bug 483083

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

https://invent.kde.org/plasma/libplasma/-/commit/c37a224bc7a33c6bd5ba7c546fec74880ad463b4
Comment 21 David Edmundson 2024-04-17 11:36:15 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 482090, bug 481113, bug 482773, bug 483083


(cherry picked from commit c37a224bc7a33c6bd5ba7c546fec74880ad463b4)

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

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