Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Please note that right now, most of the information contained below is outdated and cannot be updated. Be careful, most of this won't work on Ubuntu 12.04 and newer.

Creating a custom launcher for Unity is simple. Quicklists provide an easy and efficient way to quickly access commonly used tasks for a specific application.

NOTE: Starting with Ubuntu 11.10, this popup option has vanished. Launchers can now only be created by editing text files in your home folder.

Creating a custom launcher is easy.

  1. Right-click on your desktop and click create a launcher.
  2. Edit the .desktop file using a text editor. (More information can be found here and here.)

So, which custom launchers do you use on Unity?

Note: Please limit yourself to one custom launcher per answer. Also, please provide a screenshot of it in action.

share

locked by Bruno Pereira Mar 21 '12 at 10:50

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

46 Answers 46

Gwibber

There is a quick list by default for Gwibber (a microblogging client that brings the most popular social networking web services to your desktop).

Gwibber quick-list
this program comes with Ubuntu by default


Tip: This programs must be opened(or found in startup menu) to see it's quick-list

share

Shutter:

There is a quick list by default for shutter (a program to take screen-shots and edit them) when you install it Ubuntu unity.

shutter quick-list

Download shutter(ppa & .dep) : here


Tip: This programs must be opened(or found in startup menu) to see it's quick-list

share

Wallch:

There is a quick list by default for Wallch (a program to change wallpaper automatically) when you install it Ubuntu unity.

wallch quick-list

Download wallch(ppa & .dep) : here


Tip: This programs must be opened(or found in startup menu) to see it's quick-list

share

Nginx Quicklist

Nginx Quicklist

  1. Install nginx-init-ubuntu.

  2. Add create a new file .local/share/applications/ named nginx.desktop and paste this inside:

    [Desktop Entry]
    Name=Nginx
    Comment=Nginx Webserver
    Exec=sudo service nginx start
    Icon=/usr/share/icons/nginx.png
    Type=Application
    Categories=Web;Servers;
    StartupNotify=true
    Terminal=true
    #OnlyShowIn=GNOME;Unity;
    X-Ubuntu-Gettext-Domain=nginx
    X-Ayatana-Desktop-Shortcuts=Start;Stop;Restart;
    
    [Start Shortcut Group]
    Name=Start Nginx
    Exec=sudo service nginx start
    TargetEnvironment=Unity
    
    [Stop Shortcut Group]
    Name=Stop Nginx
    Exec=sudo service nginx stop
    TargetEnvironment=Unity
    
    [Restart Shortcut Group]
    Name=Restart Nginx
    Exec=sudo service nginx restart
    TargetEnvironment=Unity
    
  3. Using your file manager (such as nautilus), drag .local/share/applications/nginx.desktop to the launcher.

share

Terminal Quicklist

terminal img (updated)

  1. Copy original Terminal launcher into your home directory using Terminal:

    cp /usr/share/applications/gnome-terminal.desktop ~/.local/share/applications
    
  2. Open the file with gedit still using Terminal:

    gedit ~/.local/share/applications/gnome-terminal.desktop
    
  3. Find the following line from the file:

    OnlyShowIn=GNOME;
    

    Replace the above line with:

    OnlyShowIn=GNOME;Unity;
    
  4. Add this text to the bottom of the file then Save & Close it:

    X-Ayatana-Desktop-Shortcuts=NewWindow;NewTab;Top;Root;
    
    [NewWindow Shortcut Group]
    Name=New Window
    Exec=gnome-terminal --window
    TargetEnvironment=Unity
    
    [NewTab Shortcut Group]
    Name=New Tab
    Exec=xdotool windowfocus gnome-terminal key ctrl+shift+t
    TargetEnvironment=Unity
    
    [Root Shortcut Group]
    Name=Root Terminal
    Exec=gksudo gnome-terminal
    TargetEnvironment=Unity
    
    [Top Shortcut Group]
    Name=Top
    Exec=gnome-terminal --command top
    TargetEnvironment=Unity
    
  5. To enable the 'New Tab' option you need to install xdotool Install xdotool from Ubuntu Software Centre

  6. Close all Terminal windows, right-click on its launcher icon and untick 'Keep In Launcher'

  7. Open Dash, run Terminal and the new launcher with quicklist will appear.

share
1  
the new tab shorcut form me open a new window. the command is correct... –  Matteo Pagliazzi May 4 '11 at 17:41
1  
I've found the solution by using a bash script and xdotool :D I am just testing it and then will add instructions. –  Cas May 5 '11 at 1:39

Home Icon Quicklist (auto-update from bookmarks)

Here is a small shell script that updates your Home-Quicklist with all your bookmarks. No manual manipulation. It reads your bookmark file and creates the menu items from it. It also adds the "Root Filemanager" menu entry.

Screenshot of the quicklist in action

  1. Copy the script listed below into an empty file and put it in your scripts-folder (we will assume that is ~/bin/ and the script name you choose is unityhome.bash).
  2. Run the script once to add the entries:

    bash ~/bin/unityhome.bash
    
  3. Optionally you may have cron run the script for you every once in a while. To add it to cron, type the follwing command into a shell:

    crontab -e
    

    An editor will open. There add a line like:

    @reboot /bin/bash/ $HOME/bin/unityhome.bash > /dev/null 2>&1
    

    If you don't do this step, you'll have to run the script by hand every time you change your nautilus bookmarks if you want the quicklist updated.

  4. Changes only take effect on your next login or after you Alt+F2

    unity --replace
    

    So do that. Note: Don't run unity --replace in a terminal. If you close that terminal, it will kill unity with it.

  5. Enjoy and have a look at the similar script for gnome-terminal that parses your ssh bookmarks (in ~/.ssh/config).

Script:

Here is the script:

#!/bin/bash
# tabsize: 4, encoding: utf8
#
# © 2011 [email protected] Use permitted under MIT license:
#     http://www.opensource.org/licenses/mit-license.php
# 
# CONTRIBUTORS: Chris Druif <[email protected]>
#               Scott Severance <http://www.scottseverance.us/>
#               jacopoL <[email protected]>
# 
# This script updates the unity quicklist menu for nautilus to contain the user
# bookmarks. The updates will have efect after unity is restarted (either on
# the next login or by invoking 'unity --replace').

# location of template and unity bar launchers
nautempl="/usr/share/applications/nautilus-home.desktop"
target="$HOME/.local/share/applications/nautilus-home.desktop"
bookmarks="$HOME/.gtk-bookmarks"

# backup if file already exists
if [ -e "$target" ]; then
    echo "Creating backup of: $target."
    mv -n "$target" "$target.bak"
fi

# copy template
cp "$nautempl" "$target"

if ! grep -q 'OnlyShowIn=.*Unity' "$target"; then # add only if not already present
    sed -i "s/\(OnlyShowIn=.*\)/\1Unity;/" "$target"
fi

# due to a bug in Unity (Ubuntu 11.10+) we will have to completely remove the OnlyShowIn line:
# https://bugs.launchpad.net/ubuntu/+source/unity/+bug/842257/comments/6
sed -i '/^OnlyShowIn=/d' "$target"

if ! grep -q 'X-Ayatana-Desktop-Shortcuts=' "$target"; then # add only if not already present
    echo -e "\nX-Ayatana-Desktop-Shortcuts=\n" >> "$target"
else
    echo >> "$target"
fi
bmcount=0
while read bmline; do
    bmcount=$(($bmcount+1))     # number of current bookmark
    bmname=${bmline#*\ }        # name of the bookmark
    bmpath=${bmline%%\ *}       # path the bookmark leads to
    # deal with bookmarks that have no name
    if [ "$bmname" = "$bmpath" ]; then
        bmname=${bmpath##*/}
    fi
    # fix spaces in names and paths
    bmname="$(echo "$bmname" | sed 's/%20/ /g')"
    bmpath="$(echo "$bmpath" | sed 's/%20/ /g')"
    # fix accents in names and paths (for french users)
    bmname="$(echo "$bmname" | python -c 'import sys,urllib;sys.stdout.write(urllib.unquote(sys.stdin.read()))')"
    bmpath="$(echo "$bmpath" | python -c 'import sys,urllib;sys.stdout.write(urllib.unquote(sys.stdin.read()))')"
    # extend shortcut list with current bookmark, prepending a ; if needed
    sed -i "s/\(X-Ayatana-Desktop-Shortcuts=\(.*;$\|$\)\)/\1Scg${bmcount};/
            t
            s/\(X-Ayatana-Desktop-Shortcuts=.*\)/\1;Scg${bmcount};/" "$target"
    # write bookmark information
    cat - >> "$target" <<EOF

[Scg$bmcount Shortcut Group]
Name=$bmname
Exec=nautilus "$bmpath"
TargetEnvironment=Unity
EOF
done < "$bookmarks"

# Add a root file manager entry
sed -i "s/\(X-Ayatana-Desktop-Shortcuts=.*\)/\1RootFM;/" "$target"
cat - >> "$target" <<EOF

[RootFM Shortcut Group]
Name=Root
Exec=gksudo nautilus
TargetEnvironment=Unity
EOF

exit 0

Improvement: Do not duplicate "Home folder" and "username"

If you don't want to have two items targeting your Home folder ("Home Folder" at the bottom of the quicklist and the clickable username), you can replace the following code:

    # write bookmark information
    cat - >> "$target" <<EOF

[Scg$bmcount Shortcut Group]
Name=$bmname
Exec=nautilus "$bmpath"
TargetEnvironment=Unity
EOF
done < "$bookmarks"

by the following code:

    # write bookmark information
    if [ "file://$HOME" != "$bmpath" ]; then
    cat - >> "$target" <<EOF

[Scg$bmcount Shortcut Group]
Name=$bmname
Exec=nautilus "$bmpath"
TargetEnvironment=Unity
EOF
    fi
done < "$bookmarks"
share
2  
Basically the same thing exists as an indicator applet for unity: askubuntu.com/questions/30334/list-of-application-indicators/… –  con-f-use May 17 '11 at 15:20
1  
Don't forget to go to ~/.local/share/applications to drag the file nautilus-home.desktop to the Unity bar. –  Exeleration-G Jun 25 '11 at 12:16
1  
This script can now handle names and paths that contain spaces. –  Scott Severance Aug 17 '11 at 9:26

Audacious Headless mode Quicklist

Audacious Headless mode Quicklist

Quicklist for Audacious that allows starting the player in headless mode and shutting it down.

While running in headless mode Audacious can be controlled from the Sound Menu (Audacious 3.2+ only), with the multimedia keys (or other keybindings), from the command line with the audacious and the audtool commands and so on.

  1. Copy the original launcher file to your home folder:

     mkdir -p ~/.local/share/applications
     cp /usr/share/applications/audacious2.desktop ~/.local/share/applications/
    
  2. Open that file for editing:

     gedit ~/.local/share/applications/audacious2.desktop
    
  3. Add the following at the bottom of the file, then close and save.

     X-Ayatana-Desktop-Shortcuts=Headless;Shutdown
    
     [Headless Shortcut Group]
     Name=Start in headless mode
     Exec=audacious -h
     TargetEnvironment=Unity
    
     [Shutdown Shortcut Group]
     Name=Shutdown
     Exec=audtool shutdown
     TargetEnvironment=Unity
    
  4. Log out and log in again to see the changes.

share

Audacious Quicklist

Audacious Quicklist

Quicklist for Audacious that allows controlling playback (redundant if using Audacious 3.2+, because you can control it from the Sound Menu), showing and hiding the main window (you can also unhide it by selecting Audacious from the Sound Menu), adding files to the current playlist and jumping to another song in the playlist.

  1. Copy the original launcher file to your home folder:

     mkdir -p ~/.local/share/applications
     cp /usr/share/applications/audacious2.desktop ~/.local/share/applications/
    
  2. Open that file for editing:

     gedit ~/.local/share/applications/audacious2.desktop
    
  3. Add the following at the bottom of the file, then close and save.

     X-Ayatana-Desktop-Shortcuts=Play;Pause;Stop;Rew;Fwd;Hide;Show;AddFiles;Jump
    
     [Play Shortcut Group]
     Name=Play
     Exec=audacious -p
     TargetEnvironment=Unity
    
     [Pause Shortcut Group]
     Name=Pause
     Exec=audacious -u
     TargetEnvironment=Unity
    
     [Stop Shortcut Group]
     Name=Stop
     Exec=audacious -s
     TargetEnvironment=Unity
    
     [Rew Shortcut Group]
     Name=Previous
     Exec=audacious -r
     TargetEnvironment=Unity
    
     [Fwd Shortcut Group]
     Name=Next
     Exec=audacious -f
     TargetEnvironment=Unity
    
     [Hide Shortcut Group]
     Name=Hide
     Exec=audtool mainwin-show off
     TargetEnvironment=Unity
    
     [Show Shortcut Group]
     Name=Show
     Exec=audtool mainwin-show on
     TargetEnvironment=Unity
    
     [AddFiles Shortcut Group]
     Name=Add files
     Exec=audtool filebrowser-show
     TargetEnvironment=Unity
    
     [Jump Shortcut Group]
     Name=Jump to Song
     Exec=audacious -j
     TargetEnvironment=Unity
    
  4. Log out and log in again to see the changes.

share

Quicklist for Music Player Daemon (MPD) clients

Screenshot

Adds play/pause, previous, next and stop to the launcher of an MPD client (in this case GMPC, but this can easily be adapted for e.g. xfmpc, Sonata, Ario, Pygmy, pympd, Glurp, Gimmix, gbemol or whatever you fancy). The only requirement is that you install the package mpc (sudo apt-get install mpc).

  1. Copy the global gmpc.desktop file to your home directory:

    cp /usr/share/applications/gmpc.desktop ~/.local/share/applications
    
  2. Edit the file:

    gedit ~/.local/share/applications/gmpc.desktop
    
  3. Paste the following code to the bottom of the file:

    X-Ayatana-Desktop-Shortcuts=Play/Pause;Previous;Next;Stop
    
    [Play/Pause Shortcut Group]
    Name=Play/Pause
    Exec=mpc toggle
    TargetEnvironment=Unity
    
    [Previous Shortcut Group]
    Name=Previous
    Exec=mpc prev
    TargetEnvironment=Unity
    
    [Next Shortcut Group]
    Name=Next
    Exec=mpc next
    TargetEnvironment=Unity
    
    [Stop Shortcut Group]
    Name=Stop
    Exec=mpc stop
    TargetEnvironment=Unity
    

PS. For extra integration, install mpd-sound-menu.

share

Extended Home Icon Quicklist

Quick Lists

  1. Copy 'Home Folder' launcher file to your home directory with Terminal:

    cp /usr/share/applications/nautilus-home.desktop ~/.local/share/applications
    
  2. Open the file for editing in gedit:

    gedit ~/.local/share/applications/nautilus-home.desktop
    
  3. Delete the following line from the file:

    OnlyShowIn=GNOME;
    
  4. Add this text to the bottom of the file, then close and save:

    X-Ayatana-Desktop-Shortcuts=Amazon;Backgrounds;CD Covers;Documents;Downloads;Dropbox;DVD Projects;Google Earth;Listings;Music;Notes;Photographs;Podcasts;Public;Templates;Themes;Transmission;Videos
    
    [Amazon Shortcut Group]
    Name=Amazon
    Exec=nautilus Amazon
    TargetEnvironment=Unity
    
    [Backgrounds Shortcut Group]
    Name=Backgrounds
    Exec=nautilus Backgrounds
    TargetEnvironment=Unity
    
    [CD Covers Shortcut Group]
    Name=CD Covers
    Exec=nautilus CDCovers
    TargetEnvironment=Unity
    
    [Documents Shortcut Group]
    Name=Documents
    Exec=nautilus Documents
    TargetEnvironment=Unity
    
    [Dropbox Shortcut Group]
    Name=Dropbox
    Exec=nautilus Dropbox
    TargetEnvironment=Unity
    
    [Downloads Shortcut Group]
    Name=Downloads
    Exec=nautilus Downloads
    
    [DVD Projects Shortcut Group]
    Name=DVD Projects
    Exec=nautilus DVDProjects
    TargetEnvironment=Unity
    
    [Google Earth Shortcut Group]
    Name=Google Earth
    Exec=nautilus GoogleEarth
    TargetEnvironment=Unity
    
    [Listings Shortcut Group]
    Name=Listings
    Exec=nautilus Listings
    TargetEnvironment=Unity
    
    [Notes Shortcut Group]
    Name=Notes
    Exec=nautilus Notes
    TargetEnvironment=Unity
    
    [Photographs Shortcut Group]
    Name=Photographs
    Exec=nautilus Photographs
    TargetEnvironment=Unity
    
    [Podcasts Shortcut Group]
    Name=Podcasts
    Exec=nautilus Podcasts
    TargetEnvironment=Unity
    
    [Public Shortcut Group]
    Name=Public
    Exec=nautilus Public
    TargetEnvironment=Unity
    
    [Templates Shortcut Group]
    Name=Templates
    Exec=nautilus Templates
    TargetEnvironment=Unity
    
    [Themes Shortcut Group]
    Name=Themes
    Exec=nautilus Themes
    TargetEnvironment=Unity
    
    [Transmission Shortcut Group]
    Name=Transmission
    Exec=nautilus Transmission
    TargetEnvironment=Unity
    
    [Videos Shortcut Group]
    Name=Videos
    Exec=nautilus Videos
    TargetEnvironment=Unity
    
  5. Log out and log in again to see the changes.

share
2  
Please use the same formatting and layout as the other answers. –  Cas May 3 '11 at 18:31
4  
@Pablo YOU can tailor it to YOUR home folder. –  scouser73 May 18 '11 at 16:03

Gnome-Terminal Quicklist (auto-update from ssh config)

Here is a small shell script that updates your Gnome-Terminal-Quicklist with all your server entries in your ~/.ssh/config file. No manual manipulation is required. It reads your ~/.ssh/config file and creates the menu items from it. It also adds the "Root Terminal" menu entry.

Gnome terminal quicklist with ssh entries

  1. Copy the script listed below into an empty file and put it in your scripts-folder (we will assume that is ~/bin/ and the script name you choose is unityterm.sh).
  2. Run the script once to add the entries:

    /bin/bash ~/bin/unityterm.sh
    
  3. Optionally you may have cron run the script for you every once in a while. To add it to cron, type the follwing command into a shell:

    crontab -e
    

    An editor will open. There add a line like:

    @reboot /bin/bash/ $HOME/bin/unityterm.sh > /dev/null 2>&1
    

    If you don't do this step, you'll have to run the script by hand every time you change your ~/.ssh/config if you want the quicklist updated.

  4. Changes only take effect on your next login or after you Alt+F2ing

    unity --replace
    

    So do that. Note: Don't run unity --replace in a terminal. If you close that terminal, it will kill unity with it.

  5. Enjoy and have a look at the similar script for nautilus that parses your nautilus bookmarks.

Script:

Here is the script:

#!/bin/bash
# indent-mode: spaces, tabsize: 4, encoding: utf8
#
# © 2011 [email protected] Use under the MIT license:
#     http://www.opensource.org/licenses/mit-license.php
#
# CONTRIBUTORS: jacopoL <[email protected]>
#
# This script updates the unity quicklist menu for gnome-terminal to contain
#+the user's bookmarks. The updates will have efect after unity is restarted
#+(eigther after the next login or by invoking 'unity --replace').

# location of template, unity bar launchers and ssh config file
tertempl="/usr/share/applications/gnome-terminal.desktop"
target="$HOME/.local/share/applications/gnome-terminal.desktop"
bookmarks="$HOME/.ssh/config"

# backup if file allready exists
if [ -e "$target" ]; then
    echo "Creating backup of: $target."
    mv -n "$target" "$target.bak"
fi

# copy template
cp "$tertempl" "$target"
if ! grep -q 'OnlyShowIn=.*Unity' "$target"; then # add only if not already present
    sed -i "s/\(OnlyShowIn=.*\)/\1Unity;/" "$target"
fi

# add entries to template
if ! grep -q 'X-Ayatana-Desktop-Shortcuts=' "$target"; then # add only if not already present
    echo -e "\nX-Ayatana-Desktop-Shortcuts=\n" >> "$target"
else
    echo >> "$target"
fi
bmcount=0        # number of current bookmark
while read bmline; do # walk lines in ssh config file
    # when a new host is found, write the data collected in previous loops
    test=$(echo "$bmline" | grep -oE 'Host[[:space:]]')
    if [ -n "$test" ]; then
        ishost=$(echo "$bmline" | sed -e 's/[ ^I]*Host[ ^I]\+\([-_\.A-Za-z0-9]\+\).*/\1/g')
    fi
    if [ -n "$ishost" ]; then
        if [ -n "$hostname" ]; then
            # write bookmark information
            cat - >> "$target" <<____________EOF
                [Scg$bmcount Shortcut Group]
                Name=SSH into $oldhost
                Exec=gnome-terminal -x ssh $sshuser$hostname
                TargetEnvironment=Unity

____________EOF
            # extend shortcut list with current bookmark, prepending a ; if needed
            sed -i "s/\(X-Ayatana-Desktop-Shortcuts=\(.*;$\|$\)\)/\1Scg${bmcount};/
                    t
                    s/\(X-Ayatana-Desktop-Shortcuts=.*\)/\1;Scg${bmcount};/" "$target"
            bmcount=$(($bmcount+1))
        fi
        hostname=""
        sshuser=""
        oldhost="$ishost"
        ishost=""
    fi
    # collect data: hostname
    test=$(echo "$bmline" | grep -oE 'HostName[[:space:]]')
    if [ -n "$test" ]; then
        hostname=$(echo "$bmline" | sed -e 's/[ ^I]*HostName[ ^I]\+\([-_\.A-Za-z0-9]\+\).*/\1/g')
    fi
    # collect data: ssh user
    test=$(echo "$bmline" | grep -oE 'User[[:space:]]')
    if [ -n "$test" ]; then
        sshuser=$(echo "$bmline" | sed -e 's/[ ^I]*User[ ^I]\+\([-_\.A-Za-z0-9]\+\).*/\1@/g')
    fi
done < "$bookmarks"
# write bookmark information of last bookmark
#+and add a root file manager entry
cat - >> "$target" <<EOF
    [Scg$bmcount Shortcut Group]
    Name=SSH into $oldhost
    Exec=gnome-terminal -x ssh $sshuser$hostname
    TargetEnvironment=Unity

    [RootTM Shortcut Group]
    Name=Root Terminal
    Exec=gksudo gnome-terminal
    TargetEnvironment=Unity
EOF
# extend shortcut list with last bookmark and root file manager
sed -i "s/\(X-Ayatana-Desktop-Shortcuts=.*\)/\1Scg${bmcount};/" "$target"
sed -i "s/\(X-Ayatana-Desktop-Shortcuts=.*\)/\1RootTM;/" "$target"

# Cleanup extra whitespaces
sed -i 's/^[[:space:]]\+//g' "$target"

exit 0
share
  1. Copy 'System Settings' launcher file to your home directory:

    cp /usr/share/applications/gnome-control-center.desktop ~/.local/share/applications

  2. Open the file for editing in gedit:

    gedit ~/.local/share/applications/gnome-control-center.desktop

  3. Add this text to the bottom of the file, then close and save:

    X-Ayatana-Desktop-Shortcuts=GnomeTweak;DiskUtility
    [GnomeTweak Shortcut Group]
    Name=Advanced Settings
    Exec=gnome-tweak-tool
    TargetEnvironment=Unity
    [DiskUtility Shortcut Group]
    Name=Disk Utility
    Exec=palimpsest
    TargetEnvironment=Unity
    
  4. Save the launcher and put it on the Unity panel in place of the original. Note that to have the Advanced Settings quicklist shortcut to work, the package "gnome-tweak-tool" must be installed (available in the repositories).

share

Google Services Launcher

A custom launcher for common services like gmail, calendar, composing a new message.

enter image description here

  1. Create a new file by opening Text Editor and paste the following text into it:

    [Desktop Entry]
    Version=1.0
    Name=Google Services
    Exec=xdg-open https://accounts.google.com/
    Terminal=false
    X-MultipleArgs=false
    Type=Application
    Icon=chrome-https___docs.google.com_
    Categories=Network;WebBrowser;
    StartupNotify=true
    StartupWMClass=docs.google.com
    
    X-Ayatana-Desktop-Shortcuts=Plus;Inbox;Compose;Voice;Contacts;Calendar;Documents;Photos;Maps;Sites;Reader;Bookmarks
    Name[en_US]=Google Services (Gmail)
    [Plus Shortcut Group]
    Name=Plus
    Exec=xdg-open 'https://plus.google.com/u/0/'
    TargetEnvironment=Unity
    [Inbox Shortcut Group]
    Name=InBox
    Exec=xdg-open 'https://mail.google.com/mail/u/0/?shva=1#inbox'
    TargetEnvironment=Unity
    [Compose Shortcut Group]
    Name=Compose
    Exec=xdg-open 'https://mail.google.com/mail/?shva=1#compose'
    TargetEnvironment=Unity
    [Voice Shortcut Group]
    Name=Voice
    Exec=xdg-open 'https://www.google.com/voice/b/0?pli=1#inbox'
    TargetEnvironment=Unity
    [Contacts Shortcut Group]
    Name=Contacts
    Exec=xdg-open 'https://www.google.com/contacts'
    TargetEnvironment=Unity
    [Calendar Shortcut Group]
    Name=Calendar
    Exec=xdg-open 'https://calendar.google.com'
    TargetEnvironment=Unity
    [Documents Shortcut Group]
    Name=Documents
    Exec=xdg-open https://docs.google.com/
    TargetEnvironment=Unity
    [Photos Shortcut Group]
    Name=Photos
    Exec=xdg-open 'https://plus.google.com/u/0/photos'
    TargetEnvironment=Unity
    [Maps Shortcut Group]
    Name=Maps
    Exec=xdg-open 'http://maps.google.com/maps?hl=en&tab=ml'
    TargetEnvironment=Unity
    [Sites Shortcut Group]
    Name=Sites
    Exec=xdg-open 'https://sites.google.com/?tab=m3&pli=1'
    TargetEnvironment=Unity
    [Reader Shortcut Group]
    Name=Reader
    Exec=xdg-open 'https://www.google.com/reader/view/?hl=en&tab=my'
    TargetEnvironment=Unity
    [Bookmarks Shortcut Group]
    Name=Bookmarks
    Exec=xdg-open 'https://www.google.com/bookmarks/l'
    TargetEnvironment=Unity
    
  2. Save the file with this folder location and name:

     ~/.local/share/applications/google-services-launcher.desktop
    
  3. Drag and Drop this file onto the launcher by navigating to ~/.local/share/applications/ in File Manager.

You can download the icon here.

Source

share
1  
Why does it use google-chrome? I guess it would be better to use the default browser, by executing gnome-www-browser link –  Rafał Cieślak Aug 4 '11 at 15:23

Ubuntu Software Center Quicklist

Quickly add PPAs through the software-properties UI and update sources as well.

Software manager quicklist

  1. Copy the original .desktop file to your home folder using Terminal:

    cp /usr/share/applications/ubuntu-software-center.desktop ~/.local/share/applications/

  2. Open the file for editing with gedit:

    gedit ~/.local/share/applications/ubuntu-software-center.desktop

  3. Add the following at the bottom of the file. This should be entered after the line X-Ubuntu-Gettext-Domain=software-center

.

X-Ayatana-Desktop-Shortcuts=SoftwareUpdates;SoftwareProperties;Synaptic;

[SoftwareUpdates Shortcut Group]  
Name=Update Manager  
Exec=update-manager -c  
OnlyShowIn=Unity

[SoftwareProperties Shortcut Group]  
Name=Add/Edit PPAs  
Exec=gksu software-properties-gtk %u  
OnlyShowIn=Unity

[Synaptic Shortcut Group]  
Name=Synaptic Software Manager  
Exec=gksu synaptic %u  
OnlyShowIn=Unity
share

LibreOffice Quicklist

This creates a quicklist for the LibreOffice Start Center launcher.

LibreOffice Quicklist

  1. Copy your original .desktop file into your home directory for editing:

    cp /usr/share/applications/libreoffice-startcenter.desktop ~/.local/share/applications
    
  2. Open in gedit:

    gedit ~/.local/share/applications/libreoffice-startcenter.desktop
    
  3. Edit the MimeType line:

    Find the following line:

    MimeType=application/vnd.openofficeorg.extension;
    

    Replace with:

    MimeType=application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-template;application/vnd.oasis.opendocument.text-web;application/vnd.oasis.opendocument.text-master;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.template;application/vnd.sun.xml.writer.global;application/vnd.stardivision.writer;application/msword;application/vnd.ms-word;application/x-doc;application/rtf;text/rtf;application/vnd.wordperfect;application/wordperfect;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroenabled.12;application/vnd.oasis.opendocument.spreadsheet;application/vnd.oasis.opendocument.spreadsheet-template;application/vnd.sun.xml.calc;application/vnd.sun.xml.calc.template;application/vnd.stardivision.calc;application/vnd.stardivision.chart;application/msexcel;application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.ms-excel.sheet.macroenabled.12;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.template.macroenabled.12;application/vnd.ms-excel.sheet.binary.macroenabled.12;text/csv;application/x-dbf;application/vnd.oasis.opendocument.graphics;application/vnd.oasis.opendocument.graphics-template;application/vnd.sun.xml.draw;application/vnd.sun.xml.draw.template;application/vnd.stardivision.draw;application/vnd.oasis.opendocument.presentation;application/vnd.oasis.opendocument.presentation-template;application/vnd.sun.xml.impress;application/vnd.sun.xml.impress.template;application/vnd.stardivision.impress;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroenabled.12;application/vnd.oasis.opendocument.formula;application/vnd.sun.xml.math;application/vnd.stardivision.math;
    
  4. Highlight and copy the text below, then paste it at the bottom of the .desktop file:

    X-Ayatana-Desktop-Shortcuts=Writer;Impress;Calc;Math;Draw
    
    [Writer Shortcut Group]
    Name=Writer
    Exec=libreoffice -writer %U
    TargetEnvironment=Unity
    
    [Impress Shortcut Group]
    Name=Impress
    Exec=libreoffice -impress %U
    TargetEnvironment=Unity
    
    [Calc Shortcut Group]
    Name=Calc
    Exec=libreoffice -calc %U
    TargetEnvironment=Unity
    
    [Math Shortcut Group]
    Name=Math
    Exec=libreoffice -math %U
    TargetEnvironment=Unity
    
    [Draw Shortcut Group]
    Name=Draw
    Exec=libreoffice -draw %U
    TargetEnvironment=Unity
    

    Note: For LibreOffice 3.4 and 3.4.1: in Exec; libreoffice must be replaced with `libreoffice3.4', but it seems in Oneiric we don't need to add the version number. I'm testing it from Oneiric and leaving default just run well, adding the verison number make the quicklist unusable

  5. Navigate to ~/.local/share/applications and drag'n'drop the LibreOffice Start Center desktop file onto the launcher.

A similar modification can be made to the LibreOffice Writer launcher.

Source

share
1  
For LibreOffice 3.4 and 3.4.1: in Exec; libreoffice must be replaced with libreoffice3.4 . –  Binarylife Jul 1 '11 at 22:21

Clementine Quicklist

enter image description here

Adds play, pause, stop, next, and back to the clementine launcher.

  1. Copy the global clementine.desktop file to your home directory:

    cp /usr/share/applications/clementine.desktop ~/.local/share/applications
    
  2. Edit the file:

    gedit ~/.local/share/applications/clementine.desktop
    
  3. Paste the following code to the bottom of the file:

    X-Ayatana-Desktop-Shortcuts=Play;Pause;Stop;Previous;Next  
    
    [Play Shortcut Group]
    Name=Play
    Exec=clementine --play
    TargetEnvironment=Unity
    
    [Pause Shortcut Group]
    Name=Pause
    Exec=clementine --pause
    TargetEnvironment=Unity
    
    [Stop Shortcut Group]
    Name=Stop
    Exec=clementine --stop
    TargetEnvironment=Unity
    
    [Previous Shortcut Group]
    Name=Previous
    Exec=clementine --previous
    TargetEnvironment=Unity
    
    [Next Shortcut Group]
    Name=Next
    Exec=clementine --next
    TargetEnvironment=Unity
    
share

Wine programs Quicklist

Example with menu items for Dreamweaver and Photoshop.

1. Create custom .desktop file for launcher

gedit ~/.local/share/applications/nautilus-wine.desktop

2. Paste the following code and replace the <username> text to match your home folder username. You need also define variable for each program (variable is after the wine_shortcuts) and then save & close:

[Desktop Entry]

Name=Browse C: Drive
Comment=Open your personal folder
TryExec=nautilus
Exec=xdg-open .wine/dosdevices/c:
Icon=wine
Terminal=false
StartupNotify=true
Type=Application
Categories=GNOME;GTK;Core;
OnlyShowIn=GNOME;Unity;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=nautilus
X-GNOME-Bugzilla-Component=general
X-Ubuntu-Gettext-Domain=nautilus

X-Ayatana-Desktop-Shortcuts=Dreamweaver;Photoshop;ConfigureWine;Winetricks
[Dreamweaver Shortcut Group]
Name=Macromedia Dreaweaver
Exec=/home/<username>/.local/share/applications/scripts/wine_shortcuts dreamweaver
TargetEnvironment=Unity


[Photoshop Shortcut Group]
Name=Adobe Photoshop
Exec=/home/<username>/.local/share/applications/scripts/wine_shortcuts photoshop
TargetEnvironment=Unity

[ConfigureWine Shortcut Group]
Name=Configure Wine
Exec=winecfg
TargetEnvironment=Unity

[Winetricks Shortcut Group]
Name=Winetricks
Exec=winetricks
TargetEnvironment=Unity

3. Create a 'scripts' folder (if it does not exist already) in ~/.local/share/applications folder:

mkdir ~/.local/share/applications/scripts

4. Create the script file wine_shortcuts with gedit:

gedit ~/.local/share/applications/scripts/wine_shortcuts

5. Add this text to the file, setup variables used in step 2, open alacarte and get current command prefix for you program (here is posted only example), replace the <command for dreamweaver/photoshop goes here> then save and close:

    #!/bin/bash

    case $1 in
    dreamweaver)
    <command for dreamweaver goes here>
    ;;
    photoshop)
    <command for photoshop goes here>
    ;;
    esac

6. Make the file executable:

chmod +x ~/.local/share/applications/scripts/wine_shortcuts

7.Drag & drop the nautilus-wine.desktop file from ~/.local/share/applications in nautilus to the Unity Launcher Bar

Notice: variable in 2.) must be the same in 4.)

Example for dreamweaver:

2.)

Exec=/home/<username>/.local/share/applications/scripts/wine_shortcuts dreamweaver

4.)

 #!/bin/bash

 case $1 in
 dreamweaver)
share

Home Icon Quicklist

Home Icon Quicklist

  1. Copy 'Home Folder' launcher file to your home directory:

    mkdir ~/.local/share/applications
    cp /usr/share/applications/nautilus-home.desktop ~/.local/share/applications
    
  2. Open the file for editing in gedit:

    gedit ~/.local/share/applications/nautilus-home.desktop
    
  3. Delete the following line from the file:

    OnlyShowIn=GNOME;
    
  4. Add this text to the bottom of the file, then close and save:

    X-Ayatana-Desktop-Shortcuts=Videos;Documents;Music;Pictures;Downloads
    [Videos Shortcut Group]
    Name=Videos
    Exec=nautilus Videos
    TargetEnvironment=Unity
    
    [Documents Shortcut Group]
    Name=Documents
    Exec=nautilus Documents
    TargetEnvironment=Unity
    
    [Music Shortcut Group]
    Name=Music
    Exec=nautilus Music
    TargetEnvironment=Unity
    
    [Pictures Shortcut Group]
    Name=Pictures
    Exec=nautilus Pictures
    TargetEnvironment=Unity
    
    [Downloads Shortcut Group]
    Name=Downloads
    Exec=nautilus Downloads
    TargetEnvironment=Unity
    
  5. Log out and log in again to see the changes.

Source

share
2  
it seems that this only works with english locales, or at least it does not work for me (german) –  marto May 3 '11 at 17:45
2  
@marto Good Comment!! This is can be rectified by making a small modification....you have to add " Name[de] = the german translation"....and do this for each command. –  nik90 May 3 '11 at 18:29
5  
Make sure the OnlyShowIn line lists Unity: OnlyShowIn=GNOME;Unity; This didn't work for me until I caught this, since my original file only listed GNOME. –  keithjgrant May 6 '11 at 17:28
2  
If "OnlyShowIn=GNOME;Unity;" line is not removed your "Home Folder Launcher Icon" will only launch the app, not control it (youtu.be/oS52pYNFZ6I). A 2nd icon will show up that does the controlling part. I learnt it the hard way, Until this set me right askubuntu.com/questions/35024/… –  Bhargav Nov 28 '11 at 18:09

Filezilla FTP Quicklist

Quickly access your favourite FTP servers with from the Filezilla launcher.

filezilla quicklist

There is two options of making a FileZille quicklist. You can link to sites in the Site Manager (the safe option); or you can enter connection info directly in the .desktop file (the option without the Site Manager).

Link to Site Manager (the safe option)

  1. Copy the Filezilla launcher to your home directory, in Terminal paste the following:

    cp /usr/share/applications/filezilla.desktop ~/.local/share/applications
    
  2. Open this file for editing:

    gedit ~/.local/share/applications/filezilla.desktop
    
  3. Append the text below at the bottom of the .desktop file, adding a "Shortcut Group" for each site you want to link. In the Exec parameter you should put the path of your FTP site in Site Manager. The 2° shortcut directly open the Filezilla Site Manager.

    X-Ayatana-Desktop-Shortcuts=Server1;sitemanager
    
    [Server1 Shortcut Group]
    Name=Site Name
    Exec=filezilla -c "0/Folder Name/Site Name"
    TargetEnvironment=Unity
    
    [sitemanager Shortcut Group]
    Name=Site Manager
    Exec=filezilla -s
    TargetEnvironment=Unity
    

For details, you should look at the Command-line arguments page on Filezilla wiki.

Source


Directly enter connection details (the quick but unsafe option)

Note: There is a security problem with this option in that you will be storing your password in plain text. Do this only if you know the risk, this is a very "hackish" way of doing things. If you use the Site Manager in FileZilla, do use the option above which uses the info already stored in Filezilla Site Manager configuration.

  1. Copy the Filezilla launcher to your home directory, in Terminal paste the following:

    cp /usr/share/applications/filezilla.desktop ~/.local/share/applications
    
  2. Open this file for editing:

    gedit ~/.local/share/applications/filezilla.desktop
    
  3. Highlight and copy the text below, then paste it at the bottom of the .desktop file. Edit the FTP server details to match your own, then save the file.

    X-Ayatana-Desktop-Shortcuts=Server1;
    
    [Server1 Shortcut Group]
    Name=FTP into test server 
    Exec=filezilla ftp://test:[email protected]:21
    TargetEnvironment=Unity
    

    You'll want to change the "test:test" with your username/password respectively, and the "ftp.secureftp-test.com" with the domain of your ftp server.

Source

share

Quicklist for Sonata (MPD client)

Sonata Quicklists

Main point here is to show simple integration with last.fm through pylast and MPC for any MPD client, without using additional modules

Create custom sonata.desktop file in home folder:

gedit ~/.local/share/applications/sonata.desktop

Paste contents:

[Desktop Entry]
Name=Sonata
Comment=Elegant GTK+ music client for the Music Player Daemon
Exec=sonata
Terminal=false
Type=Application
Icon=sonata.svg
Categories=GNOME;Application;AudioVideo;
StartupNotify=true
Encoding=UTF-8

X-Ayatana-Desktop-Shortcuts=Play-Pause;Stop;Previous;Next;Love;Ban;Queue;Add-playing-album;Spectrogram;Audacity

[Play-Pause Shortcut Group]
Name=[ ▯▷ ]  Play/Pause
Exec=sonata pp
TargetEnvironment=Unity

[Stop Shortcut Group]
Name=[  ◻  ]  Stop
Exec=sonata stop
TargetEnvironment=Unity

[Previous Shortcut Group]
Name=[ ▯◁ ]  Previous
Exec=sonata prev
TargetEnvironment=Unity

[Next Shortcut Group]
Name=[ ▷▯ ]  Next
Exec=sonata next
TargetEnvironment=Unity

[Love Shortcut Group]
Name=(  ❤  )  Love track
Exec=bash /home/zetah/scripts/mpd-script.sh love
TargetEnvironment=Unity

[Ban Shortcut Group]
Name=(  ✖  )  Ban track
Exec=bash /home/zetah/scripts/mpd-script.sh ban
TargetEnvironment=Unity

[Queue Shortcut Group]
Name=(  ✚  )  Queue similar
Exec=bash /home/zetah/scripts/mpd-script.sh similar
TargetEnvironment=Unity

[Add-playing-album Shortcut Group]
Name=Add Current Album
Exec=bash /home/zetah/scripts/mpd-script.sh add-album
TargetEnvironment=Unity

[Spectrogram Shortcut Group]
Name=Spectrogram
Exec=bash /home/zetah/scripts/mpd-script.sh wavespec
TargetEnvironment=Unity

[Audacity Shortcut Group]
Name=Open with Audacity
Exec=bash /home/zetah/scripts/mpd-script.sh audacity
TargetEnvironment=Unity

For example "Queue similar" adds similar tracks to currently playing according last.fm match query.

Referenced scripts:
mpd-script.sh
pylast-track.py

share

Transmission Quicklist

enter image description here

  1. Copy the global transmission-gtk.desktop file to your home directory:

    cp /usr/share/applications/transmission-gtk.desktop ~/.local/share/applications
    
  2. Edit the file:

    gedit ~/.local/share/applications/transmission-gtk.desktop
    
  3. Paste the following code to the bottom of the file:

    X-Ayatana-Desktop-Shortcuts=Pause All;Start All;
    
    [Pause All Shortcut Group]
    Name=Pause All
    Exec=transmission-remote -tall --stop
    TargetEnvironment=Unity
    
    [Start All Shortcut Group]
    Name=Start All
    Exec=transmission-remote -tall --start
    TargetEnvironment=Unity
    

You may also show number of downloading torrents and total progress indicator using script from https://github.com/kriomant/transmission-unity-launcher

share

Remmina Quicklist

There is a project in Google Code with a script for automatically creating the quicklist for Remmina, listing saved connections.

Here is the homepage of the project, with installation instructions:
http://code.google.com/p/remmina-unity-launcher/

I have modified the original script, to solve two issues (connection name not correctly found, sort connections by name), here is the script to launch.

#!/bin/bash
# Bash Script to integrate Remmina into Unity Launch bar.
# Creator: Daniel Scholtus
# Version: 2
# Date:    March 23, 2011

if [ -e ~/.local/share/applications/remmina.desktop ]
then
    echo "Deleting old Launcher"
    rm ~/.local/share/applications/remmina.desktop
fi

echo "Creating Base Launcher"
cp /usr/share/applications/remmina.desktop ~/.local/share/applications/remmina.desktop

echo "Adding shortcuts items declaration"
echo "" >> ~/.local/share/applications/remmina.desktop

AYATANA="X-Ayatana-Desktop-Shortcuts="

mkdir /tmp/remmina-unity

FILES=("`ls ~/.remmina/*.remmina`")
for f in ${FILES}
do
    NAME=`cat $f | grep -G -m 1 ^name= | cut -d= -f2`
    FILE=`basename $f .remmina`
    echo $FILE > "/tmp/remmina-unity/$NAME"
done

FILESTEMP=("`ls /tmp/remmina-unity/*`")
for f in ${FILESTEMP}
do
    FILE=`cat "$f"`
    AYATANA=$AYATANA$FILE";"
done

rm /tmp/remmina-unity/ -R

AYATANA=$AYATANA"Settings;Update;Restart"

echo $AYATANA >> ~/.local/share/applications/remmina.desktop
echo "" >> ~/.local/share/applications/remmina.desktop

echo "Adding shortcuts items descriptions"
echo "" >> ~/.local/share/applications/remmina.desktop

echo " - Settings"
echo "[Settings Shortcut Group]" >> ~/.local/share/applications/remmina.desktop
echo "Name=Settings" >> ~/.local/share/applications/remmina.desktop
echo "Exec=remmina" >> ~/.local/share/applications/remmina.desktop
echo "TargetEnvironment=Unity" >> ~/.local/share/applications/remmina.desktop

echo " - Update"
echo "[Update Shortcut Group]" >> ~/.local/share/applications/remmina.desktop
echo "Name=Update List (needs to re-lock to the panel)" >> ~/.local/share/applications/remmina.desktop
echo "Exec=bash ~/.local/bin/remmina-unity.sh" >> ~/.local/share/applications/remmina.desktop
echo "TargetEnvironment=Unity" >> ~/.local/share/applications/remmina.desktop

echo " - Restart"
echo "" >> ~/.local/share/applications/remmina.desktop
echo "[Restart Shortcut Group]" >> ~/.local/share/applications/remmina.desktop
echo "Name=Update List and restart Unity" >> ~/.local/share/applications/remmina.desktop
echo "Exec=bash ~/.local/bin/remmina-unity.sh & setsid unity --replace" >> ~/.local/share/applications/remmina.desktop
echo "TargetEnvironment=Unity" >> ~/.local/share/applications/remmina.desktop

for f in ${FILES}
do
    NAME=`cat $f | grep -G -m 1 ^name= | cut -d= -f2`

    echo " - "$NAME
    echo "" >> ~/.local/share/applications/remmina.desktop
    echo "[`basename $f .remmina` Shortcut Group]" >> ~/.local/share/applications/remmina.desktop
    echo "Name=$NAME" >> ~/.local/share/applications/remmina.desktop
    echo "Exec=remmina -c $f" >> ~/.local/share/applications/remmina.desktop
    echo "TargetEnvironment=Unity" >> ~/.local/share/applications/remmina.desktop
done
share

gFTP Quicklist

h

Access directly the bookmarked sites with gFtp. In Launcher is included the script for Bookmarks List generating

  1. Copy the global gftp.desktop file to your home directory:

    cp /usr/share/applications/gftp.desktop ~/.local/share/applications
    
  2. Open the file for editing with gedit:

    gedit ~/.local/share/applications/gftp.desktop
    
  3. Paste the following code to the bottom of the file change only the <username> to yours:

    X-Ayatana-Desktop-Shortcuts=GenerateB;EditB
    
    [GenerateB Shortcut Group]
    Name=Create Bookmarks List
    Exec=/home/<username>/.local/share/applications/scripts/addbookmarks generateb
    TargetEnvironment=Unity
    
    [EditB Shortcut Group]
    Name=Edit gFTP Bookmarks
    Exec=/home/<username>/.local/share/applications/scripts/addbookmarks editb
    TargetEnvironment=Unity
    
  4. Create a 'scripts' folder (if not exist) in ~/.local/share/applications folder:

    mkdir ~/.local/share/applications/scripts
    
  5. Create the script file 'addbookmarks' with gedit:

    gedit ~/.local/share/applications/scripts/addbookmarks
    
  6. Add this text to the file

    #!/bin/bash
    
    case $1 in
    generateb)
    echo "[Desktop Entry]" >  $HOME/.local/share/applications/gftp.desktop
    echo "Encoding=UTF-8" >>  $HOME/.local/share/applications/gftp.desktop
    echo "Name=gFTP" >>  $HOME/.local/share/applications/gftp.desktop
    echo "Comment=Download and upload files using multiple file transfer protocols" >>  $HOME/.local/share/applications/gftp.desktop
    echo "GenericName=gFTP" >>  $HOME/.local/share/applications/gftp.desktop
    echo "Exec=gftp %u" >>  $HOME/.local/share/applications/gftp.desktop
    echo "Terminal=false" >>  $HOME/.local/share/applications/gftp.desktop
    echo "X-MultipleArgs=false" >>  $HOME/.local/share/applications/gftp.desktop
    echo "Type=Application" >>  $HOME/.local/share/applications/gftp.desktop
    echo "Icon=gftp.png" >>  $HOME/.local/share/applications/gftp.desktop
    echo "Categories=Application;Network;" >>  $HOME/.local/share/applications/gftp.desktop
    echo "X-GNOME-Bugzilla-Bugzilla=GNOME" >>  $HOME/.local/share/applications/gftp.desktop
    echo "X-GNOME-Bugzilla-Product=gftp" >>  $HOME/.local/share/applications/gftp.desktop
    echo "X-GNOME-Bugzilla-Component=general" >>  /$HOME/.local/share/applications/gftp.desktop
    echo "X-GNOME-Bugzilla-Version=2.0.19" >>  $HOME/.local/share/applications/gftp.desktop
    echo "X-Ubuntu-Gettext-Domain=gftp" >>  $HOME/.local/share/applications/gftp.desktop
    echo "" >>  $HOME/.local/share/applications/gftp.desktop
    echo "X-Ayatana-Desktop-Shortcuts=" >>  $HOME/.local/share/applications/gftp.desktop
    awk 'NR>1{print $1}' RS=[ FS=] $HOME/.gftp/bookmarks > /tmp/gftpbookmarks
    N=0
    while read LINE ; do
        N=$((N+1))
    ay=$(sed -n '/X-Ayatana-Desktop-Shortcuts/p' $HOME/.local/share/applications/gftp.desktop)
    shortname=$(echo "FtpSite$N")
    
    
    sed -i "s/$ay/$ay$shortname;/g" $HOME/.local/share/applications/gftp.desktop
    echo "" >>  $HOME/.local/share/applications/gftp.desktop
    echo "[$shortname Shortcut Group]" >>  $HOME/.local/share/applications/gftp.desktop
    echo "Name=$LINE" >>  $HOME/.local/share/applications/gftp.desktop
    echo "Exec=gftp "bookmark://$LINE"" >>  $HOME/.local/share/applications/gftp.desktop
    echo "TargetEnvironment=Unity" >> $HOME/.local/share/applications/gftp.desktop
    
    done < /tmp/gftpbookmarks
    rm /tmp/gftpbookmarks
    
    ay2=$(sed -n '/X-Ayatana-Desktop-Shortcuts/p' $HOME/.local/share/applications/gftp.desktop)
    ay3="GenerateB;EditB"
    sed -i "s/$ay2/$ay2$ay3/g" $HOME/.local/share/applications/gftp.desktop
    echo "" >>  $HOME/.local/share/applications/gftp.desktop
    echo "[GenerateB Shortcut Group]" >>  $HOME/.local/share/applications/gftp.desktop
    echo "Name=Create Bookmarks List" >>  $HOME/.local/share/applications/gftp.desktop
    echo "Exec=$HOME/.local/share/applications/scripts/addbookmarks generateb" >>  $HOME/.local/share/applications/gftp.desktop
    echo "TargetEnvironment=Unity" >>  $HOME/.local/share/applications/gftp.desktop
    echo "" >>  $HOME/.local/share/applications/gftp.desktop
    echo "[EditB Shortcut Group]" >>  $HOME/.local/share/applications/gftp.desktop
    echo "Name=Edit gFTP Bookmarks" >>  $HOME/.local/share/applications/gftp.desktop
    echo "Exec=$HOME/.local/share/applications/scripts/addbookmarks editb" >>  $HOME/.local/share/applications/gftp.desktop
    echo "TargetEnvironment=Unity" >>  $HOME/.local/share/applications/gftp.desktop
    
    zenity --question --text="Your Bookmarks List has been generated. A restart of Unity Is Required to take effect! Would you like to perform this  now?"
    qq=$?
    if [ "$qq" -eq "0" ] ; then 
        unity --replace &
    else
        exit 1
    fi
    ;;
    
    editb)
    zenity --text-info --filename=$HOME/.gftp/bookmarks > /tmp/gftpbookmarks  --title "Modify gFTP Bookmarks"  --editable --width 850 --height 480
    cp /tmp/gftpbookmarks $HOME/.gftp/bookmarks
    rm /tmp/gftpbookmarks
    ;;
    
    esac
    
  7. Make the file executable:

    chmod +x ~/.local/share/applications/scripts/addbookmarks
    
  8. Drag & Drop the gftp.desktop file from ~/.local/share/applications in nautilus to the Unity Launcher Bar

  9. FIRST RUN !!

    Click on the "Edit gFTP Bookmarks" menu item and edit your gftp bookmarks file. By default file contains a lot of ftp sites which are not used. Remove unused bookmarks and close the file. Next, click on the "Create Bookmark List" and your list is generated.

    List editing is with the same way, at first edit the bookmarks list, next generate the new one.

share

Custom Scripts Quicklist with GUI

Create Quicklist launcher for your scripts. Embedded GUI with automatic and manual option for adding entries. The automatic option can only add, with the manual you can modify the file directly.

1. Create custom .desktop file for launcher

gedit ~/.local/share/applications/my_scripts.desktop

2. Paste the following code and edit following:(line 5 is the way to folder with your scripts, in this example, this is folder with the name Scripts, you need to change it for your location. You can change also the line 6 which is an icon. And at the end change <username> text to match your home folder username.

[Desktop Entry]
Name=My Scripts Folder
Comment=Open your scripts folder
TryExec=nautilus
Exec=xdg-open /home/<username>/Scripts
Icon=ibus-engine
Terminal=false
StartupNotify=true
Type=Application
Categories=GNOME;GTK;Core;
OnlyShowIn=GNOME;Unity;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=nautilus
X-GNOME-Bugzilla-Component=general
X-Ubuntu-Gettext-Domain=nautilus

X-Ayatana-Desktop-Shortcuts=AddScript

[AddScript Shortcut Group]
Name=Add New Script
Exec=/home/<username>/.local/share/applications/scripts/addscript
TargetEnvironment=Unity

3. Create a 'scripts' folder (if not exist) in ~/.local/share/applications folder:

mkdir ~/.local/share/applications/scripts

4. Create the script file 'addscript' with gedit (this is the GUI for adding entries to your quicklist):

gedit ~/.local/share/applications/scripts/addscript

5. Add this text to the file,then save and close

#!/bin/bash
menuitem=`zenity --list --title="My Scripts Launcher Manager" \
--width=300 --height=150 \
--text="Select action" \
--column="Pick" --column="Action" \
--radiolist TRUE Add-Script-Automatically FALSE Add/Edit/Delete-Manually`
case $menuitem in
Add-Script-Automatically )
hkey=$(zenity --entry --text "Set  name for your script" --entry-text "" --title "Set name")
if [ -z "$hkey" ]; then
zenity --error --title "Set  name for your script "   --text="The script name is empty. Exiting ..."
exit 0
fi
ay=$(sed -n '/X-Ayatana-Desktop-Shortcuts/p' /$HOME/.local/share/applications/my_scripts.desktop)
shortname2=$(echo "$hkey" | sed 's/\///g')
shortname=$(echo "$shortname2" | sed 's/ /_/g')

hkey3=$(zenity --entry --text "Set command for your script" --entry-text "" --title "Set command")
if [ -z "$hkey3" ]; then
zenity --error --title "Set command "   --text="The command is empty. Exiting ..."
exit 0
fi

sed -i "s/$ay/$ay;$shortname/g" /$HOME/.local/share/applications/my_scripts.desktop
echo "" >>  /$HOME/.local/share/applications/my_scripts.desktop
echo "[$shortname Shortcut Group]" >>  /$HOME/.local/share/applications/my_scripts.desktop
echo "Name=$hkey" >>  /$HOME/.local/share/applications/my_scripts.desktop
echo "Exec=$hkey3" >>  /$HOME/.local/share/applications/my_scripts.desktop
echo "TargetEnvironment=Unity" >> /$HOME/.local/share/applications/my_scripts.desktop


zenity --info --title "New entry added" --text "Changes only take effect on next login"
;;
Add/Edit/Delete-Manually)
zenity --text-info --filename=/$HOME/.local/share/applications/my_scripts.desktop > /tmp/my_scripts.desktop.edited  --title "Add/Edit/Delete Script"  --editable --width 850 --height 480
cp /tmp/my_scripts.desktop.edited /$HOME/.local/share/applications/my_scripts.desktop
rm /tmp/my_scripts.desktop.edited
zenity --info --title "New entry added" --text "Changes only take effect on next login"
;;
esac

6. Make the file executable:

chmod +x ~/.local/share/applications/scripts/addscript

7.Drag & Drop the my_scripts.desktop file from ~/.local/share/applications in nautilus to the Unity Launcher Bar

8. You can start adding entries to your quicklist with clicking on "Add New Script" menu item

share

Quod Libet Quicklist

(new user not allowed to post image :( )

  1. Copy quodlibet.desktop to home folder's local share

    cp /usr/share/applications/quodlibet.desktop ~/.local/share/applications
    
  2. Edit it

    gedit ~/.local/share/applications/quodlibet.desktop
    
  3. Add the following to the end of the .desktop file

    X-Ayatana-Desktop-Shortcuts=Play;Pause;Previous;Next;Shuffle;InOrder;Focus;Hide;
    
    [Play Shortcut Group]
    Name=Play
    Exec=quodlibet --play
    TargetEnvironment=Unity
    
    [Pause Shortcut Group]
    Name=Pause
    Exec=quodlibet --pause
    TargetEnvironment=Unity
    
    [Previous Shortcut Group]
    Name=Previous
    Exec=quodlibet --previous
    TargetEnvironment=Unity
    
    [Next Shortcut Group]
    Name=Next
    Exec=quodlibet --next
    TargetEnvironment=Unity
    
    [Shuffle Shortcut Group]
    Name=Shuffle
    Exec=quodlibet --order=shuffle
    TargetEnvironment=Unity
    
    [InOrder Shortcut Group]
    Name=InOrder
    Exec=quodlibet --order=inorder
    TargetEnvironment=Unity
    
    [Focus Shortcut Group]
    Name=Focus
    Exec=quodlibet --focus
    TargetEnviroment=Unity
    
    [Hide Shortcut Group]
    Name=Hide
    Exec=quodlibet --hide-window
    TargetEnviroment=Unity
    
share

Déjà Dup Quicklist

Déjà Dup Quicklist

  1. Copy Déjà Dup launcher file to your home directory with Terminal:

    cp /usr/share/applications/deja-dup.desktop ~/.local/share/applications
    
  2. Open the file for editing in Text Editor:

    gedit ~/.local/share/applications/deja-dup.desktop
    
  3. Add this text to the bottom of the file, then close and save:

    X-Ayatana-Desktop-Shortcuts=BackupNow;
    
    [BackupNow Shortcut Group]
    Name=Backup Now
    Exec=deja-dup --backup
    TargetEnvironment=Unity
    
  4. Remove Déjà Dup Icon from Launcher (untick Keep In Launcher) then open the application from Dash, the new quicklist should appear and you can re-tick Keep In Launcher.

share

Rhythmbox Quicklist

Screenshot

  1. Copy the Rhythmbox launcher to your home directory, in Terminal paste the following:

    cp /usr/share/applications/rhythmbox.desktop ~/.local/share/applications
    
  2. Open this file for editing:

    gedit ~/.local/share/applications/rhythmbox.desktop
    
  3. Highlight and copy the text below, then paste it at the bottom of the file:

    X-Ayatana-Desktop-Shortcuts=Play;Pause;Previous;Next;Stop
    
    [Play Shortcut Group]  
    Name=Play  
    Exec=rhythmbox-client --play  
    TargetEnvironment=Unity  
    
    [Pause Shortcut Group]  
    Name=Pause  
    Exec=rhythmbox-client --pause  
    TargetEnvironment=Unity  
    
    [Previous Shortcut Group]  
    Name=Previous  
    Exec=rhythmbox-client --previous  
    TargetEnvironment=Unity  
    
    [Next Shortcut Group]  
    Name=Next  
    Exec=rhythmbox-client --next  
    TargetEnvironment=Unity  
    
    [Stop Shortcut Group]  
    Name=Stop  
    Exec=rhythmbox-client --stop  
    TargetEnvironment=Unity
    
  4. Save the file.

share

Quicklist to Add/Remove workspaces rows/columns

Preview

Easily add or remove virtual desktops or workspaces with a Unity icon/quicklist, an option sourly missed in Ubuntu currently. Only option seems to be going into gconf-editor and changing them manually.
Ideally this would make it's way into the Workspace Switcher.

It relies on a script to pull in the current number of rows and columns and add or subtracts one before setting it again. It also checks that it doesn't go below one row or column.

  1. Create a new .desktop file with gedit, in the Terminal type:

    gedit ~/.local/share/applications/workspaces.desktop
    
  2. Copy & Paste this text into the newly created file:

    [Desktop Entry]
    Version=1.0
    Name=Workspaces
    Comment=Change Workspace Numbers
    GenericName=Workspace Editor
    Terminal=false
    Type=Application
    Icon=desktop
    X-Ayatana-Desktop-Shortcuts=AddRow;RmRow;AddColumn;RmColumn;
    
    [AddRow Shortcut Group]
    Name=Add Row
    Exec=workspaces-shortcuts rows +
    TargetEnvironment=Unity
    
    [AddColumn Shortcut Group]
    Name=Add Column
    Exec=workspaces-shortcuts cols +
    TargetEnvironment=Unity
    
    [RmRow Shortcut Group]
    Name=Remove Row
    Exec=workspaces-shortcuts rows -
    TargetEnvironment=Unity
    
    [RmColumn Shortcut Group]
    Name=Remove Column
    Exec=workspaces-shortcuts cols -
    TargetEnvironment=Unity
    
  3. Create a new script with gedit, in the Terminal type:

    gksudo gedit /usr/bin/workspaces-shortcuts
    

    NOTE: gksudo is used because of the location we'll be saving it and because it's a graphical application.

  4. Copy & Paste this text into the newly created file:

    #!/bin/bash
    
    case $1 in 
    rows)t=v;;
    cols)t=h;;
    esac;
    
    check=`gconftool-2 --get /apps/compiz-1/general/screen0/options/${t}size`
    
    if [[ ! ($2 = - && $check < 2 ) ]]
    then
        [[ $2 = [-+] ]] && gconftool-2 --set /apps/compiz-1/general/screen0/options/${t}size --type int $(( $check $2 1 ))
    fi
    
  5. Too make the script executable, in the Terminal type:

    sudo chmod a+x /usr/bin/workspaces-shortcuts

  6. Drag and Drop onto the launcher by navigating to ~/.local/share/applications/ in Nautilus.

    Sorting can be easily done by changing in the .desktop-file the line from:

    X-Ayatana-Desktop-Shortcuts=AddRow;RmRow;AddColumn;RmColumn;
    

    to

    X-Ayatana-Desktop-Shortcuts=AddRow;AddColumn;RmRow;RmColumn;
    

    for example.

share

Ubuntu One Quicklist

Connect to the server, disconnect from the server and stop the Ubuntu One syncdaemon quickly.

enter image description here

  1. Copy the original Ubuntu One Control Panel icon to your home directory for editing:

    cp /usr/share/applications/ubuntuone-control-panel-gtk.desktop ~/.local/share/applications/
    
  2. Open the file for editing with gedit:

    gedit ~/.local/share/applications/ubuntuone-control-panel-gtk.desktop
    
  3. Highlight and copy the text below, then paste it at the bottom of the .desktop file:

    X-Ayatana-Desktop-Shortcuts=Connect;Disconnect;Quit
    
    [Connect Shortcut Group]
    Name=Connect
    Exec=u1sdtool --connect
    TargetEnvironment=Unity
    
    [Disconnect Shortcut Group]
    Name=Disconnect
    Exec=u1sdtool --disconnect
    TargetEnvironment=Unity
    
    [Quit Shortcut Group]
    Name=Stop Ubuntu One
    Exec=u1sdtool --quit
    TargetEnvironment=Unity
    
share
1  
Thanks for this - there are times when the syncing can get annoying (editing and building LaTeX documents, for example) and this gives an easy way to temporarily disable U1 without having to open up the program. –  Sean Fitzpatrick Jun 7 '11 at 2:46

Exaile Unity quicklist

Adds play/pause/stop/previous/next entries to Exaile.

Preview:

enter image description here

  1. Copy exaile.desktop to home folder's local share

    cp /usr/share/applications/exaile.desktop ~/.local/share/applications
    
  2. Edit it

    gedit ~/.local/share/applications/exaile.desktop
    
  3. Add the following to the end of the .desktop file

    X-Ayatana-Desktop-Shortcuts=Play;Pause;Stop;Previous;Next;
    
    [Play Shortcut Group]
    Name=Play
    Exec=exaile --play
    TargetEnvironment=Unity
    
    [Pause Shortcut Group]
    Name=Pause
    Exec=exaile --play-pause
    TargetEnvironment=Unity
    
    [Stop Shortcut Group]
    Name=Stop
    Exec=exaile --stop
    TargetEnvironment=Unity
    
    [Previous Shortcut Group]
    Name=Previous
    Exec=exaile --previous
    TargetEnvironment=Unity
    
    [Next Shortcut Group]
    Name=Next
    Exec=exaile --next
    TargetEnvironment=Unity
    
share

Not the answer you're looking for? Browse other questions tagged or ask your own question.