Adding an entry to the Create New menu
Tutorial that describes how to add an entry to the Dolphin or Konqueror | menu of file browsers such as
The entries of the
menu are called templates. They are defined either system-wide, in /usr/share/templates, or only for the current user, in ~/.kde4/share/templates. In this tutorial we are going to add a new template to ~/.kde4/share/templates.Defining the metadata
Create a templates folder in ~/.kde4/share if such a folder does not exist already, and enter the templates folder.
In this folder, create a new file with .desktop as file extension. For example: custom-file.desktop.
Open this new file and paste the following content inside it:
[Desktop Entry]
Name=
Comment=
Type=Link
URL=
Icon=
Fill these fields as follows:
- Comment is the label for the new name of files of this type. When you select your custom entry in the menu, a dialog shows up asking you for the name of your new file, and this text is the label of the field where you enter this new name.
- URL is the path to a file containing the initial content that new files of this type have. These files with the initial content are usually located within the hidden .source folder of the templates folder, so use a relative path that starts with .source/, such as .source/custom-entry.txt.
- Icon is the code of the icon that appears in the menu for your custom entry. The code is the filename of the icon to use. You can browse MIME type icon files at /usr/share/icons/<theme>/<size>/mimetypes/. For example, to use /usr/share/icons/<theme>/<size>/mimetypes/application-vnd.oasis.opendocument.text.png, fill Icon with "application-vnd.oasis.opendocument.text".
This is an example of a filled .desktop file:
[Desktop Entry]
Name=Custom Entry
Comment=New custom entry:
Type=Link
URL=.source/custom-entry.txt
Icon=application-vnd.oasis.opendocument.text
Translating the Name and Comment
The Name and Comment fields can be translated to any language. To provide a translation, include a new field in your .desktop file with the form "Field[language code]=Value" for each language that you want to support. For example:
[Desktop Entry]
Name=Custom Entry
Name[ca]=Entrada personalitzada
Name[gl]=Entrada personalizada
Defining the content
Create a .source folder in ~/.kde4/share/templates if such a folder does not exist already, and enter the hidden .source folder.
Create a new file with the same filename that you defined in the URL field of the metadata of your new entry, and fill the file with the default content that you want for new files created with your new entry.