Easy solution
Close all Firefox windows (also this one!). Run firefox -ProfileManager
and add a new profile for your web application. You can then remove the tab bar in the preferences and all other disturbing GUI elements. Close everything and run the profile manager again to select your default profile this time. Now Firefox should start your default profile if you untick "ask everytime".
Then create a file my_webapplication.desktop
and create a launcher. This is an example for the Google calendar:
[Desktop Entry]
Name=Google Calendar
Exec=firefox -P gcalendar -no-remote
Terminal=false
Type=Application
Icon=firefox
The icon should be better not firefox, but a path to a icon of your choice.
gcalendar
is the profile name I chose before.
Improvement
If your application is already open, opening this launcher again will result in an error. You can install wmctrl
and use this small script to run your web application:
# Is there any window with Google Calendar in the title?
if [ -z "`wmctrl -l|grep 'Google Calendar'`" ]; then
# No --> run it
firefox -P gcalendar -no-remote;
else
# Yes --> change focus to this window
wmctrl -a 'Google Calendar';
fi
Use Chromium
Well... I ḱind of gave up. Chromium is the easiest solution. Just click "Create application shortcut..." (in "Tools") and you're done. You'll find a *.desktop file in ~/.local/share/applications
which can be customized.
You might want to customize the *.desktop file. E.g. docky does not recognize a Chromium web application as a different application, so the Chromium icon is displayed instead. You can change this behaviour using the WMClass as described here. But you will have to add also a parameter --class=MyArbitraryChromiumAppname
as discussed in this bug report. If you want to run Google Calendar your *.desktop file in .local/share/applications/
should look like this:
[Desktop Entry]
Version=1.0
Name=Google Calendar
Exec=/usr/bin/chromium-browser "--app=https://www.google.com/calendar/render?gsessionid=HERE_GOES_THE_SESSION_ID_CREATED_AUTOMATICALLY" --class=gcal
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/home/peter/.icons/google_calendar.png
Categories=Network;WebBrowser;
StartupNotify=true
StartupWMClass=gcal
Note: you have to add --class=gcal
and set the property StartupWMClass=gcal
(you can choose any name instead of gcal).