summaryrefslogtreecommitdiffstats
path: root/libkonq/SERVICEMENUS
blob: 1419b86e016224d1e28751f423c062d1b1feea37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
This file explains how to add an item in the popupmenu (for both
konqueror and kdesktop), without using the file associations.

Why
===
One reason for doing this is being able to associate
some action with all files without this action becoming a default handler
(called on left click).
Another is that for text-based programs and tools (e.g. gzip) it's faster
than defining a desktop file for the application, making it hidden, and
associate it with the relevant file types.

How
===
Create a file ~/.kde/share/apps/konqueror/servicemenus/something.desktop
and write into it something like (without the comments) :

[Desktop Entry]
ServiceTypes=text/html,text/plain # use all/all for all entries
                                  # all/allfiles for files only
                                  # and use inode/directory for dirs only
                                  # you can also do things like image/* for all
                                  # image mimetypes
Actions=gzip;mail                 # those are ';' separated, per the standard !
X-KDE-Submenu=Menuname            # this optional entry allows grouping the 
                                  # entries in this servicemenu file into a
                                  # common submenu, in this case "Menuname"
TryExec=gzip			  # Find if executable exist, if it doesn't exist
				  # menu entry is not displaying
ExcludeServiceTypes=application/x-zip # This entry is used to avoid to display menu
				      # when it's a specific servicetype
				      # for exemple when we use all/allfiles and zip
				      # them, we don't want to zip a zip file


[Desktop Action gzip]            # One "Desktop Action <name>" group per Action
Name=GZip this file
Name[fr]=...
Icon=tgz
Exec=gzip %f

[Desktop Action mail]
Name=Mail this file
Name[fr]=...
Icon=kmail
Exec=kmail --there-is-no-such-option-yet %f


See also the "desktop entry standard", which defines more formally the same
concept of actions but for desktop files (e.g. eject on a device desktop file,
etc.)