Wiki source for SoftwarePackageCreation
[[HomePage]] > [[ComponentHowTo Components and HowTos]] > [[GuiIndex GUI]] > [[WindowManagers]]
====Software Package Creation====
For packages which __require a menu entry__ perform the following:
- [[compiling Compile, install, & create a .pet software package]]
- Create a //.desktop// file so that the menu will show an entry for that software application
==.desktop menu configuration file==
The rest of this page explains how to create a //[[AppsDesktop|.desktop]]// file:
- Create a text file using the template displayed in the //Appendix// below
- Place it in this directory: **/usr/share/applications**
The entries in the file are {key,value} pairs in the format: **Key=Value**
Keys are either optional or required. The first three {key,value} pairs from the template are required; and the last two are optional but required for a menu icon to appear in the desired menu location.
Note that the "Encoding" key is deprecated, i.e. obsolete and no longer recognized. Any keys not found in the [[http://standards.freedesktop.org/desktop-entry-spec/latest/index.html latest freedesktop specification]] are not recognized.
==Menu and Desktop Icons==
Icon location: ///usr/share/pixmaps//
Icon file format: //.xpm//, or //.png//, is preferred
Icon size: //48x48// (use mtPaint for re-sizing)
Menu categories: selected from ///etc/xdg/menus/hierarchy//
Therefore, the //abiword.desktop// file would typically consist of:
%%(language-ref)
Desktop Entry]
Type=Application
Name=AbiWord
Exec=abiword
Comment=word processor
Icon=abiword48.png
Categories=WordProcessor
%%
If you are installing a package, such as a self contained program in the /opt directory, you will need to type in the entire path to the icon you want to use. eg: Icon=/opt/fred/icons/ fred48.png , and you may need to type the entire path to the program eg: Exec=/opt/fred/fredprogram
==Appendix==
__All Puppy packagers are advised to use this template for the sake of standardization__. It adheres to the [[http://standards.freedesktop.org/desktop-entry-spec/latest/index.html latest freedesktop specification]].
%%(language-ref)
[Desktop Entry]
Type=Application
Name=
Exec=
Comment=
Icon=
Categories=
%%
Other optional keys are available which are seldom used:
%%(language-ref)
#Terminal=true
#MimeType=
#GenericName=
#NoDisplay=
#Hidden=
#OnlyShowIn=
#NotShowIn=
#TryExec=
#Path=
#StartupNotify=true
#StartupWMClass=
#Name[az]=
#Name[bg]=
#Name[ca]=
#Name[cs]=
#Name[de]=
#Name[dz]=
#Name[el]=
#Name[en_CA]=
#Name[en_GB]=
#Name[es]=
#Name[et]=
#Name[fi]=
#Name[fr]=
#Name[ga]=
#Name[he]=
#Name[hr]=
#Name[hu]=
#Name[it]=
#Name[ja]=
#Name[ko]=
#Name[lt]=
#Name[lv]=
#Name[mk]=
#Name[ml]=
#Name[mr]=
#Name[ms]=
#Name[nb]=
#Name[ne]=
#Name[nl]=
#Name[nn]=
#Name[pl]=
#Name[pt]=
#Name[pt_BR]=
#Name[ru]=
#Name[sk]=
#Name[sr]=
#Name[sr@Latn]=
#Name[sv]=
#Name[te]=
#Name[tr]=
#Name[uk]=
#Name[vi]=
#Name[zh_CN]=
#Name[zh_TW]=
%%
==Related Webpages==
~[[http://www.murga-linux.com/puppy/viewtopic.php?t=59013 Pdebthing]]
~[[http://www.murga-linux.com/puppy/viewtopic.php?p=468517#468517 forum post]]
----
==Categories==
CategoryTutorial
CategorySoftware
====Software Package Creation====
For packages which __require a menu entry__ perform the following:
- [[compiling Compile, install, & create a .pet software package]]
- Create a //.desktop// file so that the menu will show an entry for that software application
==.desktop menu configuration file==
The rest of this page explains how to create a //[[AppsDesktop|.desktop]]// file:
- Create a text file using the template displayed in the //Appendix// below
- Place it in this directory: **/usr/share/applications**
The entries in the file are {key,value} pairs in the format: **Key=Value**
Keys are either optional or required. The first three {key,value} pairs from the template are required; and the last two are optional but required for a menu icon to appear in the desired menu location.
Note that the "Encoding" key is deprecated, i.e. obsolete and no longer recognized. Any keys not found in the [[http://standards.freedesktop.org/desktop-entry-spec/latest/index.html latest freedesktop specification]] are not recognized.
==Menu and Desktop Icons==
Icon location: ///usr/share/pixmaps//
Icon file format: //.xpm//, or //.png//, is preferred
Icon size: //48x48// (use mtPaint for re-sizing)
Menu categories: selected from ///etc/xdg/menus/hierarchy//
Therefore, the //abiword.desktop// file would typically consist of:
%%(language-ref)
Desktop Entry]
Type=Application
Name=AbiWord
Exec=abiword
Comment=word processor
Icon=abiword48.png
Categories=WordProcessor
%%
If you are installing a package, such as a self contained program in the /opt directory, you will need to type in the entire path to the icon you want to use. eg: Icon=/opt/fred/icons/ fred48.png , and you may need to type the entire path to the program eg: Exec=/opt/fred/fredprogram
==Appendix==
__All Puppy packagers are advised to use this template for the sake of standardization__. It adheres to the [[http://standards.freedesktop.org/desktop-entry-spec/latest/index.html latest freedesktop specification]].
%%(language-ref)
[Desktop Entry]
Type=Application
Name=
Exec=
Comment=
Icon=
Categories=
%%
Other optional keys are available which are seldom used:
%%(language-ref)
#Terminal=true
#MimeType=
#GenericName=
#NoDisplay=
#Hidden=
#OnlyShowIn=
#NotShowIn=
#TryExec=
#Path=
#StartupNotify=true
#StartupWMClass=
#Name[az]=
#Name[bg]=
#Name[ca]=
#Name[cs]=
#Name[de]=
#Name[dz]=
#Name[el]=
#Name[en_CA]=
#Name[en_GB]=
#Name[es]=
#Name[et]=
#Name[fi]=
#Name[fr]=
#Name[ga]=
#Name[he]=
#Name[hr]=
#Name[hu]=
#Name[it]=
#Name[ja]=
#Name[ko]=
#Name[lt]=
#Name[lv]=
#Name[mk]=
#Name[ml]=
#Name[mr]=
#Name[ms]=
#Name[nb]=
#Name[ne]=
#Name[nl]=
#Name[nn]=
#Name[pl]=
#Name[pt]=
#Name[pt_BR]=
#Name[ru]=
#Name[sk]=
#Name[sr]=
#Name[sr@Latn]=
#Name[sv]=
#Name[te]=
#Name[tr]=
#Name[uk]=
#Name[vi]=
#Name[zh_CN]=
#Name[zh_TW]=
%%
==Related Webpages==
~[[http://www.murga-linux.com/puppy/viewtopic.php?t=59013 Pdebthing]]
~[[http://www.murga-linux.com/puppy/viewtopic.php?p=468517#468517 forum post]]
----
==Categories==
CategoryTutorial
CategorySoftware