Last active
December 18, 2016 23:48
-
-
Save michvaldes001/419ca507a5089eb739d6 to your computer and use it in GitHub Desktop.
Simple Python + GTK + Webkit browser V0.1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import gtk, webkit | |
#addressbar | |
def go_but(widget): | |
add = addressbar.get_text() | |
try: | |
add.index("://") | |
except: | |
add = "http://"+add | |
addressbar.set_text(add) | |
web_render.open(add) | |
#back button | |
def back_but(widget): | |
web_render.go_back() | |
#forward_button | |
def forward_but(widget): | |
web_render.go_forward() | |
#set window title | |
def new_title(view, frame, title): | |
win.set_title(title) | |
#update url in address bar | |
def on_click_link(view, frame): | |
uri = frame.get_uri() | |
addressbar.set_text(uri) | |
#create window | |
win = gtk.Window() | |
win.set_default_size(1024, 768) | |
win.connect('destroy', lambda w: gtk.main_quit()) | |
box1 = gtk.VBox() | |
win.add(box1) | |
box2 = gtk.HBox() | |
box1.pack_start(box2, False) | |
backbutton = gtk.Button("<<") | |
box2.pack_start(backbutton, False) | |
backbutton.connect('clicked', back_but) | |
forwardbutton = gtk.Button(">>") | |
box2.pack_start(forwardbutton, False) | |
forwardbutton.connect('clicked', forward_but) | |
addressbar = gtk.Entry() | |
addressbar.connect('activate', go_but) | |
box2.pack_start(addressbar) | |
gobutton = gtk.Button("GO") | |
box2.pack_start(gobutton, False) | |
gobutton.connect('clicked', go_but) | |
scroller = gtk.ScrolledWindow() | |
box1.pack_start(scroller) | |
web_render = webkit.WebView() | |
web_render.open("https://www.google.com") | |
web_render.connect("title-changed", new_title) | |
web_render.connect("load-committed", on_click_link) | |
scroller.add(web_render) | |
win.show_all() | |
gtk.main() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import gtk, webkit | |
class browser_instance(): | |
#addressbar | |
def go_but(self, widget): | |
self.add = self.addressbar.get_text() | |
try: | |
self.add.index("://") | |
except: | |
self.add = "http://"+ self.add | |
self.addressbar.set_text(self.add) | |
self.web_render.open(self.add) | |
#back button | |
def back_but(self, widget): | |
self.web_render.go_back() | |
#forward_button | |
def forward_but(self, widget): | |
self.web_render.go_forward() | |
#set window title | |
def new_title(self, view, frame, title): | |
self.win.set_title(title) | |
#update url in address bar | |
def on_click_link(self, view, frame): | |
self.uri = frame.get_uri() | |
self.addressbar.set_text(self.uri) | |
#render window | |
def __init__(self): | |
self.win = gtk.Window() | |
self.win.set_default_size(1024, 768) | |
self.win.connect('destroy', lambda w: gtk.main_quit()) | |
self.box1 = gtk.VBox() | |
self.win.add(self.box1) | |
self.box2 = gtk.HBox() | |
self.box1.pack_start(self.box2, False) | |
self.backbutton = gtk.Button("<<") | |
self.box2.pack_start(self.backbutton, False) | |
self.backbutton.connect('clicked', self.back_but) | |
self.forwardbutton = gtk.Button(">>") | |
self.box2.pack_start(self.forwardbutton, False) | |
self.forwardbutton.connect('clicked', self.forward_but) | |
self.gobutton = gtk.Button("GO") | |
self.box2.pack_start(self.gobutton, False) | |
self.gobutton.connect('clicked', self.go_but) | |
self.addressbar = gtk.Entry() | |
self.addressbar.connect('activate', self.go_but) | |
self.box2.pack_start(self.addressbar) | |
self.scroller = gtk.ScrolledWindow() | |
self.box1.pack_start(self.scroller) | |
self.web_render = webkit.WebView() | |
self.web_render.open("https://www.google.com") | |
self.web_render.connect("title-changed", self.new_title) | |
self.web_render.connect("load-committed", self.on_click_link) | |
self.scroller.add(self.web_render) | |
self.win.show_all() | |
gtk.main() | |
browser_instance() | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
from gi.repository import Gtk, WebKit | |
class browser_instance(): | |
#addressbar | |
def go_but(self, widget): | |
self.add = self.addressbar.get_text() | |
try: | |
self.add.index("://") | |
except: | |
self.add = "http://"+ self.add | |
self.addressbar.set_text(self.add) | |
self.web_render.open(self.add) | |
#back button | |
def back_but(self, widget): | |
self.web_render.go_back() | |
#forward_button | |
def forward_but(self, widget): | |
self.web_render.go_forward() | |
#set window title | |
def new_title(self, view, frame, title): | |
self.win.set_title(title) | |
#update url in address bar | |
def on_click_link(self, view, frame): | |
self.uri = frame.get_uri() | |
self.addressbar.set_text(self.uri) | |
#create bookmark button | |
def bookmark_but(self, widget): | |
self.bookmarks_box.append_text((self.addressbar.get_text())) | |
#go to link on bookmark list | |
def on_bookmarks_box_changed(self, combo): | |
active_link = combo.get_active_text() | |
print active_link | |
self.addressbar.set_text(active_link) | |
self.web_render.open(active_link) | |
#render window | |
def __init__(self): | |
self.win = Gtk.Window() | |
self.win.set_default_size(1024, 768) | |
self.win.connect('destroy', lambda w: Gtk.main_quit()) | |
self.box1 = Gtk.VBox() | |
self.win.add(self.box1) | |
self.box2 = Gtk.HBox() | |
self.box1.pack_start(self.box2, False, False, 0) | |
self.backbutton = Gtk.Button("<<") | |
self.box2.pack_start(self.backbutton, False, False, 0) | |
self.backbutton.connect('clicked', self.back_but) | |
self.forwardbutton = Gtk.Button(">>") | |
self.box2.pack_start(self.forwardbutton, False, False, 0) | |
self.forwardbutton.connect('clicked', self.forward_but) | |
self.gobutton = Gtk.Button("GO") | |
self.box2.pack_start(self.gobutton, False, False, 0) | |
self.gobutton.connect('clicked', self.go_but) | |
self.addressbar = Gtk.Entry() | |
self.addressbar.connect('activate', self.go_but) | |
self.box2.pack_start(self.addressbar, True, True, 0) | |
self.bookmarkbutton = Gtk.Button("BOOKMARK") | |
self.box2.pack_start(self.bookmarkbutton, False, False, 0) | |
self.bookmarkbutton.connect('clicked', self.bookmark_but) | |
self.bookmarks_box = Gtk.ComboBoxText.new() | |
self.bookmarks_box.set_entry_text_column(20) | |
self.bookmarks_box.append_text("BOOKMARKS") | |
self.box2.pack_start(self.bookmarks_box, True, True, 0) | |
self.bookmarks_box.connect("changed", self.on_bookmarks_box_changed) | |
self.scroller = Gtk.ScrolledWindow() | |
self.box1.pack_start(self.scroller, True, True, 0) | |
#manage webkit | |
self.web_render = WebKit.WebView() | |
self.web_render.open("https://www.google.com") | |
self.web_render.connect("title-changed", self.new_title) | |
self.web_render.connect("load-committed", self.on_click_link) | |
self.scroller.add(self.web_render) | |
self.win.show_all() | |
Gtk.main() | |
#call browser_instance class | |
browser_instance() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment