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
Now i can launch the application using the new menu
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');
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.
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 :-)
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 ) :-)
Thank You for your reply.
ReplyDeletei 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.
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 :-)
ReplyDeleteThank You so much.
ReplyDeleteHi Super Hero, Thanks to you i learnt something today :-)
ReplyDelete>>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 ) :-)