commit 64cd3a986c608b1ae639c76a2477f9f82590e2f2
parent e9fdcc423a12dce2d9fd1dd68a8f18b4c8e5b646
Author: Daniel Barlow <dan@telent.net>
Date: Sat, 19 Feb 2022 15:46:09 +0000
Merge branch 'main' of github.com:telent/just
Diffstat:
2 files changed, 26 insertions(+), 12 deletions(-)
diff --git a/just/just.fnl b/just/just.fnl
@@ -159,7 +159,6 @@ progress, trough {
(box:add (Gtk.Label { :label "Open tabs" }))
-
(each [i w (pairs tabs)]
(when (> i 0)
(box:pack_start
@@ -172,6 +171,15 @@ progress, trough {
(load-webview-thumbnail w))
false false 5)))
+ (box:pack_start (Gtk.Button
+ {
+ :label " + "
+ :width 300
+ :height 200
+ :on_clicked #(bus:publish $1 :new-tab)
+ })
+ false false 5)
+
(scrolledwindow:add box)
(scrolledwindow:show_all)
))
@@ -186,13 +194,16 @@ progress, trough {
(when (= num 0)
(update-tab-overview bus tabs page)))
})
- new-tab (fn [self child]
- (let [v (or child (new-webview bus))
- i (widget:append_page v)]
+ add-page (fn [v]
+ (let [i (widget:append_page v)]
(tset tabs i v)
(v:show)
(set widget.page i)
v))
+ new-tab (fn [self]
+ (let [v (add-page (new-webview bus))]
+ (v:load_uri "about:blank")
+ v))
tab-overview (Gtk.ScrolledWindow)
current #(. tabs widget.page)]
(bus:subscribe :fetch #(match (current) c (c:load_uri $2)))
@@ -218,13 +229,17 @@ progress, trough {
(tset tabs i nil)
(update-tab-overview bus tabs tab-overview)
(widget:set_current_page 0)))
- (new-tab nil tab-overview)
+ (add-page tab-overview)
{
:new-tab new-tab
:current-tab current
:widget widget
- :show-tab-overview #(widget:set_current_page 0)
+ :show-tab-overview (fn []
+ (widget:set_current_page 0)
+ (bus:publish tab-overview :url-changed false)
+ (bus:publish tab-overview :title-changed "Open tabs"))
+
}))
(local completions
@@ -261,10 +276,6 @@ progress, trough {
:on_clicked #(bus:publish $1 :stop-loading)
})
(: :set_image (named-image "process-stop")))
- new-tab (Gtk.Button {
- :on_clicked #(bus:publish $1 :new-tab)
- :label "➕"
- })
refresh (doto (Gtk.Button {
:on_clicked #(bus:publish $1 :reload)
})
@@ -283,7 +294,10 @@ progress, trough {
(= (views:current-tab) tab))]
(bus:subscribe :url-changed
- #(when (visible? $1) (url:set_text $2)))
+ #(when (visible? $1)
+ (doto url
+ (: :set_text (or $2 ""))
+ (: :set_editable (and $2 true)))))
(bus:subscribe :title-changed
#(when (visible? $1)
@@ -308,7 +322,6 @@ progress, trough {
(nav-bar:pack_start stop false false 2)
(nav-bar:pack_start url true true 2)
(nav-bar:pack_end show-tabs false false 2)
- (nav-bar:pack_end new-tab false false 2)
(container:pack_start nav-bar false false 5)
(container:pack_start progress-bar false false 0)
diff --git a/just/shell.nix b/just/shell.nix
@@ -0,0 +1 @@
+with import <nixpkgs> {} ; callPackage ./. {}