! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
[bug] Desktop icons order resets
Status:
RESOLVED: FIXED
Product:
Xfdesktop
Component:
General

Comments

Description Yan Pas 2014-11-01 01:23:19 CET
Desktop icons order resets if there is an equal number of icons in any two or more columns.
version 4.11.8-0ubuntu0.1
Comment 1 Yan Pas 2014-11-01 01:23:57 CET
*** Bug 11194 has been marked as a duplicate of this bug. ***
Comment 2 Yan Pas 2014-11-03 14:17:57 CET
Does this bug occurs on your desktop?
Comment 3 Eric Koegel editbugs 2014-11-03 16:41:48 CET
I've never encountered this (otherwise I'd happily fix it). Does it happen when:

- you stop and restart xfdesktop? (xfdesktop --quit; xfdesktop &)

- during a screen size change?

- during login?

Just trying to figure out when it happens for you. Thanks!
Comment 4 Yan Pas 2014-11-04 13:25:54 CET
Hello! Sorry for delay. I've just tried all of enlisted items, but the icons are still OK. I've noticed that after this bug occurs - number of .rc files in /home/USER/.config/xfce4/desktop/ incresing with a bit different resolutions (First time I have counted 12 rc files). And this happens on two Xubuntu machines with magic number of icons (adding or removing the icon may represent bug every reboot or fix it) 
Adding another panel - made the icons to fit in one row. Deleting this panel reverted changes in icon order (I think it is standart behavior)
Comment 5 Yan Pas 2014-11-04 13:32:16 CET
Is there a way to make united .rc file for all resolutions?
Comment 6 Eric Koegel editbugs 2014-11-09 15:15:18 CET
Here's the rationale for the rc files:
The .rc files are how Xfdesktop sees the space left on the screen. Things like the xfce4-panel may reserve space and xfdesktop respects that. The overall idea is that if your monitor goes through a couple resolution changes when your PC starts up or if you decide to play a game then your desktop should return to its old layout when it goes back to that resolution. Same thing with multi-monitor changes; you can have different layouts when your laptop is docked. The downside is that Xfdesktop doesn’t know when an icon position change should invalidate the other saved resolutions so in that case icons may change positions but Xfdesktop tries to minimize those moves.

Is it just one icon that gets messed up or all of them do? It may be due to something changing that causes xfdesktop uses an older .rc file (different panels or something like it on the desktop).
Comment 7 Yan Pas 2014-11-09 15:21:06 CET
(In reply to Eric Koegel from comment #6)
> Here's the rationale for the rc files:
> The .rc files are how Xfdesktop sees the space left on the screen. Things
> like the xfce4-panel may reserve space and xfdesktop respects that. The
> overall idea is that if your monitor goes through a couple resolution
> changes when your PC starts up or if you decide to play a game then your
> desktop should return to its old layout when it goes back to that
> resolution. Same thing with multi-monitor changes; you can have different
> layouts when your laptop is docked. The downside is that Xfdesktop doesn’t
> know when an icon position change should invalidate the other saved
> resolutions so in that case icons may change positions but Xfdesktop tries
> to minimize those moves.
> 
> Is it just one icon that gets messed up or all of them do? It may be due to
> something changing that causes xfdesktop uses an older .rc file (different
> panels or something like it on the desktop).

All icons change their order. The locate in top left corner.
Comment 8 Yan Pas 2014-11-26 22:34:13 CET
I have noticed that the order resets when I logout and login. Three times in row this happened. I will try to remove gnome settings daemon and gsettings data convert from autostart and keep watching over my problem
Comment 9 Yan Pas 2014-11-26 23:05:38 CET
My computer created yet another file with such config "icons.screen0-1008x584.rc"

[/home/yanpas/Рабочий стол/Лекции.doc]
row=0
col=0

[44A8-6CC0]
row=0
col=0

[Корзина]
row=0
col=0

[/]
row=0
col=0

[/home/yanpas]
row=0
col=0
Comment 10 Matias De lellis 2014-12-05 19:04:42 CET
Hi,
Please, inspects your file /home/USER/.cache/session-***.

It happened to me, and seeing this file, i see that there are many programs which automatically run multiple times.

I suspect that when you save the session, multipes xfdesktop try to write the same file, creating problems.

But it's just a suspicion.

Eric,
I have to admit that also suspicious of my changes in the distribution of icons. This weekend I'll try to test with this change reverted..

Regards,
Matias.
Comment 11 Matias De lellis 2014-12-06 00:51:04 CET
Hi,

You think this also happens to you?.
 * https://bugzilla.xfce.org/show_bug.cgi?id=11188

If yes, the problem is that the desktop is starting with some theme, this implies a font size, etc etc, resulting in a grid size, and therefore, it can change the order of icons.
After a second, xfsettingsd set your preferred theme with different fonts, spaces, etc, resulting in the final grid size.

The icons were reorganized, but as the screen size is the same, never save a copy of the pocision icons. Only replacement it by new info.
Comment 12 Yan Pas 2014-12-06 01:14:14 CET
YES! I've noticed that my shimmer-project theme sometimes doesn't have time to load. For example Transmission gets default GTK icon on autostart and only restarting it changes the icon to the theme icon. Maybe some elements start in default theme and lose their order. Even if it so the bug persists, but in another component maybe 

PS Another example: I have Clementine and Thunderbird on autostart. If I logout and then log in - thes programs doesn't have my GTK theme. Clementine is ugly-grey and thunderbird fonts are weird
Comment 13 Matias De lellis 2014-12-06 02:24:42 CET
Ok,
In my tests, applying the patch to xfsettingd seems that fix the bug.

Whell, The xubuntu people should add the patch, but surely take time.
You dare to compiling xfce4-settings to test?.
Comment 14 Yan Pas 2014-12-06 08:06:36 CET
I will try to compile and will be watching bug
Comment 15 Yan Pas 2014-12-06 13:30:52 CET
Hello. I think you meant patch from bug 11188. But which of them? And how to change source code automaticly with these + and -
PS In previous comment I read it from mobile phone and misunderstood.
Comment 16 Matias De lellis 2014-12-06 14:46:31 CET
Hi,
The best (Easy) way is compile directly the git version.

> sudo apt-get install git
> sudo apt-get build-dep xfce4-setting
> git clone git://git.xfce.org/xfce/xfce4-settings
> cd xfce4-settings
> ./autogen.sh
NOTE: This command should be more complete, but for this test not worry so much.
> make

The next step would be: sudo make install, but recommend overwrite the executable.

> killall xfsettingsd
Note: Not worry by theme change, and maybe here you see changes in yours icons.
> sudo mv ./xfsettingsd/xfsettingsd /usr/bin/
> xfsettingsd &

And restart you desktop.. ;)
Comment 17 Yan Pas 2014-12-06 15:37:29 CET
And where is the patch in these steps, that small file with + and - lines. Or this patch has been already applied to the project and I need only to compile newer version from source?
Comment 18 Matias De lellis 2014-12-06 15:47:30 CET
> Or this patch has been already applied to the project and I need only to compile newer version from source?

Yes. ;)
The patch was added two months ago,but not enough changes to make a new release of xfce4-settings.
Comment 19 Yan Pas 2014-12-10 10:54:57 CET
Created attachment 5813 
icon bug

(In reply to Matias De lellis from comment #18)
> > Or this patch has been already applied to the project and I need only to compile newer version from source?
> 
> Yes. ;)
> The patch was added two months ago,but not enough changes to make a new
> release of xfce4-settings.

Hello! Desktop icons behave good, there were no any self-replacements. But I've found new bug with xfsettingsd, which is not fixed in github. Transmission non-theme icon. Screenshot is attached. When I start my computer - I get default ugly icon, only after restaring transmission app icon becomes normal
Comment 20 Yan Pas 2014-12-10 11:18:48 CET
Created attachment 5814 
Bug again

Oh no! Just after a comment bug reproduced again. All I did before was plaing GTA IV in resolution 1680x1050. Then I set my creen to my native resolution 1920x1080 (everything is still OK). Then I logged out and logged in - and icons are mixed.
Also on logging in my clementine player, which is loaded automaticly didn't fully catched gtk theme, it has weird and wrong Font.
Comment 21 Matias De lellis 2014-12-10 16:41:59 CET
Ohh.. Ok. :(

Yesterday also happened to me. I will continue investigating.

Regards.
Comment 22 Matias De lellis 2014-12-13 00:32:04 CET
Hi everyone,
Nothing new. Sorry.. I Cannot isolate it :S

I reverted all my changes (I was worried about these. haha).. and the bug is still there.. :S

Perhaps it is a old bug, and only we discovered it now.

Only one detail. I discovered that it occurs when I close a session with many open applications and the "Save session" option is activated.

And noticing that is a lot easier reproduce it when restart the machine instead just close and open the session. Not know what is the difference. :S
Comment 23 Matias De lellis 2014-12-13 02:45:40 CET
Eric,
Not think that is related, but researching a bit found a bug:

> https://github.com/xfce-mirror/xfdesktop/commit/cfe5a0ad88b84a23a4cd6d18a25635ec84cbaf68

In this commit you introduce a big mem leak. Is not noticeable due it's just when close the session. I doubt the necessity of the commit, but surely you have your reasons. ;)

Well, the problem is that xfdesktop_application_get() increases the references and you have to add a unref after use it.

The obvious problem is the mem leak. but not the most worrying

The major problem is that you're assuming that XfdesktopApplication may be NULL. If XfdesktopApplication already NULL (understood is already closed), when you call xfdesktop_application_get(), you're starting an entirely new desktop !!!!.

..and due the missing unref basically never close it. Ends up being killed by the session. (This last is just supposition. haha. =)

Any idea how to debug this?
For now I'll add some g_print to see the sequence on shutdown.

Regards,
Matias.
Comment 24 tps@vr-web.de 2015-01-16 00:45:29 CET
https://bugs.launchpad.net/ubuntu/+source/xfdesktop4/+bug/1335492

This bug seems to be a race condition: xfce config files and desktop directory are read in parallel.
At first no icon positions are known. The first icons are placed by default, from top-left down to bottom-left.
Then, since the config file reading is slightly faster, than desktop directory reading, some icon positions are known and these are placed as expected.
Sometimes reading an icon position and reading the accompanying file might overlap: first the file is read, then the icon is placed at default, but slightly later it is placed at the expected position. Don't know how this happens, but it results in an event "icon moved" forcing the all icons already placed to be written to config files, overwriting the config file and reading it in again. This leads to loosing all icon positions not read from desktop directory. When these are found they are placed by default: top-left to bottom-left.
At very last, when all files in Desktop are placed the config file is written again (since there where "new" icons).

Simple way to confirm what is going on: place your icons you'd like to have them, then:

chmod 0444 ${HOME}/.config/xfce4/desktop/icons.screen0-<hsize>x<vsize>.rc
chmod 0555 ${HOME}/.config/xfce4/desktop
chown -R root ${HOME}/.config/xfce4

then restart. Depending how many background apps you run, you might find your desktop resorted with all icons in default order: top-left to bottom-left, filling the screen from left to right.
Log off, then on again. This time (since the config file couldn't be written) the icons will be sorted as given in the config file. Why?
Simple: restarting the system requires to load all libraries your background apps need, logging off and on again these are loaded already. Result: the first time you start your desktop the race is open: it depends on who wins: sometimes its the part reading the config file, sometimes it the part reading the desktop directory.
In case of log off and on reading the config file is normally much faster than reading the directory, thus all icons are placed as expected, because there positions are known, as they are read from "Desktop".

Conclusion: making sure the config file is fully read *before* "Desktop" reading starts might solve the problem ...
Comment 25 Yan Pas 2015-01-16 01:00:09 CET
Nice to hear that reason has been found! Waiting for fix ^^
Comment 26 Matias De lellis 2015-01-16 01:21:42 CET
Hi,
Your description seems correct. Eric? Ping.. =)

The commit where the bug is introduced would be this: https://github.com/xfce-mirror/xfdesktop/commit/f8fc72957dda162d7d310831494a336da849a6c

Tomorrow I try reverting this commit.

Regards,
Thanks for all!.

Matias
Comment 27 Peter de Ridder editbugs 2015-01-29 13:35:01 CET
*** Bug 11462 has been marked as a duplicate of this bug. ***
Comment 28 Eric Koegel editbugs 2015-02-09 18:15:51 CET
*** Bug 11499 has been marked as a duplicate of this bug. ***
Comment 29 Eric Koegel editbugs 2015-02-09 19:04:51 CET
(In reply to Matias De lellis from comment #26)
> Hi,
> Your description seems correct. Eric? Ping.. =)
> 
> The commit where the bug is introduced would be this:
> https://github.com/xfce-mirror/xfdesktop/commit/
> f8fc72957dda162d7d310831494a336da849a6c
> 
> Tomorrow I try reverting this commit.
> 
> Regards,
> Thanks for all!.
> 
> Matias


Yeah, I'm thinking the issue it the icons have their locations set and queued in the XfdesktopFileIconManager's xfdesktop_file_icon_manager_add_icon but not getting updated when the screen size change happens. It's probably easier to remove that queue and let the icon view handle that placement. Did you have any luck reverting that commit?
Comment 30 Matias De lellis 2015-02-09 19:34:55 CET
Hi,

> Did you have any luck reverting that commit?

No, the code was changed several times after this commit. I tried to revert all, but at least for me it was impossible. Sorry. :S

> It's probably easier to remove that queue and let the icon view handle that placement.

Please, try it, and tomorrow I will test it extensively!.

Regards,
Matias.
Comment 31 Eric Koegel editbugs 2015-02-15 16:02:51 CET
Created attachment 5942 
0001-Sort-pending-icons-on-resize-Bug-11266

The icon view now emits a resize-event when the grid size changes.
When that happens, the file icon manager will update the pending
icons to their new location based on the cache file it reads from.

Please test this out. It may still run into an issue of not getting
a resize event before it starts adding icons to the icon view.
Comment 32 Matias De lellis 2015-02-15 17:34:11 CET
Hi,
Regarding the patch seems correct, it is a change that I think necessary, (In my taste just missing rename the cache file to contain the grid size instead desktop size).

However, in any case, please leave open the bug!.
It is very difficult to prove, and in the tests that I did, seems to work,. but the bug is very sporadic to ensure on 100% that the patch fix it.
Comment 33 Eric Koegel editbugs 2015-02-16 17:44:48 CET
Thanks for testing. Pushed to master for additional testing/feedback
http://git.xfce.org/xfce/xfdesktop/commit/?id=633eed4cf17491b5853df57e3dd7985a33546198
Comment 34 Simon Steinbeiss editbugs 2015-02-17 14:55:08 CET
*** Bug 11181 has been marked as a duplicate of this bug. ***
Comment 35 Yan Pas 2015-03-04 08:49:23 CET
Hi! Is this fix included to 4.12? Is there a reason for me to update my XFCE to 4.12?
Comment 36 Eric Koegel editbugs 2015-03-04 17:30:43 CET
Yes it has. Well upgrading means your icons should stay where you like them.
Comment 37 Yan Pas 2015-03-04 18:49:06 CET
(In reply to Eric Koegel from comment #36)
> Yes it has. Well upgrading means your icons should stay where you like them.

I have just upgraded to 4.12 and the patch seems to be incorrect. After 3 relogins my icons are mixed again. Also button (don't know how to translate correctly) "reorganise icons" places them behind the desktop (in the left side). Pressing F5 gets them back
Comment 38 flocculant 2015-03-08 11:41:57 CET
(In reply to yanpaso from comment #37)
> (In reply to Eric Koegel from comment #36)
> > Yes it has. Well upgrading means your icons should stay where you like them.
> 
> I have just upgraded to 4.12 and the patch seems to be incorrect. After 3
> relogins my icons are mixed again. Also button (don't know how to translate
> correctly) "reorganise icons" places them behind the desktop (in the left
> side). Pressing F5 gets them back

Thanks for this. Seeing the same here with that.
Comment 39 Thaddaeus Tintenfisch editbugs 2015-03-08 12:10:38 CET
A new fix has been pushed to master. This change prevents that the RC file with the saved icon positions is overwritten while the icons are being restored on session start.

http://git.xfce.org/xfce/xfdesktop/commit/?id=2ad16b8efe9b576b998e442a3c01b9d7c3a91fbb
Comment 40 Martin Spacek 2015-03-08 23:09:44 CET
I'm also having this problem in the latest Xubuntu 14.04. After both logout AND reboot, icon positions are always reset starting from top left. This is worse than it was before some xfdesktop updates that were pushed to Xubuntu a month or two ago (latest version in the repo is 4.11.8-0ubuntu0.1.

Although spatially sorted from top to bottom and left to right from the top left corner, icons are not sorted in alphabetical folder/file order. Their order seems kind of random. I wonder if the row/column indices are getting confused.

I've tried saving/not saving session on logout, clearing sessions, and deleting all .rc files in /.config/xfce4/xfdesktop, to no effect.

Thaddaeus, I built and installed the latest xfdesktop from git (easy as pie, no wild dependencies!), have tested it a bunch, no luck. No matter what I do, icon positions are reset on every logout and every reboot, so it seems your latest patch pushed to master hasn't helped.

$ xfdesktop --version
This is xfdesktop version 4.12.0git-0e4a8ee, running on Xfce 4.10.
Built with GTK+ 2.24.23, linked with GTK+ 2.24.23.
Build options:
    Desktop Menu:        enabled
    Desktop Icons:       enabled
    Desktop File Icons:  enabled


Anything else I can do to help debug?
Comment 41 Yan Pas 2015-03-09 07:43:55 CET
What's about an idea to test xfdesktop 4.8 or 4.10 and then compare with the latest version ans see which pieces of code have been added?
Comment 42 Thaddaeus Tintenfisch editbugs 2015-03-09 10:36:42 CET
Martin, do the icon positions reset after restarting only xfdesktop? Furthermore, please attach the debug output of "xfdesktop --enabel-debug" and your .rc file(s) which are located in ~/.config/xfce4/desktop.
Comment 43 Martin Spacek 2015-03-09 11:23:27 CET
Thaddaeus,

No, icon positions don't reset after restarting only xfdesktop using --quit and then running it again. I ran --enable-debug and got this:

DBG[xfdesktop-common.c:232] xfdesktop_debug_set(): debugging enabled

Is it now logging somewhere?
Comment 44 Martin Spacek 2015-03-09 11:24:58 CET
Created attachment 6059 
mspacek's .rc file

For privacy, file names were replaced with icon* names.
Comment 45 Martin Spacek 2015-03-09 13:18:20 CET
Created attachment 6061 
debug messages

Here are some debug messages that printed to the terminal from which I ran xfdesktop --enable-debug.
Comment 46 Thaddaeus Tintenfisch editbugs 2015-03-10 11:55:44 CET
Does the bug occur if you reduce the amount of desktop icons?

Other than that, we need to obtain the debug log from xfdesktop when initially started. Assuming that you have a default Xubuntu installation, please follow these instructions:

Copy /etc/xdg/xdg-xubuntu/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml to ~/.config/xfce4/xfconf/xfce-perchannel-xml/ and apply the following change:

--- xfce4-session.xml.orig
+++ xfce4-session.xml
@@ -29,6 +29,7 @@
       <property name="Client3_PerScreen" type="bool" value="false"/>
       <property name="Client4_Command" type="array">
         <value type="string" value="xfdesktop"/>
+        <value type="string" value="--enable-debug"/>
       </property>
       <property name="Client4_PerScreen" type="bool" value="false"/>
     </property>

Now relog and attach the output of the filtered session log file:

$ grep DBG ~/.cache/upstart/startxfce4.log
Comment 47 Yan Pas 2015-03-10 13:03:38 CET
Xfdesktop from ppa doesn't decrease amount of icons.
Comment 48 Thaddaeus Tintenfisch editbugs 2015-03-11 14:04:34 CET
yanpaso, I'd like to know if the icon positions still reset after removing some of the desktop icons.
Also, please build xfdesktop from source to test the recently applied fix.
Comment 49 Yan Pas 2015-03-11 19:21:30 CET
Have tested in Virtualbox (xubuntu). Everything was perfect. Icon stayed in their places in every case. In 2-3 days will test it on my main OS and netbook.
Comment 50 Martin Spacek 2015-03-12 06:57:43 CET
Created attachment 6070 
$ grep DBG ~/.cache/upstart/startxfce4.log

Thaddaeus, yes it seems I get the bug no matter how many icons I have on my desktop. OK, I've followed your instructions to enable debugging, moved all my icons into a single folder on the desktop called "stuffs", logged out, logged back in, and grepped the startxfce4.log. Results are attached.
Comment 51 Yan Pas 2015-03-12 23:28:59 CET
Both on desktop and netbook patch seems to be correct. icons are on their place
Comment 52 Thaddaeus Tintenfisch editbugs 2015-03-18 00:42:31 CET
yanpaso, this is good news. Thanks for testing the fix.
Comment 53 Thaddaeus Tintenfisch editbugs 2015-03-18 00:53:42 CET
Martin, before you terminate the session, does the .rc file reflect the current icon positions? Also, make sure that you are running xfdesktop from git master.
Comment 54 Martin Spacek 2015-03-18 03:19:05 CET
Thaddaeus, yes, from what I can tell, the .rc file reflects the current icon positions. In fact, when I log in, to restore positions, I delete the existing file, restore from a backup, run xfdesktop --reload, and icon positions are restored.

Yes, I'm running xfdesktop from git master. I just updated again, recompiled, installed, and logged in and out. Icon positions are still reset on login.
Comment 55 Thaddaeus Tintenfisch editbugs 2015-03-26 13:41:39 CET
Martin, right now I have no clue why it fails in your case. I'll look at restore mechanism again and do some testing.

Is anyone else using 4.12.1 or git master still affected by this bug?
Comment 56 Roberto Nobrega 2015-03-26 17:58:03 CET
Thaddaeus, I'm using xfdesktop 4.12.1 on Arch Linux the bug is still occurring. Please, let me know how can I be of any help.
Comment 57 Martin Spacek 2015-03-26 18:32:06 CET
I just realized, one thing that's different about my setup is that I have my panel along the bottom of the screen, not along the top as per default. Maybe that makes a difference? I have a 1080p screen (1920x1080), the panel height is set to 18 pixels, and my automatically generated .rc file is currently named "icons.screen0-1904x1046.rc". I guess it would make more sense if it had 1902x1080 in the name. Also, I have 2 workspaces. When I have a chance, I'll try and mess with the panel position and workspaces to see if they make a difference for remembering icon positions.
Comment 58 Yan Pas 2015-03-26 22:45:44 CET
I have the panel at bottom and too two workspaces (1 left, 2 right) and I haven't this bug anymore. Maybe you should try creating new user and experimenting in clean configuration workspace?
Comment 59 Martin Spacek 2015-03-27 20:14:25 CET
Created attachment 6134 
DBG messages from main account

I'm stumped. I made a new test account and configured its desktop to be, AFAIK, the same as in my main account (icon size 22 instead of 48 pix, black background, panel bottom of screen, panel height 18 pix). Icon positions for the test account are remembered between logins, but not for my main account.

The only other relevant difference I can think of is that on the test desktop, I only have a few test files and folders with short names. On my main account, I have many more, with longer names. But I controlled for that by sticking all my icons into a single folder and adding a few test icons with short names to the desktop. Still, none of their positions are remembered.

I logged DBG messages from xfdesktop for both accounts. Here is the log for the main account.

Afterwards, I also tried switching the test account to the same theme (Numix), font size (9), compositor setting (disabled), and workspace switching behaviour (no wrap at screen edge) as my main account. Test account continues to remember its icon positions.
Comment 60 Martin Spacek 2015-03-27 20:16:08 CET
Created attachment 6135 
DBG messages for test account (icon positions remembered)

Here is the log for the test account, which remembers icon positions on login/logout.
Comment 61 Martin Spacek 2015-03-27 20:21:04 CET
BTW, this was running off git master as of today:

$ xfdesktop --version
This is xfdesktop version 4.12.0git-b091ec3, running on Xfce 4.10.
Built with GTK+ 2.24.23, linked with GTK+ 2.24.23.
Build options:
    Desktop Menu:        enabled
    Desktop Icons:       enabled
    Desktop File Icons:  enabled

Also, I noticed that the git commit reported by --version isn't updated unless I re-run ./autogen.sh or (probably) ./configure.
Comment 62 Thaddaeus Tintenfisch editbugs 2015-04-01 23:10:55 CEST
Created attachment 6161 
add extra debug output

I guess that adding some extra debug output may help to see if xfdesktop is actually looking for the correct RC file.
The filename contains the size of the work area which may alter during session start, and therefore influence the icon restore mechanism.
Comment 63 k0ste 2015-04-13 05:57:34 CEST
I see last path [http://git.xfce.org/xfce/xfdesktop/commit/?id=2ad16b8efe9b576b998e442a3c01b9d7c3a91fbb] included to 4.12.1, but this version still affected by this bug.
Comment 64 Yan Pas 2015-04-30 21:44:33 CEST
This bug reproduced when I was playing with two monitors. I extended them, then unplugged HDMI, restarted mdm service (display manager) and voila - icons order is wrong.
Comment 65 Thaddaeus Tintenfisch editbugs 2015-05-12 19:13:20 CEST
Alright. The buggy behavior is still not fixed completely.

Can anyone apply the additional change from comment #62 and attach the debug output to this report?
Comment 66 Yan Pas 2015-05-12 19:22:08 CEST
I don't know how to reproduce. Once I faced with it - was changing resolutions and diconnecting two monitors. Maybe it will be easier totally rewrite this fragment?
Comment 67 Fab 2015-07-12 10:37:23 CEST
Created attachment 6384 
xfdesktop-4.12.2 built with --enable-debug=full debug log

(In reply to Thaddaeus Tintenfisch from comment #65)
> Can anyone apply the additional change from comment #62 and attach the debug
> output to this report?

Hi,

I'm using xfdesktop-4.12.2 on gentoo, and some (not all) desktop icons positions are regularly reseted.
I rebuilt xfdesktop-4.12.2 with the patch from comment #62 and the --enable-debug=full configure flag.

Attached file is my ~/.xsession-errors file captured after a session start when desktop icons positions were completly messed up.

At the end you can notice :
> DBG[xfdesktop-icon-view.c:3842] xfdesktop_icon_view_icon_find_position(): old position didn't exist or isn't free, got (1,0) instead
for each icon which was not in its normal position.
Comment 68 Yan Pas 2015-07-21 20:37:44 CEST
Faced after relogging. I may test and attach debug info if there is a need
Comment 69 Yan Pas 2015-07-24 20:25:40 CEST
Created attachment 6395 
4.12.2

Updated to 4.12.2. Now after logging out order stays the same, but icons shrink to stack.
Comment 70 Yan Pas 2015-07-24 22:27:43 CEST
Hmm, reverted to package, which I wa using before, this behavior still goes on. So I guess update to xfce 4.12 is guilty (Mint 17.2) or MDM
Comment 71 jason.braddock.69 2015-08-09 23:13:22 CEST
Hi,
I'm experiencing the problem on Xubuntu 15.04 which comes with Xfce 4.12 (fresh install)
It is very annoying.
If you need any further testing, just ask me I'll be happy to help.

I have no external montor, just laptop screen.
I never change desktop resolution.
I have 40+ icons.
It seems not to happen 100% of the time...

Regards
Comment 72 jason.braddock.69 2015-08-09 23:19:14 CEST
I forgot: it seems the problem happens only on reboot.
When I just log out/log in, icons remain in their position...
Comment 73 Thaddaeus Tintenfisch editbugs 2015-08-10 00:13:09 CEST
Jason, please install and test xfdesktop 4.12.2 from this PPA:

https://launchpad.net/~xubuntu-dev/+archive/ubuntu/xfce-4.12

Xubuntu 15.04 ships with version 4.12.0 which is affected by this bug.
Comment 74 Thaddaeus Tintenfisch editbugs 2015-08-10 00:52:52 CEST
The log file from comment #67 indicates that the icon order can still partially reset with the latest version.

During session start the size of the desktop area may change several times (mainly due to panels being started slowly). However, only the final size is appended to the name of the save file later on.
So, xfdesktop iterates through the desktop files/icons to restore their positions. It tries to find the according save file for the _current_ (maybe temporary) size of the desktop area. This fails for the first few icons, because only a save file for the final size exists.

Sadly, I was not able to work on this yet. It needs to be discussed with Eric also.
Comment 75 Thaddaeus Tintenfisch editbugs 2015-08-10 12:18:35 CEST
*** Bug 12098 has been marked as a duplicate of this bug. ***
Comment 76 jason.braddock.69 2015-08-11 21:21:05 CEST
(In reply to Thaddaeus Tintenfisch from comment #73)
> Jason, please install and test xfdesktop 4.12.2 from this PPA:
> 
> https://launchpad.net/~xubuntu-dev/+archive/ubuntu/xfce-4.12
> 
> Xubuntu 15.04 ships with version 4.12.0 which is affected by this bug.

Hi!

I updated and rebooted a few times.
The bug seems fixed for me, at this time.

If it show again, i'll come back to tell you.

Anyway thanks for your help!
Comment 77 Yan Pas 2015-08-18 14:02:37 CEST
Can't reproduce with this package too. At least this package lessens frequency of this bug
Comment 78 jason.braddock.69 2015-09-02 16:08:21 CEST
(In reply to jason.braddock.69 from comment #76)
> (In reply to Thaddaeus Tintenfisch from comment #73)
> > Jason, please install and test xfdesktop 4.12.2 from this PPA:
> > 
> > https://launchpad.net/~xubuntu-dev/+archive/ubuntu/xfce-4.12
> > 
> > Xubuntu 15.04 ships with version 4.12.0 which is affected by this bug.
> 
> Hi!
> 
> I updated and rebooted a few times.
> The bug seems fixed for me, at this time.
> 
> If it show again, i'll come back to tell you.
> 
> Anyway thanks for your help!

Hi guys,

after a few weeks, I can say that it works most of the time.
Still, sometimes a few icons have their positions reseted... Maybe once a week... seems rare and random...
Comment 79 tps@vr-web.de 2015-09-12 10:25:06 CEST
This bug is not fixed at all. There is a good chance reading icon positions from $HOME/.config/xfce4/desktop.conf is not finished before reading icons from $HOME/Desktop having icons rearrange. There is no locking nothing to make sure the icon positions are known BEFORE starting to read "Desktop".
And if this occurs the icons WILL again rearrange!
It will depend on how many applications you start, on IO-load, what is done in background. Processes reading many small files from disk, like man-page-updates, can trigger it.
A fast look at what the code does made clear: you do not have anything making sure the two threads: read "Desktop", read "Config" are not forced to run after each other. The part positioning the icons isn't locked at all. It will run concurrently to read config if read desktop is finished. It is triggered every time an item is read from read Desktop -- regardless reading configs is ready or not.
Comment 80 jason.braddock.69 2015-09-12 14:00:46 CEST
(In reply to tps@vr-web.de from comment #79)
> This bug is not fixed at all. There is a good chance reading icon positions
> from $HOME/.config/xfce4/desktop.conf is not finished before reading icons
> from $HOME/Desktop having icons rearrange. There is no locking nothing to
> make sure the icon positions are known BEFORE starting to read "Desktop".
> And if this occurs the icons WILL again rearrange!
> It will depend on how many applications you start, on IO-load, what is done
> in background. Processes reading many small files from disk, like
> man-page-updates, can trigger it.
> A fast look at what the code does made clear: you do not have anything
> making sure the two threads: read "Desktop", read "Config" are not forced to
> run after each other. The part positioning the icons isn't locked at all. It
> will run concurrently to read config if read desktop is finished. It is
> triggered every time an item is read from read Desktop -- regardless reading
> configs is ready or not.

Hi,
I don't know the code, so forgive me if I am rude or naive, but why are there two threads if they need to run one after the other?
Shouldn't there be a single thread running things properly?
Regards
Comment 81 rep1 2015-09-23 22:14:03 CEST
(This was already posted mistakenly on launchpad: https://bugs.launchpad.net/ubuntu/+source/xfdesktop4/+bug/1335492/comments/104  )

I struggle with a similar behaviour with xubuntu 15.04, but it might be a different bug related to two monitors with different resolution. Icons cannot be positioned outside of size of the smaller monitor and only on the primary monitor (although this is the larger one). If you change the icon size you can move the icons but there position is lost on log out.

Should I open a seperate ticket?

More details:
With standard settings everything seems to work fine, mirror is activated and I see one desktop on both monitors. Since one montior has a higher resolution the desktop is scaled on this monitor (and it is a bit stretched). Moving icons on seems to work fine. With a fresh user I could reproduce:
* mirrored monitor - everything works
* Display -> uncheck "mirror displays"
* moving icons works only in upper left area of the primary monitor (size of the secondary monitor)
* change Desktop settings -> Icons -> Icon size by any number of pixels, now you can move the icons everywhere
* log out, all icons jump back to positions of before chaning icon size

I use the latest PPA version:

$ xfdesktop --version
This is xfdesktop version 4.12.2, running on Xfce 4.12.
Built with GTK+ 2.24.27, linked with GTK+ 2.24.27.
Build options:
    Desktop Menu: enabled
    Desktop Icons: enabled
    Desktop File Icons: enabled
Comment 82 Yan Pas 2015-11-09 00:45:34 CET
I'm using xubuntu-dev-PPA's version for hlf a year on my Linux Mint 17.2 and the bug was never reproduced. Maybe this fix doesn't fix bug totally, but it's quite good. Will it be pushed to master?
Comment 83 majest 2015-11-19 11:52:34 CET
Hi - is there any update on this issue? I'll be really happy the day I can finally sort out my desktop icons. Thanks all!
Comment 84 Andreas Prieß 2015-12-12 15:12:01 CET
I'm at version
xfce-base/xfdesktop-4.12.3::gentoo
and still my icons are reordered on _every_ login.

Patiently waiting for a fix...
Comment 85 Yan Pas 2016-06-16 13:52:33 CEST
I'm using testing version. Deleteing some icon/item causes xfdesktop to freeze. Is it reproducible with normal xfdesktop? Should I open new bug?
Comment 86 Andreas Prieß 2016-06-16 17:54:42 CEST
Created attachment 6706 
Patch for xfdesktop-file-icon-manager.c in version 4.12.3 (on Gentoo)

Someone already worked out that this is a problem with concurrency. As mentioned before I'm affected on every login with an eight core CPU.

The attached patch handles files in xfdesktop_file_icon_manager_load_desktop_folder() synchronized.

The problem could be solved more elegant, but this fixes the bug for me.
Comment 87 jason.braddock.69 2016-06-16 20:57:17 CEST
There should be only one simple single process and not many complex threads keeping waiting for each other
Comment 88 Christian 2016-07-13 01:35:41 CEST
The files that are created in ~/.config/xfce4/desktop should contain the resolution in the name and not the size of the workarea. At least for me almost every time i rebooted the values of the workarea were a little bit different and so the icons where all rearanged to the top left side.
I changed the source to use screen resolution for the filenames and now its working for me.
So why not using the resolution instead of the work-area size?
Comment 89 Jan Do 2016-07-18 11:23:14 CEST
I can confirm that desktop icons order resets. During relogin. As mentioned by Yan Pas in Comment 8. 

I do not use any graphical login manager. I start xfce by run startxfce4 from xinit script. I have only one rc file in ~/.config/xfce4/desktop according to my screen size.

Problem does not occur:
- after reboot computer and first time login. 
- when I stop and restart xfdesktop (xfdesktop --quit; xfdesktop &)
- when a screen size change.

Problem occurs only when I logout from xfce (AppMenu -> Logout -> Logout) and login again. 

After monitoring the problem I found, that rc  file contains the correct information about icon positions after log out . But after second login this file is rewrited with incorrect one. I have found a workaround - added this script to Application autostart list:


------------------------------------------------
#!/bin/sh

xfdir="/home/username/.config/xfce4"

# save rc files
rm -rf "/tmp/desktop"
cp -fr "$xfdir/desktop" "/tmp"    

# wait xfdesktop starts and rearanges icons
sleep 5                           

# compare saved files with new
cmp="`diff $xfdir/desktop /tmp/desktop`"  #compare 

# if xfdesktop rearrange icons, restore rc files
if [ "$cmp" ]; then
	cp -fr "/tmp/desktop" "$xfdir"
	xfdesktop -R   #refresh desktop
	notify-send "Icons are restored!"
else
	rm -rf /tmp/desktop-icons
fi
------------------------------------------------
Comment 90 Gerold Schellstede 2016-07-29 09:59:51 CEST
I can also confirm this bug. 

"Jan Do wrote:
Problem does not occur:
- after reboot computer and first time login. 
- when I stop and restart xfdesktop (xfdesktop --quit; xfdesktop &)
- when a screen size change."

For me this was true with xfdesktop 4.10.*. 

Nowadays with 4.12.2 or 4.12.3 the problem occurs most of the time also in the "after reboot computer and first time login"-case, while the other two cases mentioned by Jan Do are still not affected. 

Best Regards
Comment 91 Gerold Schellstede 2016-07-29 12:21:43 CEST
@ Andreas Prieß:

Tested your patch with gentoo. Does not work, because of the following error (extracted from xfdesktop-file-icon-manager.patch.out)

PATCH COMMAND:  patch -p0 -g0 -E --no-backup-if-mismatch  --dry-run -f < '/etc/portage/patches//xfce-base/xfdesktop-4.12.3/xfdesktop-file-icon-manager.patch'

=============================================
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- xfdesktop-file-icon-manager.c	2015-05-17 11:16:26.000000000 +0200
|+++ xfdesktop-file-icon-manager.c	2016-04-16 04:22:49.369727370 +0200
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored

Any ideas to solve this?
Comment 92 Andreas Prieß 2016-08-01 14:21:03 CEST
(In reply to Gerold Schellstede from comment #91)

Gentoo only:

> PATCH COMMAND:  patch -p0 -g0 -E --no-backup-if-mismatch  --dry-run -f <
> '/etc/portage/patches//xfce-base/xfdesktop-4.12.3/xfdesktop-file-icon-
> manager.patch'

I've never used custom patches in /etc/portage/patches/..., you probably have to add a path fragment to the patch file in line 1 and 2.

> Any ideas to solve this?

I created a local ebuild at /usr/local/portage/xfce-base/xfdesktop/. Just copy the ebuild xfdesktop-4.12.3.ebuild and the files folder from /usr/portage/xfce-base/xfdesktop/. Create a copy of the ebuild as xfdesktop-4.12.3-r1.ebuild and add the following three lines:

post_src_prepare() {
      epatch "${FILESDIR}/xfdesktop-file-icon-manager.patch"
}

Of course add my patch to the files folder and create the checksums with
$ ebuild xfdesktop-4.12.3-r1.ebuild digest

Then you should be able to
$ emerge --update --ask xfce-base/xfdesktop
Comment 93 Jan Do 2016-08-01 16:26:36 CEST
can somebody confirm. that after logout from xfce. desktop configuration file has correct data about icons position.. and this file changed on xfdesktop init time? you need to disable login manager to access console after logout to check configuration file.
Comment 94 Jan Do 2016-08-01 16:30:28 CEST
can somebody confirm. that after logout from xfce. desktop configuration file has correct data about icons position.. and this file changed on xfdesktop init time? you need to disable login manager to access console after logout.
Comment 95 Gerold Schellstede 2016-08-01 16:45:34 CEST
@ Andreas Prieß:

1) Your were right. The suggested slight changes do the trick and the patch installs. 

2) Unfortunately the patch has no effect at all.


@ Jan Do: I can confirm that.

Best regards
Comment 96 Andreas Prieß 2016-08-01 17:58:10 CEST
(In reply to Gerold Schellstede from comment #95)

> 2) Unfortunately the patch has no effect at all.

Ok, are you sure that xfdesktop is emerged with the patch applied?

If so, I'd guess there is at least one file on the desktop, that wasn't there on logout and therefore the icons are reordered on login. Or somehow the icon positions are rewritten at the wrong time, whatever may trigger that.

IIRC the config file with the icon positions is read repeatedly, once for each icon. So the first icon that does not have a saved position triggers a rewrite and all positions of not yet placed icons are lost and then reordered.

The solution could be to read this file only once at the beginning, so a rewrite does not affect previously known positions...

Could you describe what gets reordered when in your case?
Comment 97 Gerold Schellstede 2016-08-01 20:37:41 CEST
(In reply to Andreas Prieß from comment #96)

Thanks for your answer and time!

> Ok, are you sure that xfdesktop is emerged with the patch applied?

Yes, 100%. Emerge tells me so and after emerging the patched version the xfce-desktop it needs a little more time to load the xfce-session.

> If so, I'd guess there is at least one file on the desktop, that wasn't
> there on logout and therefore the icons are reordered on login. Or somehow
> the icon positions are rewritten at the wrong time, whatever may trigger
> that.

No, the icons never change on this Desktop ;-) After logout, one can login on tty1 and verify that icon-file (~/.config/xfce4/desktop/...) is indeed correct. 

> Could you describe what gets reordered when in your case?

Obviously the things are messed up at starting up the xfce-session. As I wrote before the error occurs with the 4.10 version only when I logout and login afterwards without reboot. With the 4.12 versions it occurs on every login.
Comment 98 Andreas Prieß 2016-08-02 20:42:12 CEST
Created attachment 6763 
Patch for xfdesktop-file-icon-manager.c in version 4.12.3 to read icon positions from open file.

The attached patch adds three methods to replace calls to
xfdesktop_file_icon_manager_get_cached_icon_position().

Before, the file icons.screen-???.rc with the saved icon positions was opened, read and closed for each icon separately. If anything triggered a rewrite of the file, while the icon positions were still read individually, some icon positions were lost.

With my patch the file is only opened once and kept around until all icons have their position set.

This also fixes the bug for me, and it's a better solution too.

@ Gerold Schellstede:

Could you try this patch? Maybe this solves it for you, too...
Comment 99 Gerold Schellstede 2016-08-03 12:21:00 CEST
> @ Gerold Schellstede:
> 
> Could you try this patch? Maybe this solves it for you, too...

1) Installed it and deleted the old icon file, rebooted the machine, sorted the icons, rebooted again --> Icons were on place 

2) Rebooted again, to test it again --> icons were rearranged in wrong order. 

By the way: The problem is not only that icons are rearranged. 

If one uses not the default theme of the mouse-cursor the theme switches sometimes to default, but only on the desktop. If one goes inside a window, e.g. firefox or libreoffice, the non-default theme is shown correctly.

Could this be linked to the other problem or is it a separate one?
Comment 100 Jan Do 2016-08-03 13:15:49 CEST
Andreas Prieß, sorry, i think your patch did wrong thing. Because if your icons are rearranged and you have good copy of icons-rc file. Just replace rearranged icon-rc with copy. and press F5. How can you see icons goes back to right place - it means xfdesktop works without problems. the problem is more GLOBAL. bug can be caused by xfce4-session manager. or elsewhere
Comment 101 Gerold Schellstede 2016-08-31 19:15:12 CEST
I made an eventually interesting observation (I am on gentoo):

I changed more or less accidentally my desktop theme from "Clealooks" as part of the "Clealooks-phenix" package to "Clearlooks" as part from the "mate-themes" package. Thereby I uninstalled the "clearlooks-phenix" and installed the "mate-themes" package.

Since then it works with the icon order. 

So can it be that the theme one uses, is of interest for the occurrence of the bug?

Best regards
Comment 102 Gerold Schellstede 2016-09-09 11:12:35 CEST
I cheered to soon. Today the icon order was wrong again. So forget what I said before.
Comment 103 Ponec 2016-10-21 10:09:02 CEST
I have the same bug for the last 2 years including Xubuntu 16.10: desktop icons are re-arranged after restart. 

My hotfix is an autostarting batch, where the 'backup*' directory contains my original files:

sleep 1
(cd ~/.config/xfce4/desktop/backup-2016-10-20/ && cp *.* ..)
xfdesktop --reload
Comment 104 Ponec 2016-10-21 10:16:23 CEST
The bug is noticeable on two connected monitors only, in my case.
Comment 105 Jan Do 2016-10-21 15:04:31 CEST
Hi Ponec. Can you please try solution script from post 89.
Comment 106 Ponec 2016-10-21 16:06:07 CEST
Hi Jan Do.

Yes, the workaround #89 works well for me, thank you. 
However I'm afraid that the bug discourages many beginners of XFCE.
Comment 107 jason.braddock.69 2016-10-25 22:22:26 CEST
(In reply to Ponec from comment #106)
> Hi Jan Do.
> 
> Yes, the workaround #89 works well for me, thank you. 
> However I'm afraid that the bug discourages many beginners of XFCE.

It discouraged me long time ago...
I left xfce with no regret
Comment 108 Mikhail Kurinnoi 2017-04-18 13:28:58 CEST
Patch from #89 solve issue with desktop icons order reset for me.
Thanks a lot!
Comment 109 Mikhail Kurinnoi 2017-04-18 13:47:15 CEST
Correction. Looks like I still have this issue, but more rarely with #98 patch.
Comment 110 Thomas Haenig 2017-04-25 10:41:45 CEST
problem persists here for xfdesktop 4.12.3 (OpenSuSE Tubleweed)

auditing (summary) shows the following after logon:

lots of reads from /home/thomas/.config/xfce4/desktop/icons.screen0-2544x971.rc
and then suddenly
a create icons.screen0-2544x971.rc.new.16834.tmp
a rename/move icons.screen0-2544x971.rc.new.16834.tmp to icons.screen0-2544x971.rc.new
a rename/move icons.screen0-2544x971.rc.new to icons.screen0-2544x971.rc

everything triggered/done by /usr/bin/xfdesktop (PID=16834)

inode IDs before and after logon differ and the original contents of icons.screen0-2544x971.rc are lost

meanwhile I have already 2 "solutions"

1. (the older one, from/for XFCE 4.10 (see Bug 9192))
- at every shutdown/startup of the machine I create a backup and
- there is a desktop shortcut to restore the last of those backups

2.
- systemd service looking for greeter process => removes all write permissions for .config/xfce4/desktop/ folder
- autostart script which 60 seconds after logon adds write permission for .config/xfce4/desktop/ folder
- obsoletes backup/restore

For me THE question is/remains, why at all has the positions file to be written to at logon/startup?

As it happens this seems not to be necessary, as my "solution" 2 shows.
Comment 111 Underpass 2018-07-10 10:47:32 CEST
Hello, I've never had any problem in XFCE desktop I bought a new computer some days ago and I've starting to experience this bug.
Is it solved in version 4.14?
Is it going to be solved someday? Is there anyone working on it?
Is there a "full functional" workaround? The most common "solution" (so to speak) I've read about is giving 

sudo chattr -i ~/.config/xfce4/desktop/icons*

Thanks.
Comment 112 jason.braddock.69 2018-07-15 23:08:18 CEST
Hi underpass, the only workaround i found yet is to use gnome desktop
Comment 113 Miloš Pavlović 2018-08-31 15:48:50 CEST
Installed xubuntu 18.04 updated and the icons moved here and then.
The rc files in $HOME/.config/xfce4/desktop/ directory are created only when the icons move.

I thought that having all those rc files must have borked something, so I made a script that launches on startup that keeps only the latest icons*rc and removes all the other rc files. https://pastebin.com/0HFjZrGi
The script requires inotify-tools package installed and notify-send (to keep track on when the icon positions are saved).

The icons do seem to stay on login/logout, except the Trash that want's to stay in the top-left corner. Sometimes even File System and Home icons move too. They are managed by xfconf, maybe that's why their position is being reset. So I turned them off. If I need them, I can make a desktop file that launches thunar with those paths can replace them.

Now the icons do move if the panel is resized and then logout is made after that.
As soon as the panel is resized, it sets the new panel strut. That triggers a change of _NET_WORKAREA of the root window property, but if the icons are not moved a new rc file will not be created. That is when the icons reset their position on login.
Comment 114 Miloš Pavlović 2018-09-25 12:42:32 CEST
This works for me:
The first script is set to autostart on login.
The second one is used for logout / reboot.

https://forum.xfce.org/viewtopic.php?pid=49764#p49764

The first script waits untill all the the panels are in the window stack, then sets the folder permissions of .config/xfce/desktop to 755. It also removes all but the latest rc file when a new rc is created in the folder. Requires inotify-tools to monitor when the rc files are created.

The second script opens a yad dialog and sets the folder permissions of .config/xfce/desktop to non-writable when logout / shutdown / restart is selected. Requires yad.
Comment 115 Bakhelit 2018-11-06 01:41:16 CET
I just use the following workaround:

1. Move the file with desired desktop icons positions to "/etc/xdg/xfce4/desktop/icons.screen0.rc".

2. Create a new desktop file in "/etc/xdg/autostart" that deletes "/home/USERNAME/.config/xfce4/desktop" and reloads the xfdesktop - it has the following contents (use your user name instead of USERNAME and adapt the sleep interval if needed):

[Desktop Entry]
Exec=bash -c 'sleep 3 && rm -rf /home/USERNAME/.config/xfce4/desktop && xfdesktop --reload'
Name=Xfdesktop Reload
Terminal=false
Type=Application
StartupNotify=false

This restores my desired desktop icons positions on every login to XFCE. Note that when you want to rearrange your icons you need to update the "/etc/xdg/xfce4/desktop/icons.screen0.rc" file manually.
Comment 116 alexxcons editbugs 2018-12-06 12:17:46 CET
*** Bug 14031 has been marked as a duplicate of this bug. ***
Comment 117 alexxcons editbugs 2018-12-17 23:18:39 CET
Actually this bug seems to be easy to reproduce:

1. Adjust the colum-size of the panel to something odd
2. Logout
3. Login
---> All Icon-Posotions will reset

If you already have profiles for all possible free-screen-size combinations, delete some of the configs in ".config/xfce4/desktop," to make the bug happen again.

IMO one aspect which makes thing over-complex is, that profiles are saved per free-screen-size in .config/xfce4/desktop, instead of saving them per display-configuration (monitor setup and resolution).

IMO not good to make smart decisions for the user when only free-screen-size changes ... the user can re-sort desktop items on its own on things like panel-size change.

Hope I will find some time to work on this bug soon.
Comment 118 Andre Miranda editbugs 2018-12-19 04:22:35 CET
@alexxcons the patch proposed in Bug 14979 might help or worsen this one.
Comment 119 Underpass 2019-04-09 11:14:04 CEST
Hello, I've tested the xfdesktop 4.13.3 on Debian Testing (installed from the Experimental repository) and the problem is still there, exactly the same as in 4.12.
Any chance to have it solved in version 4.14? Sorry, I'm no coder so I can't be of much help here.
Comment 120 alexxcons editbugs 2019-04-27 00:42:52 CEST
Created attachment 8463 
patch to add symlink to the latest working config, used as fallback

(In reply to Underpass from comment #119)
> Any chance to have it solved in version 4.14?

Here we go.

One concrete problem is, that opening the setting menu of the panel will add one extra pixel to the panel(some border showing the focus). That will change the size of space available for xfdesktop.
If the desktop is saved now, it will be e.g. saved as  icons.screen0-1366x701.rc

After a logout + relogin the panel will not have this extra-pixel. So xfdesktop searches for icons.screen0-1366x700.rc  ... possibly does not exist --> Fallback to just place all icons in a line.

The attached patch will always create a symlink "icons.screen.last.rc" on save, pointing to the current *.rc  file, whenever a new .rc file is written.

This fix cures the symptoms. IMO should be fine for 4.14 .. however later on I would start to work on the actual problem, which is, that xfdesktop does not use the whole screen, but only the workarea.  (Another logical error is, that the icon size is not saved in the .rc file, together with the grid, but somewhere else, independently)
Comment 121 alexxcons editbugs 2019-04-27 06:34:12 CEST
Created attachment 8464 
patch to add symlink to the latest working config, used as fallback

forgot to unlink existing links before adding link
Comment 122 Christian 2019-04-27 11:41:12 CEST
(In reply to alexxcons from comment #120)
> Created attachment 8463 
> patch to add symlink to the latest working config, used as fallback
> 
> (In reply to Underpass from comment #119)
> > Any chance to have it solved in version 4.14?
> 
> Here we go.
> 
> One concrete problem is, that opening the setting menu of the panel will add
> one extra pixel to the panel(some border showing the focus). That will
> change the size of space available for xfdesktop.
> If the desktop is saved now, it will be e.g. saved as 
> icons.screen0-1366x701.rc
> 
> After a logout + relogin the panel will not have this extra-pixel. So
> xfdesktop searches for icons.screen0-1366x700.rc  ... possibly does not
> exist --> Fallback to just place all icons in a line.
> 
> The attached patch will always create a symlink "icons.screen.last.rc" on
> save, pointing to the current *.rc  file, whenever a new .rc file is written.
> 
> This fix cures the symptoms. IMO should be fine for 4.14 .. however later on
> I would start to work on the actual problem, which is, that xfdesktop does
> not use the whole screen, but only the workarea.  (Another logical error is,
> that the icon size is not saved in the .rc file, together with the grid, but
> somewhere else, independently)

as i said in comment #88 why using the workarea instead of the whole screen
Comment 123 alexxcons editbugs 2019-04-30 22:26:00 CEST
> as i said in comment #88 why using the workarea instead of the whole screen
After some thinking on your proposal, I have to say: Its complicated.
One problem is, that xfdesktop currently has no support for multiple screens. The "screen0" in the name of the *.rc file currently is just hardcoded, whereas the workarea describes the free area among all attached screens. (So the current screen0 actually is a lie)

Just changing the filename to screen res. for most users might be sufficient. However e.g. if you have a laptop with docking station, you might actually want to use two configurations, with and without extra screen, currently resulting in two *.rc files.

Following your proposal, If you name the file like the first screen, than there will be only one file. A solution could be to put the res. of all available screens into the filename ... but that looks like an ugly workaround for me.

IMO much better would be to have one file per screen, named something like "monitor id"."screen resolution".rc
Each of these files could than consist as well background image info, icon size, etc.
However that would be a bigger change. I opened a seperate bug for that: bug #15344 . Will  try to work on it when I have time.
Comment 124 alexxcons editbugs 2019-04-30 22:57:49 CEST
Created attachment 8467 
same patch for the xfce-4.12 branch

Attached the same patch for the xfce 4.12 branch (the original patch refuses to be applied there)

Please test it, if you can. I would like to push it soon.
Comment 125 Simon Steinbeiss editbugs 2019-04-30 23:13:55 CEST
I think "last" is misleading in the filename, I'd personally go with "latest".
Other than that, this looks very non-intrusive.

Not sure which problems it fixes exactly because this bugreport is blown way out of proportion and it's impossible to read and understand it all (and to be sure that it's really about *one* bug). But if you have good experiences I guess/hope it won't hurt :)
Comment 126 Miloš Pavlović 2019-05-01 13:55:21 CEST
It's not only one bug. :)
The icons reposition in other cases.
The rc config file is created only after the icons are moved.
If you resize the panel just a few pixels close the panel settings
and logout the icons will move because their position isn't saved.

Another one is the Trash icon that moves to the upper left corner.
And sometimes File System and Home icon position resets.
But I think that those three icons are handled by Xfconf.
Comment 127 alexxcons editbugs 2019-05-01 22:54:03 CEST
I just tried to fix the most critical case, in which all icons reset to default position (since no rc config matching the current workarea is found )

(In reply to Miloš Pavlović from comment #126)
> The rc config file is created only after the icons are moved.
> If you resize the panel just a few pixels close the panel settings
> and logout the icons will move because their position isn't saved.

This case should be fixed now. Since now the symlink will be used as fallback.

> Another one is the Trash icon that moves to the upper left corner.
> And sometimes File System and Home icon position resets.
> But I think that those three icons are handled by Xfconf.

I did not look into that so far .. should be reported as separate bug, if it is still a problem. This bug is already much too long.
Comment 128 Linuxfreak 2019-05-02 10:28:15 CEST
Hi Alex,

This desktop icons order resets problem is also present now at Manjaro.


regards LF

inxi -Fxzc0
System: Host: dolphin Kernel: 5.0.10-2-MANJARO x86_64 bits: 64 compiler: gcc v: 8.3.0 Desktop: Xfce 4.13.3git-UNKNOWN
Distro: Manjaro Linux


xfdesktop --version
Dieses ist xfdesktop Version 4.13.3git-UNKNOWN, auf Xfce 4.13.
Erstellt mit GTK+ 3.24.7, verknüpft mit GTK+ 3.24.8.
Optionen bei der Erstellung:
Schreibtischmenü: aktiviert
Schreibtischsymbole: aktiviert
Schreibtischdateisymbole: aktiviert

pacman -Si xfwm4

Repository      : extra
Name            : xfwm4
Version         : 4.12.5-1
Description     : Xfce window manager
Architecture    : x86_64
URL             : http://www.xfce.org/
Licenses        : GPL2
Groups          : xfce4
Provides        : None
Depends On      : libxfce4ui  libwnck  libdrm  hicolor-icon-theme
Optional Deps   : None
Conflicts With  : None
Replaces        : None
Download Size   : 491.47 KiB
Installed Size  : 2028.00 KiB
Packager        : Evangelos Foutras <evangelosNOSPAMfoutrelis.com>
Build Date      : Sun Jul 29 15:24:36 2018
Validated By    : MD5 Sum  SHA-256 Sum  Signature

xfwm4 --version
This is xfwm4 version 4.13.1git.UNKNOWN (revision UNKNOWN) for Xfce 4.13
Released under the terms of the GNU General Public License.
Compiled against GTK+-3.24.5, using GTK+-3.24.8.

Build configuration and supported features:
- Startup notification support:                 Yes
- XSync support:                                Yes
- Render support:                               Yes
- Xrandr support:                               Yes
- Xpresent support:                             Yes
- Embedded compositor:                          Yes
- Epoxy support:                                Yes
- KDE systray proxy (deprecated):               No
Comment 129 Linuxfreak 2019-05-02 10:30:20 CEST
Hi Alex,

This desktop icons order resets problem is also present now at Manjaro.
(Funny is that there are different versions of xfce?)

regards LF

inxi -Fxzc0
System: Host:  Kernel: 5.0.10-2-MANJARO x86_64 bits: 64 compiler: gcc v: 8.3.0 Desktop: Xfce 4.13.3git-UNKNOWN
Distro: Manjaro Linux


xfdesktop --version
Dieses ist xfdesktop Version 4.13.3git-UNKNOWN, auf Xfce 4.13.
Erstellt mit GTK+ 3.24.7, verknüpft mit GTK+ 3.24.8.
Optionen bei der Erstellung:
Schreibtischmenü: aktiviert
Schreibtischsymbole: aktiviert
Schreibtischdateisymbole: aktiviert

pacman -Si xfwm4

Repository      : extra
Name            : xfwm4
Version         : 4.12.5-1
Description     : Xfce window manager
Architecture    : x86_64
URL             : http://www.xfce.org/
Licenses        : GPL2
Groups          : xfce4
Provides        : None
Depends On      : libxfce4ui  libwnck  libdrm  hicolor-icon-theme
Optional Deps   : None
Conflicts With  : None
Replaces        : None
Download Size   : 491.47 KiB
Installed Size  : 2028.00 KiB
Packager        : Evangelos Foutras <evangelosNOSPAMfoutrelis.com>
Build Date      : Sun Jul 29 15:24:36 2018
Validated By    : MD5 Sum  SHA-256 Sum  Signature

xfwm4 --version
This is xfwm4 version 4.13.1git.UNKNOWN (revision UNKNOWN) for Xfce 4.13
Released under the terms of the GNU General Public License.
Compiled against GTK+-3.24.5, using GTK+-3.24.8.

Build configuration and supported features:
- Startup notification support:                 Yes
- XSync support:                                Yes
- Render support:                               Yes
- Xrandr support:                               Yes
- Xpresent support:                             Yes
- Embedded compositor:                          Yes
- Epoxy support:                                Yes
- KDE systray proxy (deprecated):               No
Comment 130 Linuxfreak 2019-05-02 10:50:55 CEST
Can i also add the 4.12 patch to 4.13 ? I have listed different versions of xfce?? So one or more  --version commands must be wrong ?
Comment 131 alexxcons editbugs 2019-05-02 11:01:45 CEST
Check the attachments, there is one patch for "master", which is the one you want for 4.13:
https://bugzilla.xfce.org/attachment.cgi?id=8464
An on for the "xfce-4.12" branch:
https://bugzilla.xfce.org/attachment.cgi?id=8467

They do the same thing .. the one for master just did not apply properly for the 4.12 branch for some reason.
Comment 132 alexxcons editbugs 2019-05-02 11:13:58 CEST
Created attachment 8473 
patch for master (add symlink to latest)

Modified patches to use "latest" instead of "last", like proposed by Simon.
Comment 133 alexxcons editbugs 2019-05-02 11:14:29 CEST
Created attachment 8474 
patch for xfce-4.12 (add symlink to latest)
Comment 134 Git Bot editbugs 2019-05-02 21:09:12 CEST
Alexander Schwinn referenced this bugreport in commit 399090b197aee2cd98e3ba5c49a56632dd388eb8

Desktop icons order resets (Bug #11266) - Added link to last used configuration as fallback

https://git.xfce.org/xfce/xfdesktop/commit?id=399090b197aee2cd98e3ba5c49a56632dd388eb8
Comment 135 Git Bot editbugs 2019-05-02 21:11:26 CEST
Alexander Schwinn referenced this bugreport in commit e8bf69ddd4bb7099cdb389ac6715c097b50d43aa

Desktop icons order resets (Bug #11266) - Added link to last used configuration as fallback

https://git.xfce.org/xfce/xfdesktop/commit?id=e8bf69ddd4bb7099cdb389ac6715c097b50d43aa
Comment 136 alexxcons editbugs 2019-05-02 21:14:32 CEST
Pushed to master and 4.12 branch, to be released in 4.13.4 and 4.12.5 soon.

Bug #11266

Reported by:
Yan Pas
Reported on: 2014-11-01
Last modified on: 2020-02-29
Duplicates (6):
  • 11181 [bug] Desktop icons get reordered after restart
  • 11194 Icons order resets
  • 11462 Xfce-Desktop looses icon positions at startup
  • 11499 At every boot the icons on the desktop get re-arranged
  • 12098 Xubuntu 14.04: desktop icons keep rearranging themselves
  • 14031 XFCE - loosing arrangement of desktop icons after 9-10 boots

People

Assignee:
alexxcons
CC List:
28 users

Version

Version:
4.11.8

Attachments

icon bug (26.03 KB, image/png)
2014-12-10 10:54 CET , Yan Pas
no flags
Bug again (236.17 KB, image/png)
2014-12-10 11:18 CET , Yan Pas
no flags
0001-Sort-pending-icons-on-resize-Bug-11266 (10.54 KB, patch)
2015-02-15 16:02 CET , Eric Koegel
no flags
mspacek's .rc file (1.05 KB, application/octet-stream)
2015-03-09 11:24 CET , Martin Spacek
no flags
debug messages (4.94 KB, text/plain)
2015-03-09 13:18 CET , Martin Spacek
no flags
$ grep DBG ~/.cache/upstart/startxfce4.log (4.30 KB, text/x-log)
2015-03-12 06:57 CET , Martin Spacek
no flags
DBG messages from main account (7.25 KB, text/x-log)
2015-03-27 20:14 CET , Martin Spacek
no flags
DBG messages for test account (icon positions remembered) (9.07 KB, text/x-log)
2015-03-27 20:16 CET , Martin Spacek
no flags
add extra debug output (613 bytes, patch)
2015-04-01 23:10 CEST , Thaddaeus Tintenfisch
no flags
xfdesktop-4.12.2 built with --enable-debug=full debug log (50.00 KB, text/plain)
2015-07-12 10:37 CEST , Fab
no flags
4.12.2 (168.08 KB, image/png)
2015-07-24 20:25 CEST , Yan Pas
no flags
Patch for xfdesktop-file-icon-manager.c in version 4.12.3 (on Gentoo) (7.25 KB, patch)
2016-06-16 17:54 CEST , Andreas Prieß
no flags
Patch for xfdesktop-file-icon-manager.c in version 4.12.3 to read icon positions from open file. (6.24 KB, patch)
2016-08-02 20:42 CEST , Andreas Prieß
no flags
patch to add symlink to the latest working config, used as fallback (2.08 KB, patch)
2019-04-27 00:42 CEST , alexxcons
no flags
patch to add symlink to the latest working config, used as fallback (2.12 KB, patch)
2019-04-27 06:34 CEST , alexxcons
no flags
same patch for the xfce-4.12 branch (2.13 KB, patch)
2019-04-30 22:57 CEST , alexxcons
no flags
patch for master (add symlink to latest) (2.12 KB, patch)
2019-05-02 11:13 CEST , alexxcons
no flags
patch for xfce-4.12 (add symlink to latest) (2.13 KB, patch)
2019-05-02 11:14 CEST , alexxcons
no flags

Additional information