Desktop icons order resets if there is an equal number of icons in any two or more columns. version 4.11.8-0ubuntu0.1
*** Bug 11194 has been marked as a duplicate of this bug. ***
Does this bug occurs on your desktop?
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!
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)
Is there a way to make united .rc file for all resolutions?
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).
(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.
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
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
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.
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.
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
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?.
I will try to compile and will be watching bug
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.
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.. ;)
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?
> 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.
Created attachment 5813 [details] 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
Created attachment 5814 [details] 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.
Ohh.. Ok. :( Yesterday also happened to me. I will continue investigating. Regards.
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
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.
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 ...
Nice to hear that reason has been found! Waiting for fix ^^
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
*** Bug 11462 has been marked as a duplicate of this bug. ***
*** Bug 11499 has been marked as a duplicate of this bug. ***
(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?
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.
Created attachment 5942 [details] 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.
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.
Thanks for testing. Pushed to master for additional testing/feedback http://git.xfce.org/xfce/xfdesktop/commit/?id=633eed4cf17491b5853df57e3dd7985a33546198
*** Bug 11181 has been marked as a duplicate of this bug. ***
Hi! Is this fix included to 4.12? Is there a reason for me to update my XFCE to 4.12?
Yes it has. Well upgrading means your icons should stay where you like them.
(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
(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.
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
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?
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?
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.
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?
Created attachment 6059 [details] mspacek's .rc file For privacy, file names were replaced with icon* names.
Created attachment 6061 [details] debug messages Here are some debug messages that printed to the terminal from which I ran xfdesktop --enable-debug.
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
Xfdesktop from ppa doesn't decrease amount of icons.
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.
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.
Created attachment 6070 [details] $ 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.
Both on desktop and netbook patch seems to be correct. icons are on their place
yanpaso, this is good news. Thanks for testing the fix.
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.
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.
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?
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.
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.
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?
Created attachment 6134 [details] 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.
Created attachment 6135 [details] DBG messages for test account (icon positions remembered) Here is the log for the test account, which remembers icon positions on login/logout.
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.
Created attachment 6161 [details] 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.
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.
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.
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?
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?
Created attachment 6384 [details] 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.
Faced after relogging. I may test and attach debug info if there is a need
Created attachment 6395 [details] 4.12.2 Updated to 4.12.2. Now after logging out order stays the same, but icons shrink to stack.
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
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
I forgot: it seems the problem happens only on reboot. When I just log out/log in, icons remain in their position...
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.
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.
*** Bug 12098 has been marked as a duplicate of this bug. ***
(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!
Can't reproduce with this package too. At least this package lessens frequency of this bug
(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...
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.
(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
(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
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?
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!
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...
I'm using testing version. Deleteing some icon/item causes xfdesktop to freeze. Is it reproducible with normal xfdesktop? Should I open new bug?
Created attachment 6706 [details] 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.
There should be only one simple single process and not many complex threads keeping waiting for each other
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?
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 ------------------------------------------------
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
@ 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?
(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
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.
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.
@ 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
(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?
(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.
Created attachment 6763 [details] 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...
> @ 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?
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
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
I cheered to soon. Today the icon order was wrong again. So forget what I said before.
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
The bug is noticeable on two connected monitors only, in my case.
Hi Ponec. Can you please try solution script from post 89.
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.
(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
Patch from #89 solve issue with desktop icons order reset for me. Thanks a lot!
Correction. Looks like I still have this issue, but more rarely with #98 patch.
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.