Title: The command line of launching Edge on Linux hangs
Type: behavior Stage:
Components: Library (Lib) Versions: Python 3.11
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: rayluo, steve.dower
Priority: normal Keywords: easy, newcomer friendly

Created on 2021-08-05 18:58 by rayluo, last changed 2021-08-05 20:22 by steve.dower.

Messages (2)
msg399030 - (view) Author: Ray Luo (rayluo) Date: 2021-08-05 18:58
Launching Chrome on Linux from command line:

    $ export BROWSER=google-chrome; python -m webbrowser

    It can successfully launch Chrome with the specified web page opened in a new tab.
    And the console command line finishes BEFORE the web page being fully loaded in the browser. That is the desirable behavior.

Launching Edge on Linux from command line:

    $ export BROWSER=microsoft-edge; python -m webbrowser

    The command line hangs until the Edge window is closed.

That hanging symptom can be resolved by writing a deliberate script to webbrowser.register("...", None, webbrowser.BackgroundBrowser("microsoft-edge")) and then use that registered browser. But it was not obvious, and it took trial-and-error to reach that solution.

Could it be possible to have the "BROWSER=microsoft-edge; python -m webbrowser" work out of the box, without hanging?

Is it because Edge is not currently predefined and handled inside It seems not an easy decision to add new browser into, though, based on the 2nd and 3rd comments in this old issue:
msg399037 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2021-08-05 20:22
Adding a new browser should be pretty easy, and it seems like that's all that is needed here. It has to go into a few places though to support each platform, and unfortunately it's only good for 3.11, and not any of the existing releases.
Date User Action Args
2021-08-05 20:22:06steve.dowersetversions: + Python 3.11, - Python 3.7
nosy: + steve.dower

messages: + msg399037

keywords: + easy, newcomer friendly
2021-08-05 18:58:31rayluocreate