(local lgi (require :lgi)) (local lfs (require :lfs)) (local { : Gtk : Gdk : WebKit2 : cairo } lgi) (local Command (require :command)) (local Frame (require :frame)) (local Buffer (require :buffer)) (local search (require :search)) ;;; when we decide how to do an init file/rc file, this will go in it (local my-keymap { "g" ["visit-location" {:buffer #$1.buffer }] "BackSpace" ["back" {:buffer #$1.buffer }] "M-q" ["quit-browser" {}] "C-x" { "C-c" ["quit-browser" {}] "b" ["switch-to-buffer" {}] } }) (local history (require :history)) (tset _G :history (history.open (.. (os.getenv "HOME") "/.dunlin-history.db"))) (let [f (Frame.new my-keymap) b (Buffer.new "main")] (f:show-buffer b) (b:visit (.. "file://" (lfs.currentdir) "/doc/index.html"))) (let [socketdir (or (os.getenv "XDG_RUNTIME_DIR") (os.getenv "HOME"))] ((. (require :socket-repl) :start) (.. socketdir "/dunlin.sock"))) (Gtk.main)