gtk icons in porteus 1.1

Non release banter
colchaodemola
White ninja
White ninja
Posts: 15
Joined: 29 Nov 2011, 01:33
Location: brazil

gtk icons in porteus 1.1

Post#1 by colchaodemola » 29 Dec 2011, 00:43

I just installed pidgin from porteus package manager in porteus 1.1 and i noticed there is no icons (missing icon) in pidgin. In the systray i get a default no icon symbol.
Anyone notice this kind of problem ?

User avatar
Ahau
King of Docs
King of Docs
Posts: 1331
Joined: 28 Dec 2010, 15:18
Distribution: LXDE & Xfce 32/64-bit
Location: USA

Re: gtk icons in porteus 1.1

Post#2 by Ahau » 29 Dec 2011, 07:16

I can repeat this problem in lxde, but not in kde (3 or 4) or xfce. Are you using lxde? 32 or 64 bit?
Please take a look at our online documentation, here. Suggestions are welcome!

User avatar
brokenman
Site Admin
Site Admin
Posts: 6105
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v4 all desktops
Location: Brazil

Re: gtk icons in porteus 1.1

Post#3 by brokenman » 29 Dec 2011, 13:00

When posting a bug/problem please give as much info as possible so we can help.
Please Porteus 1.1rc are you using ... and which porteus-package-manager? The latest testing version? Which desktop manager did you boot into KDE?

Do you also notice any other missing icons in the menu?

In the latest testing PPM i've noticed i somehow broke the hicolor icon theme by adding icons. Not sure why yet but am looking into it.
How do i become super user?
Wear your underpants on the outside and put on a cape.

User avatar
Ahau
King of Docs
King of Docs
Posts: 1331
Joined: 28 Dec 2010, 15:18
Distribution: LXDE & Xfce 32/64-bit
Location: USA

Re: gtk icons in porteus 1.1

Post#4 by Ahau » 30 Dec 2011, 07:06

After a little more testing, I'm willing to bet this applies to any recent version of pidgin and any version of porteus (32-bit, anyway, I'm not positive about 64). The problem is related to kde overwriting the default index.theme in /usr/share/icons/hicolor. This messes up the mapping to the pidgin panel icons, which are located (approximately...I didn't take notes) in /usr/share/pixmaps/pidgin/hicolor/panel/.

The icon worked when I loaded lxde without kde (noload=kde cheatcode); it also worked when I loaded lxde and kde, and then deleted /usr/share/icons/hicolor/index.theme before starting up pidgin. Of course, that solution breaks the icons for kde... I have some more testing to do, to see if I can find a universal solution.

Note: I also had issues with kde hijacking the hicolor icon theme when I built XFCE; my solution there was to reinstall the hicolor icon theme package: http://pkgs.org/slackware-13.37/slackwa ... 1.txz.html but I resorted to simply copying the index.theme from that package into my XFCE module to overwrite kde's index. I think that still leaves some broken KDE icons, however.

Posted after 4 hours 36 minutes 47 seconds:
Update: reinstalling hicolor-icon-theme appears to resolve this issue, and I didn't notice the loss of any icons in KDE.

I'll do some more testing, and maybe we should consider removing the index.theme file from the kde module altogether for V1.1 final.

Also, there are some broken symlinks in the LXDE-humanity icon theme, they are pointing to icons in the oxygen theme, which has been replaced by crystalsvg (namely */apps/krdc*, but there were others ... I'll see about putting together a list). Those should be fixed for V1.1 final.

Posted after 11 hours 9 minutes 32 seconds:
Here's a list of broken symlinks in the LXDE icon theme (/usr/share/icons/Humanity-LXDE):

Code: Select all

lrwxrwxrwx 1 root root 47 Nov 21 19:49 ./apps/128/hwinfo.png -> /usr/share/icons/oxygen/128x128/apps/hwinfo.png
lrwxrwxrwx 1 root root 48 Nov 21 19:49 ./apps/128/klipper.png -> /usr/share/icons/oxygen/128x128/apps/klipper.png
lrwxrwxrwx 1 root root 45 Nov 21 19:49 ./apps/128/krdc.png -> /usr/share/icons/oxygen/128x128/apps/krdc.png
lrwxrwxrwx 1 root root 48 Nov 21 19:49 ./apps/128/nepomuk.png -> /usr/share/icons/oxygen/128x128/apps/nepomuk.png
lrwxrwxrwx 1 root root 68 Nov 21 19:49 ./apps/128/preferences-desktop-display-randr.png -> /usr/share/icons/oxygen/128x128/apps/preferences-desktop-display.png
lrwxrwxrwx 1 root root 74 Nov 21 19:49 ./apps/128/preferences-desktop-user-password.png -> /usr/share/icons/oxygen/128x128/apps/preferences-desktop-user-password.png
lrwxrwxrwx 1 root root 78 Nov 21 19:49 ./apps/128/preferences-system-bluetooth-inactive.png -> /usr/share/icons/oxygen/128x128/apps/preferences-system-bluetooth-inactive.png
lrwxrwxrwx 1 root root 69 Nov 21 19:49 ./apps/128/preferences-system-bluetooth.png -> /usr/share/icons/oxygen/128x128/apps/preferences-system-bluetooth.png
lrwxrwxrwx 1 root root 64 Nov 21 19:49 ./apps/128/utilities-file-archiver.png -> /usr/share/icons/oxygen/128x128/apps/utilities-file-archiver.png
lrwxrwxrwx 1 root root 45 Nov 21 19:49 ./apps/16/hwinfo.png -> /usr/share/icons/oxygen/16x16/apps/hwinfo.png
lrwxrwxrwx 1 root root 48 Nov 21 19:49 ./apps/16/kfontview.png -> /usr/share/icons/oxygen/16x16/apps/kfontview.png
lrwxrwxrwx 1 root root 46 Nov 21 19:49 ./apps/16/klipper.png -> /usr/share/icons/oxygen/16x16/apps/klipper.png
lrwxrwxrwx 1 root root 43 Nov 21 19:49 ./apps/16/krdc.png -> /usr/share/icons/oxygen/16x16/apps/krdc.png
lrwxrwxrwx 1 root root 46 Nov 21 19:49 ./apps/16/nepomuk.png -> /usr/share/icons/oxygen/16x16/apps/nepomuk.png
lrwxrwxrwx 1 root root 66 Nov 21 19:49 ./apps/16/preferences-desktop-display-randr.png -> /usr/share/icons/oxygen/16x16/apps/preferences-desktop-display.png
lrwxrwxrwx 1 root root 72 Nov 21 19:49 ./apps/16/preferences-desktop-user-password.png -> /usr/share/icons/oxygen/16x16/apps/preferences-desktop-user-password.png
lrwxrwxrwx 1 root root 76 Nov 21 19:49 ./apps/16/preferences-system-bluetooth-inactive.png -> /usr/share/icons/oxygen/16x16/apps/preferences-system-bluetooth-inactive.png
lrwxrwxrwx 1 root root 67 Nov 21 19:49 ./apps/16/preferences-system-bluetooth.png -> /usr/share/icons/oxygen/16x16/apps/preferences-system-bluetooth.png
lrwxrwxrwx 1 root root 62 Nov 21 19:49 ./apps/16/utilities-file-archiver.png -> /usr/share/icons/oxygen/16x16/apps/utilities-file-archiver.png
lrwxrwxrwx 1 root root 45 Nov 21 19:49 ./apps/22/hwinfo.png -> /usr/share/icons/oxygen/22x22/apps/hwinfo.png
lrwxrwxrwx 1 root root 48 Nov 21 19:49 ./apps/22/kfontview.png -> /usr/share/icons/oxygen/22x22/apps/kfontview.png
lrwxrwxrwx 1 root root 46 Nov 21 19:49 ./apps/22/klipper.png -> /usr/share/icons/oxygen/22x22/apps/klipper.png
lrwxrwxrwx 1 root root 43 Nov 21 19:49 ./apps/22/krdc.png -> /usr/share/icons/oxygen/22x22/apps/krdc.png
lrwxrwxrwx 1 root root 46 Nov 21 19:49 ./apps/22/nepomuk.png -> /usr/share/icons/oxygen/22x22/apps/nepomuk.png
lrwxrwxrwx 1 root root 66 Nov 21 19:49 ./apps/22/preferences-desktop-display-randr.png -> /usr/share/icons/oxygen/22x22/apps/preferences-desktop-display.png
lrwxrwxrwx 1 root root 72 Nov 21 19:49 ./apps/22/preferences-desktop-user-password.png -> /usr/share/icons/oxygen/22x22/apps/preferences-desktop-user-password.png
lrwxrwxrwx 1 root root 76 Nov 21 19:49 ./apps/22/preferences-system-bluetooth-inactive.png -> /usr/share/icons/oxygen/22x22/apps/preferences-system-bluetooth-inactive.png
lrwxrwxrwx 1 root root 67 Nov 21 19:49 ./apps/22/preferences-system-bluetooth.png -> /usr/share/icons/oxygen/22x22/apps/preferences-system-bluetooth.png
lrwxrwxrwx 1 root root 62 Nov 21 19:49 ./apps/22/utilities-file-archiver.png -> /usr/share/icons/oxygen/22x22/apps/utilities-file-archiver.png
lrwxrwxrwx 1 root root 45 Nov 21 19:49 ./apps/32/hwinfo.png -> /usr/share/icons/oxygen/32x32/apps/hwinfo.png
lrwxrwxrwx 1 root root 48 Nov 21 19:49 ./apps/32/kfontview.png -> /usr/share/icons/oxygen/32x32/apps/kfontview.png
lrwxrwxrwx 1 root root 46 Nov 21 19:49 ./apps/32/klipper.png -> /usr/share/icons/oxygen/32x32/apps/klipper.png
lrwxrwxrwx 1 root root 43 Nov 21 19:49 ./apps/32/krdc.png -> /usr/share/icons/oxygen/32x32/apps/krdc.png
lrwxrwxrwx 1 root root 46 Nov 21 19:49 ./apps/32/nepomuk.png -> /usr/share/icons/oxygen/32x32/apps/nepomuk.png
lrwxrwxrwx 1 root root 66 Nov 21 19:49 ./apps/32/preferences-desktop-display-randr.png -> /usr/share/icons/oxygen/32x32/apps/preferences-desktop-display.png
lrwxrwxrwx 1 root root 72 Nov 21 19:49 ./apps/32/preferences-desktop-user-password.png -> /usr/share/icons/oxygen/32x32/apps/preferences-desktop-user-password.png
lrwxrwxrwx 1 root root 76 Nov 21 19:49 ./apps/32/preferences-system-bluetooth-inactive.png -> /usr/share/icons/oxygen/32x32/apps/preferences-system-bluetooth-inactive.png
lrwxrwxrwx 1 root root 67 Nov 21 19:49 ./apps/32/preferences-system-bluetooth.png -> /usr/share/icons/oxygen/32x32/apps/preferences-system-bluetooth.png
lrwxrwxrwx 1 root root 62 Nov 21 19:49 ./apps/32/utilities-file-archiver.png -> /usr/share/icons/oxygen/32x32/apps/utilities-file-archiver.png
lrwxrwxrwx 1 root root 45 Nov 21 19:49 ./apps/48/hwinfo.png -> /usr/share/icons/oxygen/48x48/apps/hwinfo.png
lrwxrwxrwx 1 root root 48 Nov 21 19:49 ./apps/48/kfontview.png -> /usr/share/icons/oxygen/48x48/apps/kfontview.png
lrwxrwxrwx 1 root root 46 Nov 21 19:49 ./apps/48/klipper.png -> /usr/share/icons/oxygen/48x48/apps/klipper.png
lrwxrwxrwx 1 root root 43 Nov 21 19:49 ./apps/48/krdc.png -> /usr/share/icons/oxygen/48x48/apps/krdc.png
lrwxrwxrwx 1 root root 46 Nov 21 19:49 ./apps/48/nepomuk.png -> /usr/share/icons/oxygen/48x48/apps/nepomuk.png
lrwxrwxrwx 1 root root 66 Nov 21 19:49 ./apps/48/preferences-desktop-display-randr.png -> /usr/share/icons/oxygen/48x48/apps/preferences-desktop-display.png
lrwxrwxrwx 1 root root 72 Nov 21 19:49 ./apps/48/preferences-desktop-user-password.png -> /usr/share/icons/oxygen/48x48/apps/preferences-desktop-user-password.png
lrwxrwxrwx 1 root root 76 Nov 21 19:49 ./apps/48/preferences-system-bluetooth-inactive.png -> /usr/share/icons/oxygen/48x48/apps/preferences-system-bluetooth-inactive.png
lrwxrwxrwx 1 root root 67 Nov 21 19:49 ./apps/48/preferences-system-bluetooth.png -> /usr/share/icons/oxygen/48x48/apps/preferences-system-bluetooth.png
lrwxrwxrwx 1 root root 62 Nov 21 19:49 ./apps/48/utilities-file-archiver.png -> /usr/share/icons/oxygen/48x48/apps/utilities-file-archiver.png
lrwxrwxrwx 1 root root 45 Nov 21 19:49 ./apps/64/hwinfo.png -> /usr/share/icons/oxygen/64x64/apps/hwinfo.png
lrwxrwxrwx 1 root root 48 Nov 21 19:49 ./apps/64/kfontview.png -> /usr/share/icons/oxygen/64x64/apps/kfontview.png
lrwxrwxrwx 1 root root 46 Nov 21 19:49 ./apps/64/klipper.png -> /usr/share/icons/oxygen/64x64/apps/klipper.png
lrwxrwxrwx 1 root root 43 Nov 21 19:49 ./apps/64/krdc.png -> /usr/share/icons/oxygen/64x64/apps/krdc.png
lrwxrwxrwx 1 root root 46 Nov 21 19:49 ./apps/64/nepomuk.png -> /usr/share/icons/oxygen/64x64/apps/nepomuk.png
lrwxrwxrwx 1 root root 66 Nov 21 19:49 ./apps/64/preferences-desktop-display-randr.png -> /usr/share/icons/oxygen/64x64/apps/preferences-desktop-display.png
lrwxrwxrwx 1 root root 72 Nov 21 19:49 ./apps/64/preferences-desktop-user-password.png -> /usr/share/icons/oxygen/64x64/apps/preferences-desktop-user-password.png
lrwxrwxrwx 1 root root 76 Nov 21 19:49 ./apps/64/preferences-system-bluetooth-inactive.png -> /usr/share/icons/oxygen/64x64/apps/preferences-system-bluetooth-inactive.png
lrwxrwxrwx 1 root root 67 Nov 21 19:49 ./apps/64/preferences-system-bluetooth.png -> /usr/share/icons/oxygen/64x64/apps/preferences-system-bluetooth.png
lrwxrwxrwx 1 root root 62 Nov 21 19:49 ./apps/64/utilities-file-archiver.png -> /usr/share/icons/oxygen/64x64/apps/utilities-file-archiver.png
I was going to write a simple script to delete all of them and replace them with links pointing to /usr/share/crystalsvg/ (no guarantees that all of them exist there, though) but have run out of time for tonight... cheers!
Please take a look at our online documentation, here. Suggestions are welcome!

User avatar
brokenman
Site Admin
Site Admin
Posts: 6105
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v4 all desktops
Location: Brazil

Re: gtk icons in porteus 1.1

Post#5 by brokenman » 30 Dec 2011, 14:22

Please check permissions on /usr/share/icons/hicolor are indeed 755. My last testing ppm had incorrect permission set there so if you were testing after activating this you would have problems.

The problem is related to kde overwriting the default index.theme
Hmmm. The kde index.theme and default do differ ... but essentially map the default existing paths in hicolor. Nice find. I will remove the kde index.theme file as the default should be sufficient. Developers of apps only ever use the existing hicolor folders and should NEVER overwrite the index.theme.

This messes up the mapping to the pidgin panel icons, which are located (approximately...I didn't take notes) in /usr/share/pixmaps/pidgin/hicolor/panel/
They keep the icons in /usr/share/pixmaps/pidgin and the main logo in /usr/share/icons/hicolor

The hicolor icon theme is a fallback icon theme traditionally used for cross compat with gnome and kde. Common practice is to store the menu and program bar icons in hicolor and any application specific (buttons and such) icons in pixmaps folder. After looking at pidgin it appears they are doing this. There main logo is in hicolor with all others in pixmaps subfolder.

Ouch .. symlinks from one icon theme to another is not a good idea ... as you have found. Updating icon theme means lots of work. Ideally we would could have a universal icon theme ... or at least the missing icons could be stored in /usr/share/pixmaps/porteus

Posted after 32 minutes 50 seconds:
Removing kde index.theme seems to have no adverse effects. All kde menu icons (default) are working as are all lxde menu icons (noload=kde).

With both kde and lxde loaded the lxde menu is missing krdc & kougr designer icons. The 'other' menu in lxde however is a freaking mess. It is missing the majority of icons. I have some work to do and right now have no idea what i will do to fix it.

Posted after 1 hour 5 minutes:
Here is a script that will replace the oxygen links with crystal ... but as you say, they aint all going to be there.

Code: Select all

find /usr/share/icons/Humanity-LXDE -type l|xargs ls -l|grep oxygen|awk '{print $9, $11}' > /tmp/current.icon

while read icons; do
	src=`awk '{print$1}' <<<$icons`
	trgold=`awk '{print$2}' <<<$icons`
	trg=`echo $trgold|sed 's^oxygen^crystalsvg^g'`
	ln -sf $trg $src
done < /tmp/current.icon
Posted after 13 minutes 31 second:
Well .... replacing the oxygen links with crystalsvg fixed absolutely nothing. :wall:
How do i become super user?
Wear your underpants on the outside and put on a cape.

User avatar
Ahau
King of Docs
King of Docs
Posts: 1331
Joined: 28 Dec 2010, 15:18
Distribution: LXDE & Xfce 32/64-bit
Location: USA

Re: gtk icons in porteus 1.1

Post#6 by Ahau » 30 Dec 2011, 15:18

lol, we were working in parallel paths this morning...

how I found the broken symlinks: (not my idea, google found it for me)

Code: Select all

cd /usr/share/icons/Humanity-LXDE
find . -type l | (while read FN ; do test -e "$FN" || ls -ld "$FN"; done) >> /tmp/brokensyms.txt
After running that...here's my script to generate new symlinks:

Code: Select all

#!/bin/bash
# script to fix broken symlinks in porteus icon theme

#some of the crystalsvg icons are named differently than oxygen

sed -i 's#apps/preferences-desktop-display#apps/randr#g' /tmp/brokensyms.txt
sed -i 's#apps/preferences-desktop-user-password#apps/password#g' /tmp/brokensyms.txt
sed -i 's#apps/kfontview#apps/fonts#g' /tmp/brokensyms.txt

for x in `cat /tmp/brokensyms.txt | sed 's/ /_/g'`; do
  file=`echo $x | cut -d '_' -f11 | sed 's/oxygen/crystalsvg/g'`
  linkpath=`echo $x | cut -d '_' -f9`
  link=${linkpath##*/}
  path=${linkpath%/*}
  path=${path#.}
  
  mkdir -p /tmp/usr/share/icons/Humanity-LXDE/$path
  cd /tmp/usr/share/icons/Humanity-LXDE/$path

  ln -sf $file $link;
done
then:

Code: Select all

mkdir /tmp/fakeroot
mv /tmp/usr /tmp/fakeroot/
dir2xzm /tmp/fakeroot/ 32-bit-icon-fix.xzm
Of course, I didn't have time to adequately test it before my busride was done... it wasn't working for krdc last I checked...but I then realized that I forgot:

Code: Select all

gtk-update-icon-cache -f -t /usr/share/icons/Humanity-LXDE
with a subsequent panel restart. Maybe you did the same?

There are still a number of broken symlinks there, I couldn't find crystalsvg counterparts to bluetooth, klipper, nepomuk or archiver, but it appears to fix the links to krdc, hwinfo, randr and password.

Sorry for posting a half-baked and half-tested solution. If I have a chance later today, I'll clean this up a bit.

For the 'other' menu in lxde, perhaps we can make use of NotShowIn=LXDE (or NotShowIn=lxpanel if that doesn't work) for all of the .desktop entries that we don't want in lxde. I'll play with that a bit too.

I'm glad to hear about the kde hicolor index.theme solution (i.e. killing it). That will save me some trouble in xfce too (I was looking for a better solution than including the standard hicolor index in a later-loaded module, to overwrite the kde index which was overwriting the standard. rofl)
Please take a look at our online documentation, here. Suggestions are welcome!

User avatar
brokenman
Site Admin
Site Admin
Posts: 6105
Joined: 27 Dec 2010, 03:50
Distribution: Porteus v4 all desktops
Location: Brazil

Re: gtk icons in porteus 1.1

Post#7 by brokenman » 30 Dec 2011, 17:42

I wish i had checked back earlier .... before fixing everything. I created a script to go through and find bad links and find something suitable in hicolor or crystal. Everything fixed and i packed up a new Humanity icon theme module. I think we need to look for a universal icon theme for porteus ... regardless of the desktop. This would be the best solution ... is this possible?

gtk-update-icon-cache -f -t /usr/share/icons/Humanity-LXDE
This app was included with gtk2 and reduces disk seek overhead and allows gtk apps to have a universal cache to find icons for menus. It creates a 7Mb file when run just for hicolor. I think it is useful for large bulky distros but not very useful for us. In fact pat removes the file that this creates in the rc.M script. Fanthom will remove the codeblock from rc.M for next version ... theres no need (IMHO) to run the update file then remove the results.

Anyway ... i will test my new humanity module now and see how i did. Now i see why fanthom went through manually to find similar icons in oxygen for Humanity .... but as we have found it has it's flaws. It wasn't too much work replacing them .... but unrequired if we adopt a universal icon theme.

Maybe someone that knows more about icons can tell me if this is possible.

Posted after 15 minutes 47 seconds:
ok, my work fixed a couple of the icons in the lxde menu ... but the 'other' menu remains the same. Still missing WAY too many icons. This menu is all the stuff introduced by KDE when you boot to LXDE with kde enabled. It would be easier to disable the 'other' menu than going through each desktop file to change stuff.

I can't think of a solution. Perhaps users WANT the 'other' menu item there as it offers some interesting stuff ... but i am at a loss as to how to fix all of the icons in an economical and long lasting way.
How do i become super user?
Wear your underpants on the outside and put on a cape.

Post Reply