The unified diff between revisions [039aca14..] and [37db6d83..] is displayed below. It can also be downloaded as a raw diff.

#
#
# add_file "kairosis.ephy-extension"
#  content [5bbdbed8de4c0c869161fc96bad29fab808be561]
#
# add_file "kairosis.glade"
#  content [699a46c52f6b0437b927cf8b99c2f82ea992f223]
#
# patch "kairosis.py"
#  from [c44be4d43c01d4dae036238bc1faca9faca45e02]
#    to [559d403f6f3803dfb7f799ac173f1396c8193ed6]
#
============================================================
--- kairosis.ephy-extension	5bbdbed8de4c0c869161fc96bad29fab808be561
+++ kairosis.ephy-extension	5bbdbed8de4c0c869161fc96bad29fab808be561
@@ -0,0 +1,10 @@
+[Epiphany Extension]
+Name=Kairosis DevHelp
+Description=DevHelp-like functionality in Epiphany
+Authors=Grahame Bowland <grahame@angrygoats.net>
+Version=1
+URL=http://viewmtn.angrygoats.net/branch/net.angrygoats/kairosis/
+
+[Loader]
+Type=python
+Module=kairosis
============================================================
--- kairosis.glade	699a46c52f6b0437b927cf8b99c2f82ea992f223
+++ kairosis.glade	699a46c52f6b0437b927cf8b99c2f82ea992f223
@@ -0,0 +1,154 @@
+<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
+<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">
+
+<glade-interface>
+<requires lib="gnome"/>
+
+<widget class="GtkWindow" id="window1">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">window1</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">False</property>
+  <property name="urgency_hint">False</property>
+
+  <child>
+    <widget class="GtkTable" id="kairosis_table">
+      <property name="visible">True</property>
+      <property name="n_rows">2</property>
+      <property name="n_columns">2</property>
+      <property name="homogeneous">False</property>
+      <property name="row_spacing">0</property>
+      <property name="column_spacing">0</property>
+
+      <child>
+	<widget class="GtkNotebook" id="notebook1">
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="show_tabs">True</property>
+	  <property name="show_border">True</property>
+	  <property name="tab_pos">GTK_POS_TOP</property>
+	  <property name="scrollable">False</property>
+	  <property name="enable_popup">False</property>
+
+	  <child>
+	    <placeholder/>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label2">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">label2</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">False</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="type">tab</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <placeholder/>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label3">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">label3</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">False</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0.5</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	      <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	      <property name="width_chars">-1</property>
+	      <property name="single_line_mode">False</property>
+	      <property name="angle">0</property>
+	    </widget>
+	    <packing>
+	      <property name="type">tab</property>
+	    </packing>
+	  </child>
+	</widget>
+	<packing>
+	  <property name="left_attach">0</property>
+	  <property name="right_attach">2</property>
+	  <property name="top_attach">1</property>
+	  <property name="bottom_attach">2</property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkButton" id="button1">
+	  <property name="visible">True</property>
+	  <property name="can_focus">True</property>
+	  <property name="label">gtk-close</property>
+	  <property name="use_stock">True</property>
+	  <property name="relief">GTK_RELIEF_NORMAL</property>
+	  <property name="focus_on_click">True</property>
+	</widget>
+	<packing>
+	  <property name="left_attach">1</property>
+	  <property name="right_attach">2</property>
+	  <property name="top_attach">0</property>
+	  <property name="bottom_attach">1</property>
+	  <property name="x_options">shrink|fill</property>
+	  <property name="y_options"></property>
+	</packing>
+      </child>
+
+      <child>
+	<widget class="GtkLabel" id="label1">
+	  <property name="visible">True</property>
+	  <property name="label" translatable="yes">&lt;b&gt;Kairosis DevHelp&lt;/b&gt;</property>
+	  <property name="use_underline">False</property>
+	  <property name="use_markup">True</property>
+	  <property name="justify">GTK_JUSTIFY_LEFT</property>
+	  <property name="wrap">False</property>
+	  <property name="selectable">False</property>
+	  <property name="xalign">0</property>
+	  <property name="yalign">0.5</property>
+	  <property name="xpad">0</property>
+	  <property name="ypad">0</property>
+	  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+	  <property name="width_chars">-1</property>
+	  <property name="single_line_mode">False</property>
+	  <property name="angle">0</property>
+	</widget>
+	<packing>
+	  <property name="left_attach">0</property>
+	  <property name="right_attach">1</property>
+	  <property name="top_attach">0</property>
+	  <property name="bottom_attach">1</property>
+	  <property name="x_options">shrink|fill</property>
+	  <property name="y_options"></property>
+	</packing>
+      </child>
+    </widget>
+  </child>
+</widget>
+
+</glade-interface>
============================================================
--- kairosis.py	c44be4d43c01d4dae036238bc1faca9faca45e02
+++ kairosis.py	559d403f6f3803dfb7f799ac173f1396c8193ed6
@@ -7,6 +7,7 @@ import gtk
 import sys

 import gtk
+import gtk.glade
 import gobject
 import gtk.keysyms
 import pango
@@ -34,18 +35,22 @@ def attach_window(window):
 _actions = [('ShowKairosis', None, '_Kairosis DevHelp', None, None, kairosis_cb)]

 def attach_window(window):
-    debug("attach_window ran")
-    # just a mite evil; let's stick a bar down the side of the notebook
-    hbox = gtk.HBox()
-    label = gtk.Label("Test")
-    hbox.add(label)
+    # load the notebook, and splice it into a new horizontal box
+    pack_into = gtk.HPaned()
+    glade_str = open('/home/grahame/mtn/kairosis/kairosis.glade').read()
+    glade_obj = gtk.glade.xml_new_from_buffer(glade_str, len(glade_str), "kairosis_table")
+    pack_into.add(glade_obj.get_widget("kairosis_table"))

+    # grab the notebook out of the window, and splice it into that box
     notebook = window.get_notebook()
     notebook_p = notebook.parent
-    notebook.reparent(hbox)
-    notebook_p.add(hbox)
-    hbox.show_all()
+    notebook.reparent(pack_into)
+    notebook_p.add(pack_into)

+    # show everything
+    pack_into.show_all()
+
+    # add our menu items
     ui_manager = window.get_ui_manager()
     group = gtk.ActionGroup("Kairosis")
     group.add_actions(_actions, window)