Friday 15 February 2013

How to add custom menus or application shortcuts to GNOME 3.X panel ?

 Yesterday I saw a comment in one of my articles about "Adding a new application to Universal Access Settings". Brief transcript of the conversation is as below :-
@Yogesh-I want to add my own new customize setting in this menu? is it possible ,if yes then how?
@vazhavandan- what kind of customised setting do you want ? Please be more specific
@super hero -i want to add new feature in universal access setting panel that will open particular application for eg.Eekboard
 I admit that i am not geeky enough to hack "Universal Access menu". Here is my workaround.
  • I first install Eekboard(eekboard is a virtual keyboard) using the one click from this page.
  • Then i set about installing a extension known as QuickLaunch. For more details about some cool extensions one can take a look at this article.
  • Then i restart GNOME Shell using command launcher (Alt+F2) and then typing in r followed by return or enter key. Now the extension will appear in top panel / taskbar.
  • I click on "Create new launcher..' menu in the extension and it opens up"gnome-desktop-item-edit" application where i can create shortcut for any application.
Notes
By default all new shortcuts or launchers are placed in below folder:-
/home/<profileName>/.local/share/gnome-shell/quicklaunch
(OR)
~/.local/share/gnome-shell/quicklaunch
All the GNOME Shell Extensions are installed into below folder:-
/home/<profileName>/.local/share/gnome-shell/extensions
(OR)
~/.local/share/gnome-shell/extensions
Creating new menu item for Eekboard
Creating new menu item for Eekboard Quicklaunch Extension
Now i can launch the application using the new menu
Launching Eekboard using Quicklaunch Extension from GNOME Shell Panel
Update to Article:- 
 The user pointed out that he / she did not want to use quicklaunch and pointed out to files under frolder /usr/share/gnome-shell/js/ui/status/
@super hero -
Thank You for your reply.
i don't want to use Quick Launch.
I want to add new option on Universal Access setting Panel ,which will open installed application.
i came to know about accessibility.js file (/usr/share/gnome-shell/js/ui/
status/),which has all UI details, but i am not getting how it launches that particular application.
 I found the file in question accessibility.js and I opened that file and added the below lines and it worked. I never dreamt GNOME would be some simple to change :-)
this.menu.addSettingsAction(_("Universal Access Settings"), 'gnome-universal-access-panel.desktop');
//Add the damn new virtual keyboard
this.menu.addSettingsAction(_("Eekboard"), 'eekboard.desktop');
 
Screenshot of line addition
Adding Eekboard launcher To Accessibility.js using Geany
The menu appears under "Universal..."
Launching Eekboard from Universal Access Settings GNOME Shell Panel

4 comments:

  1. Thank You for your reply.
    i don't want to use Quick Launch.
    I want to add new option on Universal Access setting Panel ,which will open installed application.
    i came to know about   accessibility.js file (/usr/share/gnome-shell/js/ui/status/) ,which has all UI details, but i am not getting how it  launches that  particular application.

    ReplyDelete
  2.  Dear Superhero, All you ever needed to do was to add a simple line as described above. Hope that answers your question. On the other hand, if you need those fancy sliders then it is a different ball game altogether. You may need to write / edit some xml files called schema and  stuff :-)

    ReplyDelete
  3.  Thank You so much.

    ReplyDelete
  4.  Hi Super Hero, Thanks to you i learnt something today :-)
    >>Thank You so much.
    You are welcome
    >>please be there for me when i need your help .
    Will try my best. Don't expect too much . I am not Mr Linux know all ( i don't compile my own kernels ) :-)

    ReplyDelete