giffer

Create .gif images from sites like youtube.com
Log | Files | Refs | LICENSE

commit 1ce1fcd85192d534153e3f5b963092d2d69310b4
parent 3a089f62512fe4d36882b665da0bc1f4697fe7ab
Author: Jack Mordaunt <jackmordaunt@gmail.com>
Date:   Fri, 16 Nov 2018 17:02:29 +1300

[+] Add option to use Chrome to render ui.

github.com/zserge/lorca

Diffstat:
Mcmd/desktop/main.go | 24+++++++++++++++++++++++-
Mgo.mod | 1+
Mgo.sum | 3+++
3 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/cmd/desktop/main.go b/cmd/desktop/main.go @@ -1,6 +1,11 @@ package main import ( + "context" + "syscall" + "os/signal" + "os" + "github.com/zserge/lorca" "flag" "fmt" "log" @@ -25,6 +30,7 @@ var ( verbose bool headless bool browser bool + chrome bool static http.Handler // responsible for serving UI files. ) @@ -35,6 +41,7 @@ func init() { flag.BoolVar(&verbose, "v", false, "verbose mode") flag.BoolVar(&headless, "headless", false, "headless mode; run only the server") flag.BoolVar(&browser, "browser", false, "open in default browser instead of webview; overriden by [headless]") + flag.BoolVar(&chrome, "chrome", false, "use chrome to render the UI instead of the native webview") flag.Parse() if devServer != "" { t, err := url.Parse(devServer) @@ -93,9 +100,21 @@ func main() { log.Printf("restarting browser") }, } - if err := b.Open(url); err != nil { + if err := b.Run(url); err != nil { log.Fatalf("opening browser: %v", err) } + } else if chrome { + b, err := lorca.New(url, "", 800, 600) + if err != nil { + log.Fatalf("opening chrome: %v", err) + } + defer b.Close() + sigc := make(chan os.Signal) + signal.Notify(sigc, os.Interrupt, syscall.SIGTERM) + select { + case <-sigc: + case <-b.Done(): + } } else { view := webview.New(webview.Settings{ Title: "Giffer", @@ -107,4 +126,7 @@ func main() { }) view.Run() } + if err := svr.Shutdown(context.Background()); err != nil { + log.Printf("shutting down server: %v", err) + } } diff --git a/go.mod b/go.mod @@ -12,6 +12,7 @@ require ( github.com/jackmordaunt/video-downloader v0.0.0-20181113035814-f0fc43af906f github.com/kardianos/osext v0.0.0-20170510131534-ae77be60afb1 // indirect github.com/pkg/errors v0.8.0 + github.com/zserge/lorca v0.1.0 github.com/zserge/webview v0.0.0-20181018084947-f390a2df9ec5 golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869 ) diff --git a/go.sum b/go.sum @@ -43,11 +43,14 @@ github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/zserge/lorca v0.1.0 h1:2kD6J29C7lMT8gfiFSgItrNT7FC8M71arC9AMDqch9o= +github.com/zserge/lorca v0.1.0/go.mod h1:gTrVdXKyWxNhc8aUb1Uu3s0mY343arR1T6jUtxmBxR8= github.com/zserge/webview v0.0.0-20181018084947-f390a2df9ec5 h1:1zYVGLwZR4gPRQdEiOBf9s63ZHGfCkQ/p99d1zHuZBQ= github.com/zserge/webview v0.0.0-20181018084947-f390a2df9ec5/go.mod h1:a1CV8KR4Dd1eP2g+mEijGOp+HKczwdKHWyx0aPHKvo4= golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869 h1:kkXA53yGe04D0adEYJwEVQjeBppL01Exg+fnMjfUraU= golang.org/x/crypto v0.0.0-20181112202954-3d3f9f413869/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181102091132-c10e9556a7bc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181108082009-03003ca0c849 h1:FSqE2GGG7wzsYUsWiQ8MZrvEd1EOyU3NCF0AW3Wtltg= golang.org/x/net v0.0.0-20181108082009-03003ca0c849/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8 h1:YoY1wS6JYVRpIfFngRf2HHo9R9dAne3xbkGOQ5rJXjU=