Creating Custom Service Menus in Konqueror

Written by BinnyVA on October 7, 2008 – 12:23 am -

If you are using Konqueror and have not used custom service menus, you are missing out. Just like the Nautilus Scripts in Nautilus, Konqueror also has the ability to customize the context menus. This post will show you how to do it.

We are going to create two different kind of service menus - one will create an item in the action part of the right click menu. The next type will create a submenu in the ‘actions’ menu with multiple menu items. Hopefully, you will get an idea about how to do it by yourself.

Single Item Service Menu

This service menu will create a menu item in the Action section of the context menu for all ISO files. For this to work as intended, the mimetype for ISO file must be application/x-iso .

  • Open ~/.kde/share/apps/konqueror/servicemenus folder
  • Create a file with the name ‘PlayISO.desktop’ - the name can be anything - but the extension must be ‘.desktop’
  • Enter the following content…
[Desktop Entry]
ServiceTypes=application/x-iso
Actions=PlayISOInXine

[Desktop Action PlayISOInXine]
Name=Play ISO File in Xine
Icon=player_play
Exec=xine -pq --no-splash dvd:/%f

Now lets see a line by line explanation of the code.

[Desktop Entry]
Start the file with this line.
ServiceTypes=application/x-iso
This decides which all file types must this service menu be shown to. You can find the mimetype for various files by taking Control Center > KDE Components > File Associations. Then search for the extension in the given text field.
Actions=PlayISOInXine
Name of the action - this will be defined in the next line
[Desktop Action PlayISOInXine]
The definition of the ‘PlayISOInXine’ action goes here.
Name=Play ISO File in Xine
The text to be shown in the menu item.
Icon=player_play
The icon to be used in the menu. The icon can be an absolute path or the file name of an image in your current theme(for example, if you are using Crystal SVG theme, then the images you can use is in the folder ‘/usr/share/icons/crystalsvg/16×16/actions’).
Exec=xine -pq –no-splash dvd:/%f
The command to be executed when the menu item is clicked. The %f stands for the full name of the file. The other options are listed in the documentation.

This is the end result…

Submenu Service Menu

This sample will give you the option to convert the selected html file to a plain text file or a compressed archive. The code looks like this…

[Desktop Entry]
ServiceTypes=text/html
Actions=convertToText;convertToZip
X-KDE-Submenu=Convert

[Desktop Action convertToText]
Name=Convert To Text
Icon=txt
Exec=lynx -dump "%f" > "`dirname "%f"`/`basename "%f" ".html"`.txt"

[Desktop Action convertToZip]
Name=Compress as Zip
Icon=tar
Exec=zip "`dirname "%f"`/`basename "%f" ".html"`.zip" "%f"

Again, a line by line explanation…

[Desktop Entry]
You know.
ServiceTypes=text/html
This is only for HTML files - so we specify the mimetype as text/html
Actions=convertToText;convertToZip
We have two different actions instead of just one as in the last case. So we provide the name of both actions separated by a ‘;’.
X-KDE-Submenu=Convert
This will make sure its shown in a submenu - and that the name of the submenu is Convert.
[Desktop Action convertToText]
Defining the first action - convertToText
Name=Convert To Text
The label of the menu item
Icon=txt
And its icon
Exec=lynx -dump “%f” > “`dirname “%f”`/`basename “%f” “.html”`.txt”
This command will convert a html file to a text file and put the resulting file in the same folder as the html file.
[Desktop Action convertToZip]
Defining the next action - convertToZip
Name=Compress as Zip
Label
Icon=tar
And Icon
Exec=zip “`dirname “%f”`/`basename “%f” “.html”`.zip” “%f”
The command to compress the html file as a zip file.

If done correctly, it should look something like this…

Related Links


Posted in Applications, Configuration, KDE | 2 Comments »

Songbird - The Firefox of MP3 Players

December 11, 2007 – 10:39 pm

I just installed Songbird - an MP3 player built on ...

7 Comments »

RhythmBox - Gnome Music Player

December 2, 2007 – 10:52 pm

Rhythmbox Music Player is a music player and library for ...

6 Comments »

Sound Issue in Fedora 8

November 14, 2007 – 5:48 pm

Today I upgraded my system from Fedora 7 to Fedora ...

19 Comments »

Banshee - Music Management and Playback for GNOME

November 7, 2007 – 11:02 pm

Banshee is one of the best audio players for Gnome. ...

4 Comments »

Audacious Media Player

October 26, 2007 – 10:44 pm

Audacious is not among the 'star media players' in Linux ...

4 Comments »

Five Amarok Tips and Tricks

October 10, 2007 – 11:43 pm

Rating If the rating feature is turned on you can rate ...

3 Comments »

5 Improvements for Amarok

September 30, 2007 – 10:37 pm

My favorite music player in Linux is amaroK. But, despite ...

4 Comments »

Amarok MP3 Player

September 23, 2007 – 11:12 pm

amaroK is currently the player of my choice - it ...

11 Comments »

Global HotKeys For XMMS using KHotKeys

September 17, 2007 – 10:47 pm

Wouldn't it be great if you could just press a ...

1 Comment »

XMMS - X MultiMedia System

September 10, 2007 – 11:48 pm

XMMS is a Winamp clone - people who are new ...

2 Comments »