Important notice: No special attempts have been made to make this browser secure for web browsing. Both the host window and the loadad pages can use plugins; all other options are set to their default values. See also Electron BrowserWindow and Electron <webview> Tag. Use at your own risk!
Download one of the releases from the releases page, unzip the file and
copy the resulting directory to any place you like. On the Mac you'd probably just
copy the SIB app (inside the unzipped folder) to /Applications.
Just double click SIB (Mac) or SIB.exe (Windows). SingleInstanceBrowser will open
and show a blank window with an address bar. The address bar is very primitive, don't
expect the same features you get from regular browsers. All it does is to try to
auto-complete some URLs but without any sophistication.
Examples:
www.idesis.de => http://www.idesis.de (ok)
HttP://www.idesis.de => http://www.idesis.de (ok)
http:/www.idesis.de => http:/www.idesis.de (wrong)
Users/doe/Desktop/SomePDF.pdf => http://users/doe/Desktop/SomePDF.pdf (wrong)
/Users/doe/Desktop/SomePDF.pdf => file:///Users/doe/Desktop/SomePDF.pdf (ok)
c:\somedir\SomePDF.pdf => http://c/somedir/SomePDF.pdf (wrong)
/c:\somedir\SomePDF.pdf => file:///c:/somedir/SomePDF.pdf (ok)
SingleInstanceBrowser accepts an arbitrary number of command line parameters but only the last one is taken as a URL which should be opened. Any other parameters are ignored. For the URLs passed the same restrictions/rules as above apply.
Mac:
/Applications/SIB.app/Contents/MacOS/SIB www.idesis.de
/Applications/SIB.app/Contents/MacOS/SIB /Users/doe/Desktop/SomePDF.pdfStarting the executable form inside the app bundle is very unusual but it is one way to open multiple instances of an application. But if SingleInstanceBrowser is configured to allow only one instance then even starting the executable again won't create another instance, instead the URL given via command line will be opened in the current running instance.
The recommended way is to use the open command:
open -g -b de.idesis.singleinstancebrowser http://www.idesis.de
open -g -b de.idesis.singleinstancebrowser /Users/doe/Desktop/SomePDF.pdfIf you use open to navigate to a web page you have to enter a complete vaild URL
(prefixed with http:// or https:// but file:// will also work) otherwise open will
treat the argument as a file name and tell you that it doesn't exist.
The default behaviour of open is to prevent multiple instances of an application, but
if you really need it then you can use open with -n:
open -n -b de.idesis.singleinstancebrowser http://www.idesis.deHowever, this does only work, if SingleInstance is set to false (see below). If it is
set to true the given URL won't be passed to the already running instance.
Windows:
The behaviour is the same like on the Mac, but starting SingleInstanceBrowser from the command line is straight forward:
SIB.exe www.idesis.de
SIB.exe /c:\somedir\SomePDF.pdfYou can also quit a running instance via command line (if SingleInstance is true, see below).
Mac:
/Applications/SIB.app/Contents/MacOS/SIB quitor
open -g -b de.idesis.singleinstancebrowser http:quitSimply using quit here isn't possible because it would be interpreted by the open command
as a file, therefore http:quit is used as a pseudo URL to "fool" the open command and pass
it through to the running instance.
Windows:
SIB.exe quitThere is only one configuration file:
Mac:
~/Library/Application Support/de.idesis.singleinstancebrowser/settings.json
Windows:
%APPDATA%\de.idesis.singleinstancebrowser\settings.json
At the very first start of SingleInstanceBrowser this file is created from a template which resides in the following directory:
Mac:
/Applications/SIB.app/Contents/Resources/app.asar.unpacked/res/settings.json
Windows*:
c:\Program Files\SIB-x.y.z-win32-x64\resources\app.asar.unpacked\res\settings.json
*Assuming a standard installation in %ProgramFiles%.
This default configuration (from the application directory above) looks like this:
{
"Window": {
"Left": 50,
"Top": 50,
"Width": 1024,
"Height": 768
},
"ShortCuts": {
"Global": true,
"ToggleAddressBar": [
"mod+t"
],
"ToggleInternalDevTools": [
"mod+shift+d"
],
"ToggleDevTools": [
"mod+d"
],
"FocusLocationBar": [
"mod+l"
],
"InternalReload": [
"mod+shift+r",
"shift+f5"
],
"Reload": [
"mod+r",
"f5"
],
"GoBack": [
"ctrl+alt+left"
],
"GoForward": [
"ctrl+alt+right"
],
"ExitHTMLFullscreen": [
"esc"
],
"ToggleWin32Menu": [
"ctrl+h"
]
},
"UserAgent": "",
"Permissions": [
"fullscreen"
],
"AllowPopups": false,
"AllowNewWindows": true,
"ClearTraces": false,
"SingleInstance": true,
"FocusOnNewURL": true,
"HardwareAcceleration": true,
"ContentProtection": false,
"Win32MenuState": 1,
"Homepage": ""
}These are also the default values for every property in case of a malformed JSON file or if any of the values is invalid, missing or has the wrong type.
If you want to prepare a deplyoment on multiple machines in an organization you can install a copy of SingleInstanceBrowser on your machine, adjust the settings to your needs and then deploy this copy to the target machines. On the target machines these settings will be used then as the initial default settings.
-
The
Windowobject configures the initial window position and size when SingleInstanceBrowser is started. -
The
ShortCutsobject configures the available keyboard shortcuts. The value of theGlobalkey controls how keyboard shortcuts are enabled/disabled. Withfalseall shortcuts are disabled if the URL field in the address bar is focused. Withtrueshortcuts are enabled even if the URL field is focused.Every entry is an array of strings, so you can assign multiple shortcuts to every command, (see
Reload). The keymodbelow is mapped to theCommand-key on the Mac and to theCtrl-key on Windows.The term host window below means the native window (
Electron.BrowserWindow), which effectively is also a web page but only contains thewebviewtag which itself contains the actual page. You can open the Chrome developer tools to debug the SingleInstanceBrowser window itself withmod+shift+d. To debug the actual web page you'd usemod+dinstead.Please note that there are also other common keyboard shortcuts in the main menu (for example for Cut, Copy, Paste etc.). Currently these menu shortcuts are not configurable.
Key ShortCuts (default) Action ToggleAddressBarmod+tShow/hide the addressbar. ToggleInternalDevToolsmod+shift+dShow/hide developer tools for the host window. ToggleDevToolsmod+dShow/hide developer tools for the current page. FocusLocationBarmod+lShow addressbar and focus the URL entry field. InternalReloadmod+shift+r, shift+f5Reload the host window. Reloadmod+r, f5Reload the current page. GoBackctrl+alt+leftGo one step back in the browser history. GoForwardctrl+alt+rightGo one step forward in the browser history. ExitHTMLFullscreenescLeave HTML fullscreen (for example from YouTube videos). ToggleWin32Menuctrl+hShow/hide the main menu on Windows platforms (not available on the Mac). If you want to disable a keyboard shortcut set its value to
nullor an empty string (""). You can assign your own keyboard shortcuts to any of the keys above. For available key combinations please see the documentation of Mousetrap. -
UserAgentwill be used to setnavigator.userAgentin the browser window. If this value is missing or an empty string (""), the defaultnavigator.userAgentfrom the builtin Chromium engine will be used. You can set this value to any string you like. If you want to prevent a user agent to be sent then set this value to a single space (" "). -
Permissionsis an array of strings which controls the behaviour if a web page asks for a specific permission. The default is to allow fullscreen requests. If you also want to allow notifications from web pages the value would be["fullscreen", "notifications"]. -
With
AllowPopupsset totruethe current window can open other popup windows. -
With
AllowNewWindowsset totruethe current window can open new windows when links in the current page want to be opened in new windows/tabs. Setting this tofalsecan significantly degrade the browsing experience. -
If
ClearTracesis set totruethen any temporary data like caches, local storage, cookies etc. will be deleted when SingleInstanceBrowser is closed. Deleting means the complete removal of the contents of the following directory:Mac:
~/Library/Application Support/de.idesis.singleinstancebrowserWindows:
%APPDATA%\de.idesis.singleinstancebrowserThe only exception is the
settings.jsonfile which is left to keep user settings.Please note: on Windows the removal of most files/directories currently fails silently due to a bug in the Electron framework. On the Mac some files can also remain, but they don't contain any private data.
-
If
SingleInstanceis set totruethen only one instance of SingleInstanceBrowser is allowed (lets call it A). If you try to start another instance (B), the already running instance A will be given the command line parameters from B and B will quit immediately. -
If
FocusOnNewURLis set totrueandSingleInstanceis alsotruethen starting another instance will cause the already running instance to activate its window and make it the forground window (regardless of a given command line URL). Setting this value tofalseopens the given URL (if any) in the current instances window (A) but it won't be activated. -
On some systems you may encounter graphics artifacts in web pages, in such cases you can try to set
HardwareAccelerationtofalse. -
Setting
ContentProtectiontotrueprevents screenshots from the browser window. On the Mac a screenshot from the window itself will cause an error message. Even taking a screenshot of the complete desktop won't show anything from SingleInstanceBrowser. On Windows the result contains the window title and borders of SingleInstanceBrowser but the content area will be black. -
Win32MenuStatesets the behaviour of the main menu on Windows platforms. This setting is ignored on the Mac.0means that the main menu isn't available at all. Setting the value to1enables the main menu but doesn't show it on startup (see respective shortcut).2enables the main menu and shows it on startup. Any other value will cause the default setting (1) to be used. -
The string in
Homepagecontains the URL to be opened by default if no URL was given via command line.Homepageis ignored at all if it is an empty string("").
MIT © idesis GmbH, Rellinghauser Straße 334F, D-45136 Essen