How do I stop desktop icons from rearranging when the window is resized?

Upgraded from OpenSUSE 15.4 to 15.5, which gives me KDE 5.27.4. I run OpenSUSE as a VMware guest, and so I’m often resizing the window (screen of the guest OS). After the upgrade, my neat grid of icons is “knocked over”/messed up when I resize the window. If I revert the size change, then they go back into a grid.

Looks like someone was trying to be too clever and automatically rearrange the icons based on the screen size. How do I disable this? It’s extremely annoying. “Locking” the icons has no effect.

whenever you change screen resolution it changes the grid layout, resizing the window of your VM must be having the same effect.

also changing the icon size will also affect the grid and therefor icon placement.

not sure what can be done about it except to put the icons into a desktop folder widget that would help isolate them from the desktop size changes

How about undoing or disabling whatever was added in the most recent KDE? Because in OpenSUSE 15.4 which uses KDE 5.24.4, it didn’t happen.

I noticed that in KDE 5.24.4, I had this in my plasma rc file, and it persists in this format even after I manually move icons around:
[Containments][1][General]
ToolBoxButtonState=topcenter
ToolBoxButtonX=728
iconSize=1
labelWidth=0
positions=6,28,desktop:/Emacs,4,0,desktop:/XEmacs,4,1,desktop:/Amber Konsole,4,2,desktop:/Firefox 24ESR,2,0,desktop:/Konsole Green,4,3,desktop:/Firefox 52ESR,2,1,desktop:/Firefox 68ESR,2,2,desktop:/Firefox 91ESR,2,3,desktop:/Firefox,3,4,desktop:/Firefox 45ESR,3,0,desktop:/Firefox 60ESR,3,1,desktop:/Eclipse,1,0,desktop:/Firefox 78ESR,3,2,desktop:/Firefox 102ESR,3,3,desktop:/kinfocenter.desktop,5,0,desktop:/IntelliJ,1,1,desktop:/Support.desktop,5,1,desktop:/VScode.desktop,1,2,desktop:/SuSE.desktop,5,2,desktop:/OpenVPN,1,3,desktop:/XTerm,4,4,desktop:/Office Free,5,3,desktop:/Google Chrome,4,5,desktop:/Firefox 115ESR,2,4
sortMode=-1

Note how the positions are specified independently of any screen resolution. However, in KDE 5.27.4, if I apply this same syntax for “positions”, it gets converted into resolution-specific JSON, and then every time I resize the window it ignores the existing resolution-specific settings (for other resolutions) and creates a new one. This seems like a regression.

seems like a good thing.

when you switch to a different monitor, like when you dock your laptop, you can have a saved set of icon positions for that too and everything will snap into place.

seems like OP with their VM just keeps switching between an infinite number of resolutions every time they resize the window and that’s why they are getting the wild reshuffling.

Breaking existing behavior is a good thing? I think having multiple resolutions was supported in KDE 5.24 as well, but it also supported the syntax I showed.

According to ChatGPT, I should be able to wildcard the resolution in the latest KDE by using “*” as the key in the JSON, but it doesn’t work.

What I described now sounds like a bug to me, so I guess I should file a bug, unless someone wants to tell me some setting I can use to get the old behavior back.

I’ve filed a bug here but doesn’t look it’s been updated by the devs in more than a week. Aren’t they supposed to triage incoming bugs, assign to someone, add a comment, etc.?

It would be good to temper your expectations, especially around a holiday season. See Get Involved/Issue Reporting - KDE Community Wiki.

Also please note that ChatGPT is rarely a source of accurate information about anything–let alone fast-moving technical topics.