11

I have a GUI application which starts with a shell script. How can I create an icon in the Unity dock by providing the shell script and an .svg icon?

Mike L.
  • 5,617
  • 16
  • 50
  • 69

1 Answers1

13

You need to make a shortcut-file. Shortcuts for the Unity dock are located in ~/.local/share/applications/

  1. Create a file myGUIapp.desktop in that directory.

  2. Paste the following into that file (with correct paths for icon and shellscript):

    [Desktop Entry]
    Name=My GUI App
    Exec=/path/to/shellscript.sh
    Icon=/path/to/you/icon.svg
    Terminal=false
    Type=Application
    StartupNotify=true

  3. Make the file executable:

    Right click -> Properties -> Permissions -> Tick ‘Allow executing as a program’

  4. Restart Unity (or drag the file to the Dock to get it there directly).

Look in other files in ~/.local/share/applications/ to get an idea of how they should look. More info is available in this blog entry.

Edit:
If you want the shortcut to be accessable to all users you should check out Ubuntu packaging guide about icons.
Basically the .desktop-file are installed or moved to /usr/share/applications/<binary>.desktop instead and icons are placed in /usr/share/icons/hicolor/scalable/apps

micke
  • 3,345
  • 17
  • 25
  • So my application should provide this file and the user should drag it to the Dock? Does the file allows to use relative paths for exec and icon? – Mike L. Oct 24 '11 at 10:20
  • Ah, I didn't catch that you were making an application for others to use. I have updated my answer to include that. – micke Oct 24 '11 at 13:32
  • Is there not a simple GUI app that can edit the Unity menu yet? – dave1010 May 01 '12 at 16:26
  • 1
    Yes there is! [Quicklist Editor](http://www.ubuntugeek.com/quicklist-editor-for-unity-launcher.html) for Unity. It's not that stable yet. – micke May 01 '12 at 18:22