Add addon: newWindow (Allow pages to open new windows)

This commit is contained in:
Fierelier 2023-03-02 23:18:37 +01:00
parent da063b736c
commit c04c2ccc08
2 changed files with 23 additions and 0 deletions

View File

@ -2,6 +2,7 @@ userModules
title
favicon
history
newWindow
settings
settingsNoHardwareAccel

View File

@ -0,0 +1,22 @@
import gi
gi.require_version("WebKit2","4.0")
from gi.repository import WebKit2
browser = mfp.require("browser")
eventHandler = mfp.Bunch()
def decidePolicy(webView,decision,decisionType):
if decisionType == WebKit2.PolicyDecisionType.NEW_WINDOW_ACTION:
webView.cNewWindow = True
decision.use()
return False
def create(webView,navigationAction):
newWebView = browser.createWebView(relatedWebView=webView)
browser.windows.append(browser.module.require(mfp.p("window","browser.py")).create(webViews=[newWebView]))
return newWebView
def onWebviewCreated(webView):
webView.connect("decide-policy",decidePolicy)
webView.connect("create",create)
eventHandler["webview:created"] = onWebviewCreated