From 1ba470a63113adc4e72fd550ac9e6a4145ea5a59 Mon Sep 17 00:00:00 2001 From: Daniel Barlow Date: Sat, 5 Mar 2022 23:05:03 +0000 Subject: [PATCH] viewplex: only relay events from focused page --- just/viewplex.fnl | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/just/viewplex.fnl b/just/viewplex.fnl index 207e5ce..e59517b 100644 --- a/just/viewplex.fnl +++ b/just/viewplex.fnl @@ -15,11 +15,14 @@ { :listen (fn [_ name fun] (if (not (. relay-events name)) - (v:listen name #(listeners:notify name $1)))) (each [_ v (pairs views)] + (v:listen name #(if (= v foreground-view) + (listeners:notify name $1))))) (table.insert relay-events name) (listeners:add name fun)) + :widget widget + :add-view (fn [self webview] (set foreground-view webview) (webview.widget:show) @@ -30,6 +33,14 @@ (tset views page webview) (set widget.page page) page)) + + :focus (fn [_ page] + (let [view (. views page)] + (set foreground-view view) + (each [_ prop (ipairs relay-events)] + (listeners:notify :uri (. view.properties prop))) + (set widget.page page))) + :visit #(and foreground-view (foreground-view:visit $2)) :stop-loading #(and foreground-view (foreground-view:stop-loading))