Ubuntu – Why is Firefox Prism not in the repositories anymore

11.0412.04firefoxprism

Prism is a simple XULRunner-based browser which hosts web applications without the full browser interface. It seems as if Firefox Prism was removed from the repos since 10.04; there is no package for Natty (11.04), Oneiric (11.10) or Precise (12.04), only for the LTS versions Hardy (8.04) and Lucid (10.04).

People are writing about incompatibility issues with newer Firefox versions, but I'm still using Prism without problems on Maverick (10.10, no updates anymore) with the newest Firefox from the PPA.

Is there any reason why Prism was removed? Is there any reason I sould not use it and not install it manually? Is there something better or some alternative for >=12.04?

I know it is possible to create a menu entry (a .destkop file) which points to firefox http://someurl.com/, but I'd like also to keep the histories, cache, cookies etc. separted. In additon I find it nice that prism comes with a simplified interface without address bar and so on.

Best Answer

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).

Related Question