-
Notifications
You must be signed in to change notification settings - Fork 609
Microsoft Edge (Chromium) app mode #251
Description
Dear EEL team, thank you for this incredibly useful module! It is a successful lightweight alternative to Electron. I'm currently building a simple app with EEL. =)
Feature request description
The Microsoft Edge Browser (from version 79.0.309 on) is based on Chromium, which opens up completely new possibilities. Microsoft is currently shipping an update (KB 4541302), which automatically updates Edge to this new base in almost every Win10 installation.
I noticed that you can now use APP MODE with Edge (Chromium) just like Google Chrome. This results in much better app windows even for users who don't have Gooogle Chrome installed.
To use the app mode, 'edge.py' has to be adjusted as follows:
import sys, subprocess as sps, os
name = 'Edge'
def run(path, options, start_urls):
if path != 'edge_legacy':
if options['app_mode']:
for url in start_urls:
sps.Popen([path, '--app=%s' % url] + options['cmdline_args'],
stdout=sps.PIPE, stderr=sps.PIPE, stdin=sps.PIPE)
else:
args = options['cmdline_args'] + start_urls
sps.Popen([path, '--new-window'] + args,
stdout=sps.PIPE, stderr=sys.stderr, stdin=sps.PIPE)
else:
cmd = 'start microsoft-edge:{}'.format(start_urls[0])
sps.Popen(cmd, stdout=sys.stdout, stderr=sys.stderr, stdin=sps.PIPE, shell=True)
def find_path():
if sys.platform in ['win32', 'win64']:
return _find_edge_win()
else:
return None
def _find_edge_win():
import winreg as reg
reg_path = r'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\msedge.exe'
for install_type in reg.HKEY_CURRENT_USER, reg.HKEY_LOCAL_MACHINE:
try:
reg_key = reg.OpenKey(install_type, reg_path, 0, reg.KEY_READ)
edge_path = reg.QueryValue(reg_key, None)
reg_key.Close()
if not os.path.isfile(edge_path):
continue
except WindowsError:
edge_path = 'edge_legacy'
else:
break
return edge_pathIf the new Edge (Chromium) Browser is not found in the system there is a fallback to the old Edge Browser.