Icon issues when saving, remastering.

Using applications, configuring, problems
Post Reply
Message
Author
User avatar
tallboy
Posts: 1760
Joined: Tue 21 Sep 2010, 21:56
Location: Drøbak, Norway

Icon issues when saving, remastering.

#1 Post by tallboy »

I have modified my dpup_485 with some new icon themes and their matching pixmaps, and after making my desktop look nice and saving all on closing my live-cd, the icons were as usual all over the place after next bootup, and the deleted ones also popped up again. I was careful to read some threads here in the forum beforehand, so I thought everything should be OK, but no. :cry:

I made a search in my dpup for 'globicons', and came up with quite a lot of them, they are in both /root/.config and /root/Choises, and also both places in /initrd/pup_ro1 and /initrd/pup_ro2, and they are all different in size and order! I list only some here:
  • root/Choices/ROX-Filer/globicons: 141 lines
  • /root/.config/rox.sourceforge.net/ROX-Filer/globicons: 141 lines, but not in the same order as the one above, grew to 150 lines after saving and rebooting! Brilliant!
  • /initrd/pup_ro1/root/.config/rox.sourceforge.net/ROX-Filer/globicons: 231 lines
  • /initrd/pup_ro2/root/.config/rox.sourceforge.net/ROX-Filer/globicons: 183 lines
So, which ones can be edited or deleted? According to the ROX manual, the use of /root/Choises is the old path, and the new correct path should be /root/.config/rox.sourceforge.net/ROX-Filer/globicons.

Are any one of them supposed to be updated automatically, like PuppyPin?

I saw mentioned in an earlier thread that 'globicons' in /root/Choises and /root/.config were hardlinked, but that cannot be the case here, as they are different. Are there differences between the puppies, what is correct?

Regarding /root/Choices/ROX-Filer/PuppyPin, it updates automatically when an icon is added or removed, also see old thread http://www.murga-linux.com/puppy/viewtopic.php?p=377841, on how to prevent deleted icons (like 'save') to pop up again after reboot, by editing /etc/rc.d/rc.sysinit. Hardcoding a position for the 'save' icon on the desktop is not very smart...

There are also PuppyPin files in /opt/PinBoard/, I guess they have something to do with going back to a normal desktop after using 'wbar', the problem is they contain all those files that were deleted from the other PuppyPin file in /root/Choises. How come?

What happens after a change of screen reolution, will remastering or saving with a new resolution make the icons go bananas again, and which files are read after bootup?

I have run the commands 'fixmenus' and 'fixPuppyPin' after my changes, and after that a USB-stick would not show on the desktop when i connected it, but that situation corrected itself after reboot, are there other commands that should be used?

This is a theme that come up now and then, are there other trix and tips that should be observed when modifying the icons? I would be happy if an expert could enlighten me/us on the subject of icon handling.

tallboy

User avatar
saintless
Posts: 3862
Joined: Sat 11 Jun 2011, 13:43
Location: Bulgaria

#2 Post by saintless »

Have a look here and see if this helps to sort out your icon issue:
http://puppylinux.info/topic/remastering-cd

User avatar
tallboy
Posts: 1760
Joined: Tue 21 Sep 2010, 21:56
Location: Drøbak, Norway

#3 Post by tallboy »

Hi saintless, no, unfortunately not, not much help in that thread.

I have remastered all my puppies several times each, so I am familiar with the process, but I have not once succeded in making a puppy that had all it's icons in the right place at first bootup.

I know how to mask the symptoms, what I need to do is to make a cure. What I am really asking about, is an understanding of the processes behind 'globicons'. The different puppy versions were made by members of this forum, so I would guess that at least one of them should know how the icons work when using JWM and ROX! Or at least be able to steer me in the right direction...

tallboy

stu90

#4 Post by stu90 »

It has been quite some time since i remasterd puppy with the built in remaster tool but some where along the process it should pause and ask you if you want to make some manual changes? Te file structure for the remasterd ISO will be in your /tmp directory - if i recall your /root and /etc directories are not copied into the new ISO i think this is so you don't end up having personal files and information in an ISO you might share with others. If you are just wanting the new ISO for personal use then copy over the /root and /etc directories to the new ISO file tree in /tmp
Regarding desktop icons - they are controlled by the file /root/Choices/ROX-Filer/PuppyPin if you don't copy this file over to the new ISO during the remaster it will just use the default puppy /root/Choices/ROX-Filer/PuppyPin file.
Also worth checking in the remasterd ISO file tree the directory /usr/local/lib/X11/pixmaps to see if it is using the icon them you want as these are the icons that will be used on the desktop etc, if not just copy the /usr/local/lib/X11/pixmaps directory from your running puppy.

User avatar
tallboy
Posts: 1760
Joined: Tue 21 Sep 2010, 21:56
Location: Drøbak, Norway

#5 Post by tallboy »

Hi stu90, I have unsuccessfully edited the files when remastering, the last time I thought everything was fine, and I got all the new pixmaps with the new theme, but strewn all over the desktop!
I can illustrate the problem better by letting you view the result of 'find', as you'll see there are not many linked versions of these files, so the question is; why so many, and which of them are used in what processes?

tallboy
Attachments
consolepic_find-result.jpg
(191.39 KiB) Downloaded 382 times

npierce
Posts: 858
Joined: Tue 29 Dec 2009, 01:40

#6 Post by npierce »

tallboy wrote:why so many, and which of them are used in what processes?
Short answer:

These are the files that ROX-Filer prefers to read and update:

/root/.config/rox.sourceforge.net/ROX-Filer/globicons
/root/Choices/ROX-Filer/PuppyPin


Long answer:

First of all, you can ignore all of the globicons and PuppyPin files that you see under the /initrd/ directory. ROX-Filer doesn't use that path. Those are layers of Puppy's layered filesystem. Although, as you have noticed, they are not linked with a conventional hard link or symbolic link, some are indeed connected to the globicons and PuppyPin files that you see listed in other directories while others are hidden by higher layers.

For instance, consider these three files from your attached image:

/initrd/pup_rw/root/.config/rox.sourceforge.net/ROX-Filer/globicons
/initrd/pup_ro1/root/.config/rox.sourceforge.net/ROX-Filer/globicons
/initrd/pup_ro2/root/.config/rox.sourceforge.net/ROX-Filer/globicons

The bottom file came from the puppy .sfs file on the .iso image.
The middle file came from your save file and hides the lower file.
The top file contains a recent change and hides both of the lower files.

You will note that the top file matches /root/.config/rox.sourceforge.net/ROX-Filer/globicons, because it is in fact the same file.

(For an overview of Puppy's layered filesystem, see How Puppy works and search for "Architecture Overview".)


Now for the other files . . .

As you have discovered, /root/Choices/ROX-Filer/globicons was the location of globicons in early versions of ROX-Filer, but has been replaced by /root/.config/rox.sourceforge.net/ROX-Filer/globicons. However, for backwards compatibility, if ROX-Filer cannot find globicons at the new location, it will look at the old location and load data from that file. When it updates the file it will write it to the new location.

Some (perhaps all?) Puppies do not come with a file at the new location, only the old. (This is the case for Racy 5.2.2, which I am currently running.) Once the icons are updated, which happens when Puppy adds the icons for the disk drives, the new information is saved at the new location. The same is true when a user makes manual changes. The file at the old location remains untouched.

Why not just use the new location? I don't know. Perhaps it is useful to keep a pristine copy of the original file without the drive icons. More likely this is simply unchanged from the days when Puppy used earlier versions of ROX-Filer. It works, and as the saying goes, "If it ain't broke, don't fix it."

Note that when there are files at both the old and new locations, the file at the new location is used.


I don't know what uses /tmp/PuppyPin.


/tmp/PuppyPin-CPY is a temporary file used by rc.sysinit to add a "save" icon to PuppyPin for saving session to DVD or flash drive. You can ignore it.


I don't know what uses the various PuppyPin-clean, PuppyPin-nowbar, and PuppyPin-wbar files. Your guess that "they have something to do with going back to a normal desktop after using 'wbar'" is sounds like a good guess.

User avatar
tallboy
Posts: 1760
Joined: Tue 21 Sep 2010, 21:56
Location: Drøbak, Norway

#7 Post by tallboy »

Thank you, npierce.
I have read through some scripts (for example rc.d/rc.sysinit), and discovered that the /tmp-files are used to ensure that icons and a save-button are available when booted from a flash-drive. I cannot really see the reason for hard-coding a position, unless it was intended for 640x480 screen resolution...
Those lines are commented out now.

What still confuses me is why the files are different, had the globicons files been connected to a specific icon theme or setup, it would be a logical explanation. Well, as it is, I will try to syncronize the files' content (apart fron those in initrd, of course), and see if they change during the remastering/first boot process. As I wrote, the fact that one globicon file grew after bootup made me really wonder; WTF!

tallboy

npierce
Posts: 858
Joined: Tue 29 Dec 2009, 01:40

#8 Post by npierce »

tallboy wrote:As I wrote, the fact that one globicon file grew after bootup made me really wonder . . .
tallboy wrote:
  • root/Choices/ROX-Filer/globicons: 141 lines
  • /root/.config/rox.sourceforge.net/ROX-Filer/globicons: 141 lines, but not in the same order as the one above, grew to 150 lines after saving and rebooting! Brilliant!
The /root/Choices/ROX-Filer/globicons file that comes with Puppies I have used doesn't have icons for disk drives, since the drives will vary from PC to PC. Those icons are added to the pinboard after booting, and saved in the /root/.config/rox.sourceforge.net/ROX-Filer/globicons file.

Since each rule adds three lines to the file, a PC with three drives will cause nine lines to be added to the file. 141 + 9 = 150.
tallboy wrote:. . . are there other trix and tips that should be observed when modifying the icons?
Yes. Be aware that the "lock" icon is special. It will always be moved to the right edge of the screen by fixPuppyPin. And any icons which have the exact same X coordinate as "lock" will also be moved to the right edge of the screen. (By default, in the Puppies I have used, these are the "zip" and "trash" icons. But, of course, if you have moved other icons into the same column as the "lock" icon, those icons will be the ones that are moved.)

(By the way, it looks like it is fixPuppyPin that creates the temporary /tmp/PuppyPin file. That file can also be ignored.)

User avatar
tallboy
Posts: 1760
Joined: Tue 21 Sep 2010, 21:56
Location: Drøbak, Norway

#9 Post by tallboy »

npierce, I followed your advice and revisited the link to the Puppy layered filesystem, it has been a long time since last time I read it. If I understand correctly, the last session's icons are supposed to be stored in layer 1 or 2 (don't remember - doesn't matter which one), and they are also copied to and from respective /tmp in the initrd files as part of some internal processes. In theory it sounds great, but I think there are some glitches, because I cannot see any changes to the files between sessions. I run a live-dvd, so it's easy to power off if somthing happens to my setup. I copied the globicons from .config to Choises, and I suddenly got a lot of new identical inodes, they also changed in the /initrd/pup_rw directory, which - according to the text in your link - is a copy of the current root directory. I made a screeshot of the changes, but silly me lost it when I rebooted. After reboot the old-old backgroundpicture and some of the icons appeared, some were only orange triangles - a big mess.

What you say about the save, trash and zip icons is very interesting, so I took a peek at the /usr/sbin/fixPuppyPin script. It says it originally was a workaround for dual monitors, I really don't see why that script exists when you have a single monitor setup, like most of us do, so I think I'll just delete the script.

Code: Select all

#find out current right side in PuppyPin...
 RIGHTX=`grep 'Xlock' $PUPPYPIN | cut -f 2 -d '"'` #'Geany fix
#all icons on right side of screen will be relocated to correct right side...
NEWRIGHTX=`expr $SCREENX - 32
My biggest problem is that the save icon often places itself almost in the middle of the screen. I have now placed a save icon just above the time/calendar in the lower righthand corner, and it seems to stay put now. I commented out some 20 lines of code in the /etc/rc.d/rc.sysinit file, at about lineno 525 at section 'Desktop Stuff', and I simply removed the lock and trash icons from the desktop, and saved. In theory, if I do some more saves without touching anything that has to do with icons, before remastering, the globicons should be identical after two saves. Booting after remastering will be very interesting!
I must say that this is a theme that is difficult to grasp. Are there also different procedures that is followed, depending on what kind of media one saves to, or if it is a full installation, a frugal or a live?
It's a pity so many applications/scripts in the /sbin directories cannot be read, but I think I'll sit down and try to grasp as much as I can.

tallboy

BTW, I didn't like the 'Fun' section in the menu, so I simply deleted the line referring to it in the /etc/xdg/templates file. I ran 'fixmenus' and restarted JWM, and the 'Fun' menu section was gone.

npierce
Posts: 858
Joined: Tue 29 Dec 2009, 01:40

#10 Post by npierce »

tallboy wrote:. . . so I took a peek at the /usr/sbin/fixPuppyPin script. It says it originally was a workaround for dual monitors, I really don't see why that script exists when you have a single monitor setup . . .
It seems that you have misunderstood the comment. That comment merely indicated that a workaround had been added to the script in 2008 to correct a problem that the script previously had with dual monitors.

The script exists because we don't all have the same screen widths. The PuppyPin file allows for placing icons relative to the left edge. Since Puppy also wants to place some icons along the right edge, it needs to first find the screen width and then do a little arithmetic to determine what value to put in the PuppyPin file for those icons. This is why we have fixPuppyPin.

It also is needed if a user later changes the screen resolution.

If you never intend to run your Puppy on different hardware, nor change your screen resolution, then you could live without the script. But if you are remastering to create a Puppy for sharing with others, the script is needed.

Of course, if a user doesn't care to have any icons along the right edge of the screen, the script is also unnecessary.

To avoid possible side-effects and and error messages, I would not be too hasty about deleting the script, unless you want to look through all of Puppy's other scripts and recode any that call fixPuppyPin. It should not be necessary to remove the script: since you have removed the "lock" icon, fixPuppyPin will no longer move any icons.
tallboy wrote:Are there also different procedures that is followed, depending on what kind of media one saves to, or if it is a full installation, a frugal or a live?
I am not aware of any. As long as the configuration files are properly written to your save file (if not a full install), I wouldn't think that the installation type or media type would be an issue. I could certainly be wrong.

Are you having trouble with other configuration changes being lost when you reboot, or is it just the icons on the pinboard?

I am not familiar with wbar, and have neither of the /var/opt/Pinboard/ or /opt/Pinboard/ directories that you have, so I have no idea how wbar might be affecting your pinboard. Sorry not to be able to be more helpful, but my Puppy may be so different from your Puppy that I may not be able to provide any useful help.

It is good to hear that you have at least had success in getting the "save" icon to stay where you want it. Hopefully you will soon achieve success with the others.

Good luck.

User avatar
tallboy
Posts: 1760
Joined: Tue 21 Sep 2010, 21:56
Location: Drøbak, Norway

#11 Post by tallboy »

Thank you again, npierce.
Yes, I misunderstood! I can see the point in having the file there after your excellent explanation, and no, I decided against deleting it, I just commented it out. I am not addicted to icons on the right side. I am usually running a dpup-484 and 485, as live-CD/DVD only. They came with wbar, but I have never used it, way too fancy for me! 8)
npierce wrote:..since you have removed the "lock" icon, fixPuppyPin will no longer move any icons.
Aaah, that is one of the problems with remastering, those deleted icons keep coming back to haunt you, and they don't always bother to keep to the right side either!

I have probably made too many alterations to these puppies, so I guess I'll start planning some new, fresh builds instead. Without any icons on the right side... :D

Hmm, maybe a console puppy?

tallboy

Post Reply