OK, I give up - how the heck do you open a tar.xz file?!?
ongoto - I have been trying different matching combinations between "add back button" and the "def _go_back_cb". I have also tried adding a matching "toolbar.connect" further down. The tab button has all of these matching but I can't replicate it with the back button. I keep getting error "global name 'go_back_requested_cb' is not defined." Here is the snippet of code. I think its lines 286-389 inclusive or thereabouts.
def __init__(self, location_enabled=True, toolbar_enabled=True):
gtk.Toolbar.__init__(self)
# add back button
if toolbar_enabled:
addBackButton = gtk.ToolButton(gtk.STOCK_GO_BACK)
addBackButton.connect("clicked", self._go_back_cb)
self.insert(addBackButton, -1)
addBackButton.show()
# add forward button
if toolbar_enabled:
addForwardButton = gtk.ToolButton(gtk.STOCK_GO_FORWARD)
addForwardButton.connect("clicked", self._go_forward_cb)
self.insert(addForwardButton, -1)
addForwardButton.show()
# add refresh button
if toolbar_enabled:
addRefreshButton = gtk.ToolButton(gtk.STOCK_REFRESH)
addRefreshButton.connect("clicked", self._refresh_cb)
self.insert(addRefreshButton, -1)
addRefreshButton.show()
# add home button
if toolbar_enabled:
addHomeButton = gtk.ToolButton(gtk.STOCK_HOME)
addHomeButton.connect("clicked", self._go_home_cb)
self.insert(addHomeButton, -1)
addHomeButton.show()
# location entry
if location_enabled:
self._entry = gtk.Entry()
self._entry.connect('activate', self._entry_activate_cb)
entry_item = gtk.ToolItem()
entry_item.set_expand(True)
entry_item.add(self._entry)
self._entry.show()
self.insert(entry_item, -1)
entry_item.show()
# add tab button
if toolbar_enabled:
addTabButton = gtk.ToolButton(gtk.STOCK_ADD)
addTabButton.connect("clicked", self._add_tab_cb)
self.insert(addTabButton, -1)
addTabButton.show()
viewSourceItem = gtk.ToggleToolButton(gtk.STOCK_PROPERTIES)
viewSourceItem.set_label("View Source Mode")
viewSourceItem.connect('toggled', self._view_source_mode_cb)
self.insert(viewSourceItem, -1)
viewSourceItem.show()
def _go_back_cb(self, button):
self.emit("go-back-requested")
def _go_forward_cb(self, button):
self.web_view.go_forward()
def _refresh_cb(self, button):
self.web_view.refresh()
def _go_home_cb(self, button):
self.emit()
def location_set_text (self, text):
self._entry.set_text(text)
def _entry_activate_cb(self, entry):
self.emit("load-requested", entry.props.text)
def _add_tab_cb(self, button):
self.emit("new-tab-requested")
def _view_source_mode_cb(self, button):
self.emit("view-source-mode-requested", button.get_active())
class WebBrowser(gtk.Window):
def __init__(self):
gtk.Window.__init__(self)
toolbar = WebToolbar()
content_tabs = ContentPane()
content_tabs.connect("focus-view-title-changed", self._title_changed_cb, toolbar)
content_tabs.connect("new-window-requested", self._new_window_requested_cb)
toolbar.connect("go-back-requested", go_back_requested_cb, content_tabs)
toolbar.connect("load-requested", load_requested_cb, content_tabs)
toolbar.connect("new-tab-requested", new_tab_requested_cb, content_tabs)
toolbar.connect("view-source-mode-requested", view_source_mode_requested_cb, content_tabs)
vbox = gtk.VBox(spacing=1)
vbox.pack_start(toolbar, expand=False, fill=False)
vbox.pack_start(content_tabs)
self.add(vbox)
self.set_default_size(800, 600)
self.connect('destroy', destroy_cb, content_tabs)
self.show_all()
content_tabs.new_tab("http://www.google.com")
If you comment out the offending code relating to the back button, the script launches and the tab button works. The script works for me when launched through Geany and Eric. I haven't tried it as standalone yet. I am pretty sure the three areas of code are linked because I think that each tab is treated as a separate browser and needs the toolbar to be treated as such. Of course, I could be a long way up a very wrong tree too!! Oh, and I commented out the lines to do with inspector.py.
I've just noticed at about line 418 there is a section called "event handlers". It includes a "def new_tab_requested_cb" - maybe the back button needs to be further defined here.