The most common way to display a web page in Polywall is to use a "Web source" source in Polywall Designer interface. In this case a web page will be rendered with a built-in Chromium-based browser. Though the vast majority of web sites are compatible with Chromium, some of them are not. In this and some other cases it is beneficial to use an "Application" source in Polywall to launch a third party browser to display a specific web page. This option is available in Polywall Pro version only.
This article describes how to use some well-known web browsers as a video source for Polywall.
A typical recommended command to launch Internet Explorer as an "Application" source is:
"C:\Program Files\internet explorer\iexplore.exe" -noframemerging -k "<url>"
The command-line parameters are:
-noframemerging is used to prevent Internet Explorer from opportunistically merging to other running iexplore processes and run as a child of Polywall Visualizer process.
-k stands for 'kiosk mode' used to hide browser user interface.
"<url>" is a web page URL.
P.S. It should be \Program Files\, not \Program Files (x86)\
"C:\Program Files\internet explorer\iexplore.exe" -noframemerging -k "https://www.youtube.com/embed/XvB7hOY9m90?autoplay=1"
Issues which we need to solve are:
- Google Chrome does not launch separate processes for different web pages, therefore separate user data directories have to be created manually for each running instance of Chrome.
- Google Chrome has an out of the box 'kiosk mode' as in Internet Explorer, it behaves in other manner and will always use all the awailable viewport space, rendering to be not quite compatible with a way Polywall controlls target application's window size. There is a workaround solution to launch Chrome in a windowed mode without window system borders.
A typical recommended command to launch Google Chrome as an "Application" source is:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --app="URL" --user-data-dir="Path to profile"
--app= - it is kiosk mode analogue, which is necessary to hide browser user interface
"URL" - is a web page URL.
--user-data-dir= - command to open chrome in specific profile
"path to profile" - path to specific profile.
Profile should be unique for each source. For example:
First source will look like this - "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --app=https://www.youtube.com --user-data-dir="C:\Users\Podolyak\Desktop\chrome-win\profile1"
Second source should be - "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --app=https://www.facebook.com --user-data-dir="C:\Users\Podolyak\Desktop\chrome-win\profile2"
P.S. If you want to put the same website on the screen two or more times, all of them should have unique profile.
Google Chrome with tabs.
Set path to profile by yourself. Chrome will create a folder with a new profile automaticaly. You need as much profiles as you need chrome source on a videowall.
Example: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="C:\Mychrome\1"
4. Close it in windows mode (If you will close window in full screen mode, the system will open it in full screen mode next time).
P.S. When you reopen chrome browser error popup may appear and you will need to press restore button via management mode.
Mozilla Firefox (Updated 07.05.2019)
Since version 59 launching Firefox as an application source is possible only with management and tab bars. There are three issues to be solved while launching Firefox in Polywall:
- Firefox has no out of the box command-line parameters to be executed as separate process and will always try to find an existing Firefox process to merge in.
- Firefox has no out of the box way to run in full screen mode on startup and hide UI (similar to IE's 'kiosk mode') - no solution.
- Firefox has a complicated inner process structure, especially if 'Multiprocess Firefox' aka 'E10s' is enabled and there has to be a way to prevent it from crashes when Polywall terminates a process.
As Firefox will not create a separate process for a web page, each page that is going to be displayed in Polywall needs to be run in a separate Firefox profile.
To add a profile type in console:
"<path to firefox.exe>\firefox.exe" -no-remote -P
Create as much profiles as needed in an appeared window, a separate profile for every web page that is going to be displayed in Polywall. In this tutorial the profile names used are profile1, profile2, etc, though any names may be chosen.
Creating Polywall sources
For each web page a separate "Application" source has to be created as follows:
"<path to firefox.exe>\firefox.exe" -no-remote -p profile1 <url1>
"<path to firefox.exe>\firefox.exe" -no-remote -p profile2 <url2>
The command-line parameters are:
-no-remote prevents Firefox to communicate with other running firefox instances
-p <profile> launches Firefox instances with separate user profiles created above, as it is impossible to launch several instances of firefox with one profile
<url> is a web page URL
As mentioned above Firefox has to be properly configured to run correctly without crashes in Polywall.
The Firefox settings are available under Firefox configuration editor, which can be accessed by typing about:config in the address bar. Please note, that all of the following settings have to be configured for each user profile separately in a Firefox session invoked with -no-remote -p <profile> parameters.
The recommended settings are:
These two options disable 'Multiprocess Firefox' aka E10s.
These two options prevent Firefox crash recovery dialog, as Firefox considers the termination from outside as a crash.
Running in full screen mode.
Mozilla Firefox has no longer support of full screen mode.