--- a/eric6_browser.py Sun Dec 09 15:24:39 2018 +0100 +++ b/eric6_browser.py Sun Dec 09 16:39:35 2018 +0100 @@ -90,8 +90,13 @@ import Globals from Globals import AppInfo +from E5Gui.E5Application import E5Application + from Toolbox import Startup +from WebBrowser.WebBrowserSingleApplication import \ + WebBrowserSingleApplicationClient + def createMainWidget(argv): """ @@ -105,6 +110,7 @@ searchWord = None private = False qthelp = False + single = False for arg in reversed(argv): if arg.startswith("--search="): @@ -116,6 +122,9 @@ elif arg == "--qthelp": qthelp = True argv.remove(arg) + elif arg == "--single": + single = True + argv.remove(arg) elif arg.startswith("--"): argv.remove(arg) @@ -126,7 +135,8 @@ browser = WebBrowserWindow(home, '.', None, 'web_browser', searchWord=searchWord, private=private, - settingsDir=SettingsDir, qthelp=qthelp) + settingsDir=SettingsDir, qthelp=qthelp, + single=single) return browser @@ -142,6 +152,7 @@ ("--search=word", "search for the given word"), ("--settings=settingsDir", "use the given directory to store the settings files"), + ("--single", "start the browser as a single application"), ] appinfo = AppInfo.makeAppInfo(sys.argv, "eric6 Web Browser", @@ -152,10 +163,27 @@ if not Globals.checkBlacklistedVersions(): sys.exit(100) + + # set the library paths for plugins + Startup.setLibraryPaths() + + app = E5Application(sys.argv) + if not "--private" in sys.argv: + client = WebBrowserSingleApplicationClient() + res = client.connect() + if res > 0: + if len(sys.argv) > 1: + client.processArgs(sys.argv[1:]) + sys.exit(0) + elif res < 0: + print("eric6_trpreviewer: {0}".format(client.errstr())) + sys.exit(res) + res = Startup.simpleAppStartup(sys.argv, appinfo, createMainWidget, - installErrorHandler=True) + installErrorHandler=True, + app=app) sys.exit(res) if __name__ == '__main__':