Compare commits

...

5 Commits

Author SHA1 Message Date
Fierelier 83e65f4273 Add addon: title 2022-12-19 19:20:04 +01:00
Fierelier 34d3249874 Trigger webview:created 2022-12-19 19:19:49 +01:00
Fierelier fc94078f62 Handle exception correctly 2022-12-19 19:19:28 +01:00
Fierelier 25cb0b675f Pull name directly instead of a require 2022-12-19 18:53:45 +01:00
Fierelier 5c51e3fdee main.py to _main.py and event implementation 2022-12-19 18:50:08 +01:00
7 changed files with 34 additions and 3 deletions

View File

@ -13,7 +13,7 @@ def main():
for addonName in addonList:
print("> " +addonName)
try:
addonFile = config.find(mfp.p("addon",addonName,"main.py"))
addonFile = config.find(mfp.p("addon",addonName,"_main.py"))
except Exception as e:
print("Could not find " +addonName+ ": " +str(e))
continue
@ -21,6 +21,7 @@ def main():
addon = mfp.dofile(addonFile) # Add exception handling
browser.addon.add(addonName,addon)
browser.init()
print("Done, starting browser.")
browser.start()

View File

@ -7,6 +7,10 @@ import gi
gi.require_version("Gtk","3.0")
from gi.repository import Gtk
def init():
global event
event = module.require("event.py")
def start():
windows.append(mfp.require("browser").module.require(mfp.p("window","browser.py")).create())
Gtk.main()

View File

@ -0,0 +1,9 @@
browser = mfp.require("browser")
def trigger(name,*args,**kwargs):
for addon in browser.addon.addons:
try:
func = browser.addon.addons[addon].eventHandler[name]
except Exception:
continue
func(*args,**kwargs)

View File

@ -31,12 +31,15 @@ def create():
obj.cMainWrapper.add(obj.cMain)
obj.cParent = self
obj.set_title(mfp.require("browser").name)
obj.set_title(browser.name)
obj.resize(640,480)
obj.connect("configure-event",onResize)
obj.connect("destroy",onClose)
webView = WebKit2.WebView()
webView.cWindow = obj
browser.event.trigger("webview:created",webView)
obj.cWebViews = []
obj.cWebViews.append(webView)
obj.cMain.add(webView)

View File

@ -1 +0,0 @@
windows = []

15
user/addon/title/_main.py Normal file
View File

@ -0,0 +1,15 @@
eventHandler = mfp.Bunch()
browser = mfp.require("browser")
def onTitleChanged(obj,prop):
title = obj.get_title()
if title == "": title = obj.get_uri()
window = obj.cWindow
if len(window.cWebViews) > 1:
title = "Multiple pages"
window.set_title(title + " - " + browser.name)
def onWebviewCreated(webView):
webView.connect("notify::title",onTitleChanged)
eventHandler["webview:created"] = onWebviewCreated