Tiny Core Linux
Tiny Core Extensions => TCE Talk => Topic started by: Jason W on April 19, 2010, 12:13:46 PM
-
Please mention here if any extensions are having issues displaying icons in any of TC's window managers/desktop environments and they will be addressed. Be sure to fetch the extension fresh from the repo or update your existing ones before reporting issues.
-
This is not mentioned, but it is for TC 2.11
-
For 2.11, thanks.
The part of the .desktop file to pay attention to is the Icon and X-FullPathIcon entries. X-FullPathIcon is to support legacy window managers. Here is the preferred format:
Icon=icon
X-FullPathIcon=/path/to/icon.png
The best place to place the icon is in /usr/local/share/pixmaps/icon.png since that will also be picked up by freedesktop compliant WMs by the Icon=icon or Icon=icon.png entry. The X-FullPathIcon entry needs the full path and the icon suffix (png,etc) but the Icon entry does not by freedesktop standards. However, some DE's have an issue with themes when the full path is listed in the Icon entry. So do not put the full path in the Icon field.
Also, the .desktop file needs to share the same name as the extension. If there are more than one .desktop files in an extension, then one of them needs to match the extension name and follow the above format. The extra .desktop files that are of a different name do not have to follow the new format.
More info will follow, but this is how to adjust existing extensions and new ones need a .desktop file in /usr/local/share/applications that is in this format.
-
Important change - Icon field needs to be Icon=icon rather than Icon=icon.png as not all desktop environments play well with Icon=icon.png, even though Icon=icon.png is freedesktop compliant.
-
Important change - Icon field needs to be Icon=icon rather than Icon=icon.png as not all desktop environments play well with Icon=icon.png, even though Icon=icon.png is freedesktop compliant.
No, Icon=icon.png is not freedesktop compliant.
There are two options:
1)
Icon=xxx
where xxx.png (or xxx.svg) is in the /usr/local/share/pixmaps directory or xxx is element of the active Icon Theme
2) an absolute path
Icon=/usr/local/share/pixmaps/xxx.png
I will add a guide to WIKI for extension creators.
-
According to freedesktop standards, Icon=icon.png is compliant. Look at "Example Desktop Entry File" section of the page below:
http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html
But even so, we are making efforts to accommodate all DE's even if they don't play well with all freedesktop compliant Icon entry formats.
-
According to freedesktop standards, Icon=icon.png is compliant. Look at "Example Desktop Entry File" section of the page below:
http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html
But even so, we are making efforts to accommodate all DE's even if they don't play well with all freedesktop compliant Icon entry formats.
Good finding. I had a discussion with PCMan regarding icon handling in PCManFM2 and his view that this is not compliant. This is a good point to continue discussion :)
Lets say, it is a bug in PCManFM2 and leave extensions as they are as this is working in other DE environment. PCManFM2 anyhow is a beta software. However, it is a relly a polite stuff to make TC repo work fine even with this :)
-
The upcoming 3.x repo has had it's desktop files converted to Icon=icon, so it is all good. I guess that Icon=icon.png is perhaps semi deprecated in the DE development world, so new DE's may be moving away from it. So we can't go wrong with Icon=icon. 2.x will get one final conversion soon also.
-
Until about 48h ago I did not had the slightest clue about .desktop files. In an attempt to change that I took a look around and stumbled over the fact that on the reference page (http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec) several links are available:
- Latest version (http://standards.freedesktop.org/desktop-entry-spec/latest/) points to a multiple page document (which appears to be "Version 1.1-draft"),
- Version 1.0 is available either as a one page (http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html) or as a multiple pages (http://standards.freedesktop.org/desktop-entry-spec/1.0/) document.
Why am I boring everybody with those details? One of the small differences between v1.1 (also available as a one page (http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html) document) is that the example entry has been changed from Icon=fooview.png to Icon=fooview.
Furthermore, I ran a check on the .desktop files in an Ubuntu 09.10 installation: there was no 'Icon=name.ext' entry to be found (they were all like 'Icon=name'). Lets just assume they are compliant with the spec.
-
A draft specification is not an official. It is just a draft which can be changed.
I can imagine UBUNTU adjusted all packages to the draft, however if you just download packages in source and compile them, result is a mixture of Icon=xxx.png and Icon=xxx
Key question is the adaptation of the draft by the DE developers. Maybe UBUNTU is strong enough to force application developers to follow it. Anyhow, if you use a certain DE you have to accept its implementation way.
Also, example is one thing. Detailed text:
"Icon to display in file manager, menus, etc. If the name is an absolute path, the given file will be used. If the name is not an absolute path, the algorithm described in the Icon Theme Specification will be used to locate the icon."
It still leaves room for different interpretations.
At the very end question is not what is written in the standard but what and how is implemented in KDE, Gnome, Xfce4, LXDE. You need to adjust your system, your applications to work as expected when used independently what is in the papers :(
-
bmarkus: Very valid points. Given my only paper-thin exposure to this matter I should have kept my mouth shut.
I've now had another brief look across a few live ISO images I have available and can confirm that there does not seem to be a strict rule: Knoppix (v6.2) for example has .desktop files with all kind of styles (e.g. "Icon=name", "Icon=local_directory/name.ext", and "Icon=/full/path/name.ext") and they all appear to work well with the default DE (i.e. LXDE, IIRC). Other distributions seem to be a bit "stricter". But as you pointed out it seems to be more a "convention" that is used amongst the developers and extension creators of a given distribution, and not so much a distribution and DE independent "standard".
-
Given my only paper-thin exposure to this matter I should have kept my mouth shut.
No, I don't think so. Referring to the UBUNTU was a good point showing acceptance of the 1.1-draft standard. :)
-
For the 2.x repo, the desktop files have been pretty much been converted for all but the Icon=icon thing.
So instead of converting the entire 2.x repo, I will spot fix extensions that are not working with wbar or standard freedesktop DE's or legacy WM's.
-
A second conversion of the 3.x repo is being uploaded, preserving the original desktop files as was in 2.x with the addition of the Icon=icon standard. Upon spot checking all seems pretty well.
Please list here any extensions that need further attention in regards to multiple menu entries or icons or whatever and it will be addressed.
-
Since bluez works in 3.x, could you convert and upload the blueman extension from the 2.x repo?
-
Blueman is in the list being uploaded.
-
A second conversion of the 3.x repo is being uploaded, preserving the original desktop files as was in 2.x with the addition of the Icon=icon standard. Upon spot checking all seems pretty well.
Please list here any extensions that need further attention in regards to multiple menu entries or icons or whatever and it will be addressed.
Jason, thanks for the correction. It looks OK now after a short checkup :)
-
Great. Upload is going alphabetically and now on vlc, so will be done soon.
-
Great. Upload is going alphabetically and now on vlc, so will be done soon.
vlc-locale,vlc-dev,vlc-doc is missing in 3.x repo
also seed-dev,seed-doc is missing
libmtp,libmtp-dev is updated recently which is not reflected in 3.x
also in need of upload:
doxygen,doxygen-gui,doxygen-doc
cutecom
silgraphite,silgraphite-dev
openclipart-png,openclipart-svg,openclipart-openoffice3
Edit: more feedback
libgmp.tcz is renamed to gmp.tcz ? either adjust dep files or rename it back to libgmp
udevadm is still in 3.x repo and some dep files still contain it as dependecy
-
i have also some questions/suggestions
1-) what decides to create just a flwm menu entry but not wbar item ?
i think when there is no "X-FullPathIcon" in desktop file ?
2-) multiple flwm menu entries causes doubled entries (for some extensions, i.e. gnome-games) in lxde,xfce,gnome
solution is to add
NoDisplay=true item to these entries when required
-
vlc-dev,doc,locale copied over.
seed copied over.
doxygen is already there, doxyget-doc is just copied over, doxygen-gui will need to be converted, will do that soon.
cutecom, silgraphite, libmtp are still in a holding area I was uploading to where they are going to be examined for 3.x compatibility. Had not had time yet. Openoffice and openclipart , 100MB or so each, I just uploaded to 2.x as I was out of town for a week. openclipart just got copied over, Openoffice is not 3.x ready, will have to be converted first. Had not had time, will do it soon.
Will look into gmp and udevadm issue.
Will answer the other questions tonight, have to go to work now.
-
ok see you, just a note doxygen is updated recently
-
libgmp.tcz is renamed to gmp.tcz ? either adjust dep files or rename it back to libgmp
I'd changed the extension name to match the *tar.bz2 package name in 3.x
I thought I'd changed the dep file names, but I must have forgotten - I'll do it now, thanks for highlighting that.
-
Arslan - I didn't mean to give such a short response as I was heading out the door. I will get to those things tonight. And yes, the X-FullPathIcon determines the icon for wbar. I will look more into the Gnome/XFCE/LXDE issue with multiple menu entries, though LXDE seemed to handle them as expected.
Also, kernel module extensions and most that depend on them were not copied over to 3.x. Figured better not to start out with a broken repo and then try to fill in pieces. But the quick conversion done last night may have uploaded old dep files that include things not copied over. I will check on that when I make my own mirror tonight and run the usual checks on it.
-
Arslan - everything on the list done except for openoffice being uploaded.
Could you make a desktop entry for cutecom and doxygen-gui and resubmit?
Thanks.
-
I guess this might be a new type of issue here: In 'hardinfo.tcz' there is a Categories=System;Icon=logo.png entry in the 'hardinfo.desktop' file. That is obviously not "kosher" and has the result that no icon is added to the 'wbar'.
-
hardinfo: fixed for 2.x and 3.x.
-
I wanted to find out whether TC 3.0alpha3 would still need the '/usr/local/tce.flwm' directory. I can "see" it gets created in '/usr/bin/flwm_topside_initmenu'. But how is it used? Is it really still required?
Anyway, for that test I tried to find a small extension (with a .desktop file) and stumbled across tctoolsmenu.tcz. This extension might be freedesktop compliant, but TC 3.0alpha3 (and TC 2.11) just ignored it. I guess that might be due to the fact that there is no 'tctoolsmenu.desktop' file. But I believe that might not be the only issue here. Possibly a FLWM-specific startup-file could be a work around, but maybe there is a better way. There is a startup-file, but what is this meant to do? What is the purpose of '/usr/local/share/desktop-directories/*'? There is also at least one file (i.e. 'tchelp.desktop') for which the 'Exec=' entry is now pointless.
Another extension I tried was flit.tcz. It made it into the 'Applications' menu of TC 3.0alpha3, but not on TC 2.11. I've not tried to analyze why that is, but it might be worth a further look.
-
With the new .desktop standard in TC, are the tce.icons and tce.menu files still needed? Or are only the .desktop files needed?
-
In 3.x, there is no /usr/local/tce.icons or /usr/local/tce.menu.
As well as the .desktop file, or at least the main one, needs to be the same name as the extension. emeflm2.tcz needs /usr/local/share/applications/emelfm2.desktop for example, or else it will not support all window managers and wbar.
Also, bmarkus has told me that the newest pcmanfm no longer requires the Icon field to be Icon=icon, it can be Icon=icon.png. So we can relax that requirement it seems.
As well as the full path of icon for the entry to support non-freedesktop window managers:
X-FullPathIcon=/usr/local/share/pixmaps/opera10.png
This and the rest of the requirements I will try to gather and put into one place.