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]

    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:

    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.