1

I found only answers to that old dashboard which actually had some kind of settings button.

I'm looking for a way to organise my favourite programs for easy access like the start button in windows. Somewhere to keep programs like Firefox and Excel. I would like to do this without overly cluttering my screen and am open towards privacy conscious external packages but prefer a minimalistic style.

Thank you guys!

3
  • what you propose also crossed my mind.. having more applications occupying one space, like in andrid. Tell me how to do that, please. ----------------------- As to my question_: How can I pin programs (I like) to the Dash in 16.10? ----------------------- or set up an equivalent of that (using other means), something that creates the same effect - having multiple programs in one easily accessible place on the toolbar
    – Thia
    Mar 11, 2017 at 12:44
  • 1
    Hi @Thia, will post in a minute. Mar 11, 2017 at 13:19
  • 1
    You mentioned hidden lists. See this: omgubuntu.co.uk/2016/09/… As for pinning files, it is not supposed to have changed in16.10 which is why i am like Jacob also confused Mar 11, 2017 at 13:24

1 Answer 1

1

1. Combining multiple applications into one icon

To combine multiple applications in one icon in the launcher, you can use QLE Quicklist Editor


Disclaimer: I am the author of the application. The first version was developed when (I believe) 11.04 was just released, but the most recent version still works fine on 16.04. Currently rewriting it, but slowly, because it still works fine with current Ubuntu versions


To use the application

  1. Install QLE Quicklist Editor:

    sudo add-apt-repository ppa:vlijm/qle
    sudo apt-get update
    sudo apt-get install qle
    
  2. As an example, I will add a few applications to my pinned Bluefish icon:

    enter image description here

    Open the quicklist editor:

    enter image description here

    Click on the big + icon, with the small + orange icon inside. In the popup list, choose "Add an application shortcut".

  3. In the listbox, select your application and press Add

    enter image description here

  4. Done. Your applications was added to the icon:

    enter image description here

Repeat this for every application you want to add to the icon.

Note

Make sure your application (in this case Bluefish) is not running when you edit the icon, else you will have to log out/in for the changes to be applied.


2. Alternatively, run your favorite applications from a menu in the panel

Use the indicator below to make your favorite applications easily accessible With the setup below, you can have your applications under an icon in the panel:

enter image description here

The script

#!/usr/bin/env python3
import subprocess
import os
import signal
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('AppIndicator3', '0.1')
from gi.repository import Gtk, AppIndicator3

currpath = os.path.dirname(os.path.realpath(__file__))

class Indicator():
    def __init__(self):
        self.app = 'update_setting'
        iconpath = currpath+"/icon.png"
        self.indicator = AppIndicator3.Indicator.new(
            self.app, iconpath,
            AppIndicator3.IndicatorCategory.SYSTEM_SERVICES)
        self.indicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)       
        self.indicator.set_menu(self.create_menu())

    def getscripts(self):
        apps = [l.strip().split("|") for l in open(currpath+"/applist").readlines()\
                if not l == "\n"]
        for l in apps: 
            menuitem = Gtk.MenuItem(l[0])
            menuitem.connect("activate", self.run_script, l[1])
            self.menu.append(menuitem)

    def create_menu(self):
        self.menu = Gtk.Menu()
        self.getscripts()
        # quit
        item_quit = Gtk.MenuItem('Quit')
        sep = Gtk.SeparatorMenuItem()
        self.menu.append(sep)
        item_quit.connect('activate', self.stop)
        self.menu.append(item_quit)
        self.menu.show_all()
        return self.menu

    def run_script(self, widget, script):
        subprocess.Popen(["/bin/bash", "-c", script])

    def stop(self, source):
        Gtk.main_quit()

Indicator()
signal.signal(signal.SIGINT, signal.SIG_DFL)
Gtk.main()

The icon

enter image description here

How to use

  1. Create a folder to contain the script, the icon and a application list (see further)
  2. Copy the script into an empty file, save it as list_applications.py in the folder you created.
  3. Copy the icon (right-click -> save as), save it as (exactly) icon.png in one and the same folder as the script.
  4. Now create, again in the very same folder, a file, (exactly) named applist(no extension). Now add for each of your applications a line, with the name you want to use for the application, and the command to run it. Use the delimiter |e.g.:

    enter image description here

  5. Test- run the script with the command:

    python3 /path/to/list_applications.py
    

    If all works fine, add it to Startup Applications: Dash > Startup Applications > Add. Add the command:

    /bin/bash -c "sleep 10 &&  python3 /path/to/list_applications.py"
    

Note

If you add or remove applications to or from the list, the script needs to be restarted.

10
  • 1
    @Thia WOW, that is an old post. Which of the tutorials are you referring to? ~/.local/share/applications is a hidden directory by default. press Ctrl + H to make it visible. There is an other option however, will look it up... Mar 11, 2017 at 14:14
  • 1
    @Thia no, it isn't. I might update it, since ` X-Ayatana-Desktop-Shortcuts=` is totally outdated. Only a few applications use that format. I only know Inkscape from the top of my head. Mar 11, 2017 at 14:35
  • 1
    Hi @Thia added a second option. Run your favorite apps from the panel! Mar 11, 2017 at 15:02
  • 1
    @Thia glad it works :) Mar 11, 2017 at 15:27
  • 1
    Hi @Thia see this: paste.ubuntu.com/24158315 , an example. OnlyShowIn=Unity; is deprecated, but won't hurt. A few fields in your link are unnecessary. Mar 11, 2017 at 16:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .