Bug 472137

Summary: Icons are changing positions after some time
Product: [Plasma] plasmashell Reporter: hagioss <kontakt>
Component: FolderAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: hein, kdedev, nate
Priority: NOR    
Version: 5.27.5   
Target Milestone: 1.0   
Platform: Debian stable   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=490891
https://bugs.kde.org/show_bug.cgi?id=468546
Latest Commit: Version Fixed In: 6.3.0
Sentry Crash Report:

Description hagioss 2023-07-10 15:45:43 UTC
The problem is that when I don't use the desktop for a longer period of time, the desktop icons that I have placed on the desktop according to my needs are no longer in the position I want them to be. The desktop now displays them in a position that never existed before. Totally uncoordinated. The two setting options: Displays the desktop with minimized windows, and: Restores all previously minimized windows, neither worked, at least on my system. My suggestion would be a window with the function: Save the desktop.
If changes are made must be saved again. 
If it remains with the current state I must say goodbye to KDE Plasma. I need almost 30 minutes each time to restore the desired desktop. Today it was 4 times so far. A time I do not have.
Jens Schmidt

SOFTWARE/OS VERSIONS
 
Linux Debian 12.0 
(available in About System)
KDE Plasma Version: 5.27.5
KDE Frameworks Version: 5.103.0
Qt Version:  5.15.8
Comment 1 TraceyC 2024-08-01 00:23:03 UTC
This seems related to https://bugs.kde.org/show_bug.cgi?id=468546, where the cause is connecting / disconnecting displays
Comment 2 Akseli Lahtinen 2024-11-06 16:30:55 UTC
Git commit cc44615b34dacc2a4acfdc82de885c943318a7f6 by Akseli Lahtinen.
Committed on 06/11/2024 at 16:30.
Pushed by akselmo into branch 'master'.

Refactor icon positioner saving and loading

The icon positioner saving and loading is handled by QML, which makes it a bit difficult
to work with the logic in positioner CPP files.

This change does the following:
- Explicitly save only on user interactions
- Moved the save and load of config to positioner.cpp
  - Easier debugging of the saving and loading functions
  - Still uses the JSON style of save/loading like the old one
    - Technically should be compatible with the old config, which was also JSON.
- Makes positionerApplet accessible from FolderView qml
- Various checks for checking if screen is enabled or not to avoid doing unnecessary work when screen is off
- A lot of fixes to avoid any racing conditions
- Removed any timers
- Added various unit tests

Alternative to https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/2603
Related: bug 482875, bug 494874, bug 433867, bug 494412, bug 468619, bug 449069, bug 495047, bug 453314
FIXED-IN: 6.3.0

M  +1    -1    containments/desktop/package/contents/ui/FolderView.qml
M  +1    -48   containments/desktop/package/contents/ui/FolderViewLayer.qml
M  +165  -26   containments/desktop/plugins/folder/autotests/positionertest.cpp
M  +18   -3    containments/desktop/plugins/folder/autotests/positionertest.h
M  +23   -7    containments/desktop/plugins/folder/foldermodel.cpp
M  +5    -0    containments/desktop/plugins/folder/foldermodel.h
M  +176  -60   containments/desktop/plugins/folder/positioner.cpp
M  +37   -8    containments/desktop/plugins/folder/positioner.h

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