Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import "os"
- import "github.com/mattn/go-gtk/gtk"
- import "github.com/mattn/go-webkit/webkit"
- import "flag"
- import s "strings"
- func main() {
- url := flag.String("url", "https://duckduckgo.com", "a string")
- w := flag.Int("w", 800, "an int")
- h := flag.Int("h", 600, "an int")
- flag.Parse()
- gtk.Init(nil)
- window := gtk.NewWindow(gtk.WINDOW_TOPLEVEL)
- window.SetTitle("GOSurf")
- window.Connect("destroy", gtk.MainQuit)
- vbox := gtk.NewVBox(false, 1)
- entry := gtk.NewEntry()
- if (s.Contains(*url, ".")) {
- if (s.Contains(*url, "http")) {
- entry.SetText(*url)
- } else {
- entry.SetText("https://"+*url)
- }} else {
- entry.SetText("https://duckduckgo.com/?q="+*url)
- }
- vbox.PackStart(entry, false, false, 0)
- swin := gtk.NewScrolledWindow(nil, nil)
- swin.SetPolicy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
- swin.SetShadowType(gtk.SHADOW_IN)
- webview := webkit.NewWebView()
- webview.Connect("load-committed", func() {
- entry.SetText(webview.GetUri())
- })
- swin.Add(webview)
- vbox.Add(swin)
- entry.Connect("activate", func() {
- webview.LoadUri(entry.GetText())
- })
- window.Add(vbox)
- window.SetSizeRequest(*w, *h)
- window.ShowAll()
- proxy := os.Getenv("HTTP_PROXY")
- if len(proxy) > 0 {
- soup_uri := webkit.SoupUri(proxy)
- webkit.GetDefaultSession().Set("proxy-uri", soup_uri)
- soup_uri.Free()
- }
- entry.Emit("activate")
- gtk.Main()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement