Eel icon indicating copy to clipboard operation
Eel copied to clipboard

Edge chromium doesn't run in app mode

Open properchopsticks opened this issue 3 years ago • 5 comments

Eel version 0.14

Describe the bug hi, i'm trying to open an empty window in eel using edge chromium and it does work but it opens a new tab instead of a window in app mode. does anyone know how to fix this?

To Reproduce run the following code:

import eel

eel.init("web")

eel.start("main.html", mode="edge", app_mode=True)

Expected behavior an edge window should open in app mode instead of a new tab.

Screenshots n/a

Desktop (please complete the following information):

  • OS: windows 10
  • Browser: edge chromium
  • Version: 104.0.1293.54

Additional context n/a

properchopsticks avatar Aug 19 '22 21:08 properchopsticks

hey so i think i found the problem. apparently in edge.py to launch edge eel runs a method called run() and there it does sps.Popen() with the argument "start microsoft-edge:http://localhost:8000/main.html" and that just opens a new tab in edge. i found this question on stackoverflow where it shows the right command to run in order to open edge as an app to a certain website: https://stackoverflow.com/questions/66748958/how-to-open-website-as-app-in-microsoft-edge-from-cli

can you change the cmd argument at line 9 to take "start msedge --new-window --app=http://localhost:8000/main.html" ? image

thank you

properchopsticks avatar Aug 20 '22 00:08 properchopsticks

also, apparently run() doesn't want to pass any arguments to the cmd variable: image

properchopsticks avatar Aug 20 '22 00:08 properchopsticks

does anyone know how to fix this?

As you pointed out, it looks like a code update is required.

A related design question... is there any reason to preserve the ability to open up content in a new tab (which might suggest a flag or similar is needed)? I can't think of one... does anyone else have a valid use case?

dstricks avatar Aug 22 '22 18:08 dstricks

Hey @properchopsticks can you review pull request #612 and confirm that it meets your needs?

dstricks avatar Sep 29 '22 05:09 dstricks

So! A few things to cover off here.

  1. @properchopsticks - you shouldn't need to wait on a fix from Eel authors to get around this. You can set the mode to 'custom' and then pass the full launch command under cmdline_args, eg something like cmdline_args="start msedge --new-window --app=https://localhost:8000"

  2. We should probably still fix the app_mode option to work correctly for Edge. init.py:49 suggests this is a Chrome only option so we probably need to update the comment there as well if it can be generally supported for other browsers.

A related design question... is there any reason to preserve the ability to open up content in a new tab (which might suggest a flag or similar is needed)? I can't think of one... does anyone else have a valid use case?

  1. I think if there is current behaviour in Eel to support opening pages as tabs (including when multiple start_urls are provided, we shouldn't remove that without a bit more consideration. I'm not sure off the top of my head honestly if this is possible - so we probably need to investigate it first. But if it is, let's not remove or change that functionality without thinking it through. If we do it's a breaking change and should be announced clearly (normally this would mean a major version bump but while we're <1.0.0 we have a bit more leeway).

samuelhwilliams avatar Oct 01 '22 18:10 samuelhwilliams