webui-dev / webui

Use any web browser or WebView as GUI, with your preferred language in the backend and modern web technologies in the frontend, all in a lightweight portable library.
https://webui.me
MIT License
2.63k stars 157 forks source link

Add support for Epiphany #225

Closed malisipi closed 10 months ago

malisipi commented 10 months ago

Adds Epiphany support ( Related with #220 )

image

fibodevy commented 10 months ago

Missclick 😆

Add headless mode to the checklist

malisipi commented 10 months ago

It seems to Epiphany has no support for headless mode yet.

fibodevy commented 10 months ago

Well, I guess WebUI is for UI, so its fine. Those who need headless can use webui_show_browser() with a specific browser.

malisipi commented 10 months ago

Kiosk nor fullscreen mode is not supported as command line flag. However epiphany can be tricked with loading "pre-created session" by library. Also changing the title requires two desktop files. First one is needed for system (to load name, icon, wmclass etc.), second is needed for loading only title (why it's just not using desktop file that created for system?). After all, it's possible although poor documentation (nearly no useful documentation about it) of Epiphany.

malisipi commented 10 months ago

App mode

Ekran Görüntüsü - 2023-09-24 10-11-43

Kiosk mode

Ekran Görüntüsü - 2023-09-24 10-13-04

malisipi commented 10 months ago

Most of examples is working seamless. Ekran Görüntüsü - 2023-09-24 10-35-08 Ekran Görüntüsü - 2023-09-24 10-42-57 Ekran Görüntüsü - 2023-09-24 10-42-32 Ekran Görüntüsü - 2023-09-24 10-39-22 Ekran Görüntüsü - 2023-09-24 10-36-28

hassandraga commented 10 months ago

Is ffffffffffffffffffffffffffffffffffffffff necessary? Other than that, it seems good to me.

malisipi commented 10 months ago

It's random ID for Epiphany. In Epiphany, every application window requires an ID. So it's required.

hassandraga commented 10 months ago

Can you please try to run two instances of the same app? I'm just wondering if Epiphany may cause issues in a production environment.

malisipi commented 10 months ago

Second application window is not starting while first instance is running. Maybe this can create a issue.

malisipi commented 10 months ago

image

It's possible (in same profile) however; I need to apply to library

malisipi commented 10 months ago

Ekran Görüntüsü - 2023-09-26 19-53-07

After 84e8395, multi-instance can work without any issue.

hassandraga commented 10 months ago

Does the title always show WebUI and not the actual app title?

malisipi commented 10 months ago

Epiphany doesn't allow to change browser title by webpage. So, i have two options about it. I will blank it or i will choose to use "WebUI". I preferred the second option.

fibodevy commented 10 months ago

Should the end user even notice its a web browser? Whats your point of view on this @hassandraga?

malisipi commented 10 months ago

Epiphany is ordered in the last option in the browser list. That means if there's no compatible browser with WebUI, it will open Epiphany rather than closing the application that they're no supported browser by WebUI.

hassandraga commented 10 months ago

I really appreciate your efforts @malisipi to support Epiphany. Based on the results, Epiphany may cause more issues than beneficial production use. I appreciate your time, but I suggest not adding Epiphany to the supported list.