How Do I Open Fixed Window In Firefox (like Chrome app mode)?

I'm essentially wanting to create a desktop shortcut to open a window of Firefox without tabs, locked address bar, no menu, etc.

Similar to what some pop ups look like or what Chromium Desktop Apps look like.

What options can I use to accomplish this from the command line?


I was looking for something like this for a while, so here is how I made my own Firefox 'app' mode.

For Googlenauts with Windows/Mac 'Set Up Firefox' & 'Alternatively...' should also work on other OSs, perhaps with a few tweaks to the commands used, whilst 'Create Launcher' should work only for most Desktop Environments that implement the freedesktop 'specifactions'.

Set Up Firefox

First run firefox --ProfileManager from terminal (you may need to close any running instances of Firefox first, or use the -new-instance option).
Create a new profile and call it app. Select the 'Default' one (IMPORTANT: otherwise by default it will start the app profile you are creating) and press 'Exit'.

Firefox Profile Manager

Now run firefox -P app. This will start Firefox from the new app profile you just created. As removing the tabs and navigation bar is now difficult or impossible in Firefox's settings, you will need to install some extensions to remove them - these ones work, though may be better ones available that hide the bars permanently:

  • Hide Tab bar with one Tab - hides the tab bar when there is only one tab open.
  • Hide Navigation Bar - you need to press F2 to show/hide the nav bar

Edit: Both options of hiding the tab+nav bars is also included with Classic Theme Restorer - small icons can also be set for a more compact layout.

Now, when you run firefox -P app -new-instance http://URL (e.g. firefox -P app -new-instance https://askubuntu.com/q/487936/178596), you should get a Firefox window like this: Firefox window with only title bar

Also, when you open Firefox by running firefox or clicking the Firefox button, it should open your normal Firefox profile with the tab and nav bars.

Works in Firefox 30.0, 40.0, partially tested in 52.

Create Launcher

You probably want to create a launcher to open your app from the menu - you can do so using this template:

[Desktop Entry]
Name=<APP NAME>
GenericName=<APP NAME>
#Comment=Browse the Web
Exec=firefox -P app -new-instance <https://URL>
Icon=<ICON>
Terminal=false
Type=Application
#MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true
#Categories=Network;WebBrowser;
Keywords=<KEYWORDS>

Where:

  • <APP NAME> is the name of your app
  • <https://URL> is the URL you want shown by default on launching the app. -new-instance is optional but allows the Firefox App to be run as the same time as normal Firefox. See also: Mozilla Developer - Command Line options and the output of firefox --help.
  • <ICON> is the name of a icon /usr/share/icons or ~/.local/share/icons, or the path to a icon file (preferably PNG or SVG I think).
  • <KEYWORDS> - Relevant keywords delimited by ;, you can include words you can use to search for the launcher in the Dash/Menu - e.g. Paper;Ink;Toner; - Optional: comment it out with a # at the beginning of the line if you don't use this.

For more info on how .desktop files work, you can read this


You can also follow both above steps, and create various different app profiles, just remember if you use a different name to app - e.g. gmailapp, you need to use that name consistently instead of app.

Also, I'm not sure the -new-instance option is needed much any more, I have left it in anyway.

See also: - https://superuser.com/questions/468580/create-application-shortcut-chromes-feature-in-firefox

Alternatively...

I was looking for a solution to create a script so I could run a command and create Firefox apps (so without extensions etc), and the following userChrome.css works well at hiding all the toolbars:

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
#TabsToolbar,
#PersonalToolbar,
#BookmarksToolbar,
#MenuToolbar,
#tabbrowser-tabs,
#nav-bar,
#TabsToolbar { display: none !important; }

I haven't tested it too much yet, thought it will be annoying to use since it hides all the open tabs....


I have an easier way I usually do this. It works with a stock Firefox installation without any customization. You can even change the height and width of the window.

The command:

firefox -url 'data:text/html;charset=utf-8,<!DOCTYPE html><html><body><script>window.open("http://google.com", "_blank","height=400,width=600,menubar=no,location=no,toolbar=no,left=100,top=100")<%2Fscript><%2Fbody><%2Fhtml>'

Just change http://google.com to the URL. You can also change the height and width variables (in pixels).


Firefox 73+ has Site-Specific Browsers: https://bugzilla.mozilla.org/show_bug.cgi?id=1283670

  • First set browser.ssb.enabled to true in about:config.

  • Then call your app with -ssb instead of -url.

For example:

firefox -ssb https://www.youtube.com

opens YouTube in this mode.


Kiosk mode

Similar, but not exactly the same is kiosk mode:

firefox -kiosk -new-window https://yourwebapplication.whatever

In this mode, input options will be partially limited (e.g. no right-click context menu). Otherwise your addons still work and you can change the current address by reaching for the hidden address bar with Alt+d or F6. Your sessions and cookies will also be kept the same. If you wish to avoid that use:

firefox --kiosk --private-window https://yourwebapplication.whatever

Exiting fullscreen

  • Your window manager might let you bind a global shortcut key to toggle fullscreen for any application.
  • Your window manager might have a window operations menu from which to control fullscreen (Alt+F3 for KDE).
  • To accomplish this from a terminal window or script you can use e.g. wmctrl:
wmctrl -r "Mozilla Firefox" -b toggle,fullscreen
  • Many other GUI and CLI (i.e. terminal) tools might help you as well here.

Getting the content to be 100% of the non-fullscreen window

Next, you might want to remove the window border (also with a global keybinding or from the window operations menu.

The last barrier left might be hiding toolbars and such. You can toggle those off:

  • from the menubar - reached with Alt+v and then arrow keys.
  • with keybindings if they have any - e.g. Ctrl+Shift+b for the bookmark toolbar; or Ctrl+h for the history sidebar;

Since geek1011's solution doesn't work after Firefox 57, here's my solution:

I wrote a small piece of code to create an application window, and present a list of webapps based on a custom-defined list. Copy the code I posted here, then create a bookmerklet that points to: javascript:[paste code here].

Just customise the details in the appList object to match your needs.

Note you still need to configure Firefox as explained in ADTC's answer to allow window.open to create tab-less, toolbar-less, scrollbar-less windows.