Debian testing: KDE/freedesktop still displays old application icon

Felix Natter fnatter at gmx.net
Sat Mar 15 04:49:47 PDT 2014


hi,

I am maintaining the Debian "freeplane" package. The current version
1.3.7 that I am preparing has a different icon than freeplane 1.2.23
which is currently in the Debian archive.

Now, when installing the 1.3.7 package (not published yet), the KDE
panel [1] (and sometimes GNOME's nautilus, but that may be a problem on
another computer) still displays the old icon (though I think that
Debian replaces _all_ files when updating a package).

[1] Debian testing uses KDE 4.11.

When that happens, the following programs on the same computer, in the
same session, display the correct icon:
- dolphin
- konqueror
- KDE menu
- GNOME panel (another computer with the same .deb package)
- nautilus (on another computer, but its config may be broken, since I
  played around with /usr/share/mime/packages/freeplane.xml)

Here are the freeplane.{svg,png,xpm} files on my Debian testing box
(with freeplane 1.3.7 installed):

$ find /usr/ -iname freeplane.svg
/usr/share/icons/hicolor/scalable/apps/freeplane.svg
/usr/share/freeplane/freeplane.svg

$ find /usr/ -iname freeplane.png
/usr/share/icons/hicolor/128x128/apps/freeplane.png
/usr/share/icons/hicolor/48x48/apps/freeplane.png
/usr/share/icons/hicolor/64x64/apps/freeplane.png
/usr/share/icons/hicolor/32x32/apps/freeplane.png
/usr/share/pixmaps/freeplane.png
/usr/share/freeplane/freeplane.png

$ find /usr/ -iname freeplane.xpm
/usr/share/pixmaps/freeplane.xpm

and I verified that all of these are the new icons.

Here is /usr/share/applications/freeplane.desktop:
--------------------
[Desktop Entry]
Version=1.0
Name=Freeplane
Exec=/usr/bin/freeplane
Terminal=false
Icon=freeplane
Type=Application
MimeType=application/x-freeplane;
Categories=Office;
GenericName=Freeplane
Comment=A free tool to structure and organise your information with mind mapping
--------------------

and /usr/share/mime/packages/freeplane.xml:
--------------------
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">

  <!-- register FreeMind files, but with a lower priority than 
       FreeMind uses, if that is installed -->
    <mime-type type="application/x-freeplane">
	<comment xml:lang="cs">FreeMind Mapa</comment>
	<comment xml:lang="de">FreeMind Map</comment>
	<comment xml:lang="dk">FreeMind Map</comment>
	<comment xml:lang="en">FreeMind Map</comment>
	<comment xml:lang="es">FreeMind Mapa</comment>
	<comment xml:lang="fr">FreeMind Carte Mentale</comment>
	<comment xml:lang="hu">FreeMind Térkép</comment>
	<comment xml:lang="it">FreeMind Mappa</comment>
	<comment xml:lang="ja">FreeMind マップ</comment>
	<comment xml:lang="kr">FreeMind 맵</comment>
	<comment xml:lang="lt">FreeMind Žemėlapis</comment>
	<comment xml:lang="nl">FreeMind Map</comment>
	<comment xml:lang="no">FreeMind Map</comment>
	<comment xml:lang="pl">FreeMind Mapa</comment>
	<comment xml:lang="pt">FreeMind Mapa</comment>
	<comment xml:lang="pt">FreeMind Mapa</comment>
	<comment xml:lang="ru">FreeMind Ассоциативная арта</comment>
	<comment xml:lang="sl">FreeMind Miselni vzorec</comment>
	<comment xml:lang="zh_CN">FreeMind 思维导图</comment>
	<comment xml:lang="zh">FreeMind 心智圖</comment>
	<!--<icon name="/usr/share/icons/hicolor/scalable/apps/freeplane.svg" />-->
  <icon name="freeplane"/>
	<glob pattern="*.mm" />
	<!-- freemind.xml uses prority 65, and we don't want to override it! -->
	<magic priority="60"> 
		<match type="string" value="<map" offset="0" />
	</magic>
	<sub-class-of type="text/plain" />
    </mime-type>

    <mime-type type="application/x-freeplane">
	<comment xml:lang="cs">Freeplane Mapa</comment>
	<comment xml:lang="de">Freeplane Map</comment>
	<comment xml:lang="dk">Freeplane Map</comment>
	<comment xml:lang="en">Freeplane Map</comment>
	<comment xml:lang="es">Freeplane Mapa</comment>
	<comment xml:lang="fr">Freeplane Carte Mentale</comment>
	<comment xml:lang="hu">Freeplane Térkép</comment>
	<comment xml:lang="it">Freeplane Mappa</comment>
	<comment xml:lang="ja">Freeplane マップ</comment>
	<comment xml:lang="kr">Freeplane 맵</comment>
	<comment xml:lang="lt">Freeplane Žemėlapis</comment>
	<comment xml:lang="nl">Freeplane Map</comment>
	<comment xml:lang="no">Freeplane Map</comment>
	<comment xml:lang="pl">Freeplane Mapa</comment>
	<comment xml:lang="pt">Freeplane Mapa</comment>
	<comment xml:lang="pt">Freeplane Mapa</comment>
	<comment xml:lang="ru">Freeplane Ассоциативная арта</comment>
	<comment xml:lang="sl">Freeplane Miselni vzorec</comment>
	<comment xml:lang="zh_CN">Freeplane 思维导图</comment>
	<comment xml:lang="zh">Freeplane 心智圖</comment>
  <!--	<icon name="/usr/share/icons/hicolor/scalable/apps/freeplane.svg" /> -->
  <icon name="freeplane"/>
	<glob pattern="*.mm" />
	<magic priority="66">
		<match type="string" value="<map version="freeplane" offset="0" />
	</magic>
	<sub-class-of type="text/plain" />
    </mime-type>
</mime-info>
--------------------

and /usr/share/mimelnk/application/x-freeplane.desktop
(is this still needed?):
--------------------
# KDE Config File
[Desktop Entry]
Encoding=UTF-8
MimeType=application/x-freeplane
Icon=freeplane
Comment=Freeplane Map
Comment[cs]=Freeplane Mapa
Comment[de]=Freeplane Map
Comment[dk]=Freeplane Map
Comment[es]=Freeplane Mapa
Comment[fr]=Freeplane Carte Mentale
Comment[hu]=Freeplane Térkép
Comment[it]=Freeplane Mappa
Comment[ja]=Freeplane マップ
Comment[kr]=Freeplane 맵
Comment[lt]=Freeplane Žemėlapis
Comment[nl]=Freeplane Map
Comment[no]=Freeplane Map
Comment[pl]=Freeplane Mapa
Comment[pt]=Freeplane Mapa
Comment[pt]=Freeplane Mapa
Comment[ru]=Freeplane Ассоциативная арта
Comment[sl]=Freeplane Miselni vzorec
Comment[zh_CN]=Freeplane 思维导图
Comment[zh]=Freeplane 心智圖
Type=MimeType
Patterns=*.mm
X-KDE-AutoEmbed=false
[Property::X-KDE-NativeExtension]
Type=QString
Value=.mm
--------------------

and /usr/lib/mime/packages/freeplane
(probably not used by freedesktop.org!):
--------------------
application/x-freemind; /usr/bin/freeplane '%s'; test=test -n "$DISPLAY"; description="Freeplane/FreeMind MindMap file"; textualnewlines; nametemplate=%s.mm; priority=7
--------------------

=> as you can see, I always specify icon="freeplane", which should pick
up "freeplane.svg" or "freeplane.png".

Here are all files installed by the 'freeplane' package:
--------------------
/.
/usr
/usr/lib
/usr/lib/mime
/usr/lib/mime/packages
/usr/lib/mime/packages/freeplane
/usr/share
/usr/share/mimelnk
/usr/share/mimelnk/application
/usr/share/mimelnk/application/x-freeplane.desktop
/usr/share/icons
/usr/share/icons/hicolor
/usr/share/icons/hicolor/scalable
/usr/share/icons/hicolor/scalable/apps
/usr/share/icons/hicolor/scalable/apps/freeplane.svg
/usr/share/icons/hicolor/128x128
/usr/share/icons/hicolor/128x128/apps
/usr/share/icons/hicolor/128x128/apps/freeplane.png
/usr/share/icons/hicolor/48x48
/usr/share/icons/hicolor/48x48/apps
/usr/share/icons/hicolor/48x48/apps/freeplane.png
/usr/share/icons/hicolor/64x64
/usr/share/icons/hicolor/64x64/apps
/usr/share/icons/hicolor/64x64/apps/freeplane.png
/usr/share/icons/hicolor/32x32
/usr/share/icons/hicolor/32x32/apps
/usr/share/icons/hicolor/32x32/apps/freeplane.png
/usr/share/mime
/usr/share/mime/packages
/usr/share/mime/packages/freeplane.xml
/usr/share/pixmaps
/usr/share/pixmaps/freeplane.xpm
/usr/share/pixmaps/freeplane.png
/usr/share/menu
/usr/share/menu/freeplane
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/freeplane.1.gz
/usr/share/freeplane
/usr/share/freeplane/gitinfo.txt
/usr/share/freeplane/scripts
/usr/share/freeplane/scripts/freeplane.dsld
/usr/share/freeplane/scripts/installScriptAddOn.groovy
/usr/share/freeplane/scripts/apiGenerator.groovy
/usr/share/freeplane/freeplane.svg
/usr/share/freeplane/freeplane.png
/usr/share/freeplane/freeplane.sh
/usr/share/freeplane/props.xargs
/usr/share/freeplane/resources
/usr/share/freeplane/resources/ortho
/usr/share/freeplane/resources/ortho/dictionary_fr.ortho
/usr/share/freeplane/resources/ortho/dictionary_en.ortho
/usr/share/freeplane/resources/ortho/dictionary_de.ortho
/usr/share/freeplane/resources/gitinfo.properties
/usr/share/freeplane/resources/xslt
/usr/share/freeplane/resources/xslt/mm2wordml_utf8_TEMPLATE.mm
/usr/share/freeplane/resources/xslt/mm2html.xsl
/usr/share/freeplane/resources/xslt/mm2raw.xsl
/usr/share/freeplane/resources/xslt/mm2latexbook.xsl
/usr/share/freeplane/resources/xslt/mm2msp_utf8_TEMPLATE.mm
/usr/share/freeplane/resources/xslt/export2oowriter.xsl
/usr/share/freeplane/resources/xslt/export2oowriter.manifest.xsl
/usr/share/freeplane/resources/xslt/tohtml.xsl
/usr/share/freeplane/resources/xslt/mm2mwiki.xsl
/usr/share/freeplane/resources/xslt/mm2latexartcl.xsl
/usr/share/freeplane/resources/xslt/mm2freeplane1_1-mm.xsl
/usr/share/freeplane/resources/xslt/export2oowriter.styles.xsl
/usr/share/freeplane/resources/xslt/mm2xls_utf8.xsl
/usr/share/freeplane/resources/xslt/mm2latexinput.xsl
/usr/share/freeplane/resources/xslt/xbel2mm.xsl
/usr/share/freeplane/resources/xslt/mm2opml.xsl
/usr/share/freeplane/resources/xslt/mm2wordml_utf8.xsl
/usr/share/freeplane/resources/xslt/mm2msp_utf8.xsl
/usr/share/freeplane/resources/xslt/mm2text.xsl
/usr/share/freeplane/resources/xslt/mm2xbel.xsl
/usr/share/freeplane/resources/templates
/usr/share/freeplane/resources/templates/essay.mm
/usr/share/freeplane/resources/templates/standard.mm
/usr/share/freeplane/resources/templates/conceptMap.mm
/usr/share/freeplane/doc
/usr/share/freeplane/doc/freeplaneApplications_ja.mm
/usr/share/freeplane/doc/freeplaneFunctions_nl.mm
/usr/share/freeplane/doc/freeplane_functionality_nl.jpg
/usr/share/freeplane/doc/freeplaneTutorial_nl.jpg
/usr/share/freeplane/doc/freeplaneApplications.mm
/usr/share/freeplane/doc/freeplane_fr.mm
/usr/share/freeplane/doc/freeplane_ja.mm
/usr/share/freeplane/doc/freeplaneTutorial.jpg
/usr/share/freeplane/doc/FilterConsumerEnd.jpg
/usr/share/freeplane/doc/freeplaneTutorial_ja.mm
/usr/share/freeplane/doc/freeplane_functionality_nl.mm
/usr/share/freeplane/doc/freeplaneTutorial.mmfilter
/usr/share/freeplane/doc/examplepicture_nl.JPG
/usr/share/freeplane/doc/FilterConsumerUnfold.jpg
/usr/share/freeplane/doc/freeplaneTutorial_nl.mm
/usr/share/freeplane/doc/freeplaneFunctions_ja.mm
/usr/share/freeplane/doc/Images
/usr/share/freeplane/doc/Images/doc
/usr/share/freeplane/doc/Images/doc/In-lineEditContextMenu.png
/usr/share/freeplane/doc/Images/doc/MenusPropertiesPanel_nl.png
/usr/share/freeplane/doc/Images/doc/freeplaneApplications.png
/usr/share/freeplane/doc/Images/doc/HotKeysTable.png
/usr/share/freeplane/doc/Images/doc/NodeContextMenu.png
/usr/share/freeplane/doc/Images/doc/HotKeysTable_nl.png
/usr/share/freeplane/doc/Images/doc/BackgroundContextMenu.png
/usr/share/freeplane/doc/Images/doc/MenusPropertiesPanel.png
/usr/share/freeplane/doc/Images/doc/BackgroundContextMenu_nl.png
/usr/share/freeplane/doc/Images/mouse
/usr/share/freeplane/doc/Images/mouse/mouse_RB.png
/usr/share/freeplane/doc/Images/mouse/mouse_LB.png
/usr/share/freeplane/doc/Images/mouse/mouse_LB_2x.png
/usr/share/freeplane/doc/Images/mouse/mouse_SB_click.png
/usr/share/freeplane/doc/Images/mouse/mouse_SB_scroll.png
/usr/share/freeplane/doc/Images/mouse/mouse.png
/usr/share/freeplane/doc/Images/key
/usr/share/freeplane/doc/Images/key/enter.png
/usr/share/freeplane/doc/Images/key/home.png
/usr/share/freeplane/doc/Images/key/F2.png
/usr/share/freeplane/doc/Images/key/tab.png
/usr/share/freeplane/doc/Images/key/esc.png
/usr/share/freeplane/doc/Images/key/Ins.png
/usr/share/freeplane/doc/Images/key/left.png
/usr/share/freeplane/doc/Images/key/F1.png
/usr/share/freeplane/doc/Images/key/pgup.png
/usr/share/freeplane/doc/Images/key/right.png
/usr/share/freeplane/doc/Images/key/down.png
/usr/share/freeplane/doc/Images/key/insert.png
/usr/share/freeplane/doc/Images/key/up.png
/usr/share/freeplane/doc/Images/key/delete.png
/usr/share/freeplane/doc/Images/key/ctrl.png
/usr/share/freeplane/doc/Images/key/alt.png
/usr/share/freeplane/doc/Images/key/shift.png
/usr/share/freeplane/doc/Images/key/space.png
/usr/share/freeplane/doc/Images/key/pgdn.png
/usr/share/freeplane/doc/Images/key/end.png
/usr/share/freeplane/doc/freeplane_nl.jpg
/usr/share/freeplane/doc/freeplane_it.mm
/usr/share/freeplane/doc/freeplane_menuposition_nl.jpg
/usr/share/freeplane/doc/freeplane_vi.mm
/usr/share/freeplane/doc/freeplane_et.mm
/usr/share/freeplane/doc/freeplane_de.mm
/usr/share/freeplane/doc/freeplane_es.mm
/usr/share/freeplane/doc/freeplane.jpg
/usr/share/freeplane/doc/FilterConsumer.jpg
/usr/share/freeplane/doc/history_en.txt
/usr/share/freeplane/doc/freeplaneFunctions.mm
/usr/share/freeplane/doc/freeplane.mm
/usr/share/freeplane/doc/freeplaneTutorial.mm
/usr/share/freeplane/doc/freeplaneTutorial_nl.mmfilter
/usr/share/freeplane/doc/freeplane_id.mm
/usr/share/freeplane/doc/freeplaneTutorial_ja.mmfilter
/usr/share/freeplane/doc/freeplaneApplications_nl.mm
/usr/share/freeplane/doc/freeplane_ru.mm
/usr/share/freeplane/plugins
/usr/share/freeplane/plugins/org.freeplane.plugin.latex
/usr/share/freeplane/plugins/org.freeplane.plugin.latex/lib
/usr/share/freeplane/plugins/org.freeplane.plugin.latex/lib/plugin.jar
/usr/share/freeplane/plugins/org.freeplane.plugin.latex/META-INF
/usr/share/freeplane/plugins/org.freeplane.plugin.latex/META-INF/MANIFEST.MF
/usr/share/freeplane/plugins/org.freeplane.plugin.formula
/usr/share/freeplane/plugins/org.freeplane.plugin.formula/lib
/usr/share/freeplane/plugins/org.freeplane.plugin.formula/lib/plugin.jar
/usr/share/freeplane/plugins/org.freeplane.plugin.formula/META-INF
/usr/share/freeplane/plugins/org.freeplane.plugin.formula/META-INF/MANIFEST.MF
/usr/share/freeplane/plugins/org.freeplane.plugin.svg
/usr/share/freeplane/plugins/org.freeplane.plugin.svg/lib
/usr/share/freeplane/plugins/org.freeplane.plugin.svg/lib/plugin.jar
/usr/share/freeplane/plugins/org.freeplane.plugin.svg/META-INF
/usr/share/freeplane/plugins/org.freeplane.plugin.svg/META-INF/MANIFEST.MF
/usr/share/freeplane/plugins/org.freeplane.plugin.script
/usr/share/freeplane/plugins/org.freeplane.plugin.script/lib
/usr/share/freeplane/plugins/org.freeplane.plugin.script/lib/jsyntaxpane
/usr/share/freeplane/plugins/org.freeplane.plugin.script/lib/plugin.jar
/usr/share/freeplane/plugins/org.freeplane.plugin.script/META-INF
/usr/share/freeplane/plugins/org.freeplane.plugin.script/META-INF/MANIFEST.MF
/usr/share/freeplane/plugins/org.freeplane.plugin.openmaps
/usr/share/freeplane/plugins/org.freeplane.plugin.openmaps/lib
/usr/share/freeplane/plugins/org.freeplane.plugin.openmaps/lib/plugin.jar
/usr/share/freeplane/plugins/org.freeplane.plugin.openmaps/lib/Readme.txt
/usr/share/freeplane/plugins/org.freeplane.plugin.openmaps/META-INF
/usr/share/freeplane/plugins/org.freeplane.plugin.openmaps/META-INF/MANIFEST.MF
/usr/share/freeplane/freeplanelauncher.jar
/usr/share/freeplane/init.xargs
/usr/share/freeplane/freeplane.bat
/usr/share/freeplane/core
/usr/share/freeplane/core/org.freeplane.core
/usr/share/freeplane/core/org.freeplane.core/lib
/usr/share/freeplane/core/org.freeplane.core/lib/freeplaneeditor.jar
/usr/share/freeplane/core/org.freeplane.core/lib/freeplaneosgi.jar
/usr/share/freeplane/core/org.freeplane.core/lib/freeplaneviewer.jar
/usr/share/freeplane/core/org.freeplane.core/META-INF
/usr/share/freeplane/core/org.freeplane.core/META-INF/MANIFEST.MF
/usr/share/doc
/usr/share/doc/freeplane
/usr/share/doc/freeplane/history_en.txt.gz
/usr/share/doc/freeplane/copyright
/usr/share/doc/freeplane/changelog.Debian.gz
/usr/share/doc/freeplane/README.Debian
/usr/share/applications
/usr/share/applications/freeplane.desktop
/usr/share/bug
/usr/share/bug/freeplane
/usr/bin
/usr/share/freeplane/framework.jar
/usr/share/doc/freeplane/changelog.gz
/usr/bin/freeplane
--------------------

=> Could it be that "debhelper" does not properly use 'xdg-icon-resource' /
'xdg-desktop-icon' for installing icons?

=> (Could it possibly be that KDE uses some broken caching?)

=> how can I debug this?

Thank you very much and Best Regards,
-- 
Felix Natter


More information about the xdg mailing list