Adding an entry to the Create New menu

From KDE UserBase Wiki
Tutorial that describes how to add an entry to the Create New menu of file browsers such as Dolphin or Konqueror

The entries of the Create New 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:

  • Name is the text that appears in the Create New menu.
    "Custom Entry" is the value of the Name field.
  • Comment is the label for the new name of files of this type. When you select your custom entry in the Create New 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.
    "New custom entry:" is the value of the Comment field.
  • 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 Create New 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.