Index: src/mlx/common.py
===================================================================
--- src/mlx/common.py	(revision 955)
+++ src/mlx/common.py	(revision 994)
@@ -7,13 +7,4 @@
 # Common definitions to be used by both the GUI and possible other parts
 #
-# The main purpose of this module is to import Gtk+2 or 3 and related modules
-# and provide common names for them. There is a similator module in the GUI
-# part (\ref mlx.gui.common), which contains the GUI-specific names. This one
-# contains only what is used by other modules as well.
-# The variable \c pygobject tells which version of Gtk is being used. If it is
-# \c True, Gtk+ 3 is used via the PyGObject interface. Otherwise Gtk+ 2 is
-# used, which is the default on Windows or when the \c FORCE_PYGTK environment
-# variable is set.
-
 #---------------------------------------------------------------------------------------
 
@@ -22,13 +13,5 @@
 #-------------------------------------------------------------------------------
 
-if "FORCE_PYGTK" in os.environ:
-    print("Using PyGTK")
-    pygobject = False
-    import gobject
-else:
-    print("Using PyGObject")
-    pygobject = True
-
-    from gi.repository import GObject as gobject
+from gi.repository import GObject as gobject
 
 #-------------------------------------------------------------------------------
Index: src/mlx/gui/callouts.py
===================================================================
--- src/mlx/gui/callouts.py	(revision 919)
+++ src/mlx/gui/callouts.py	(revision 994)
@@ -477,8 +477,5 @@
 
         menu = self._fileListPopupMenu
-        if pygobject:
-            menu.popup(None, None, None, None, event.button, event.time)
-        else:
-            menu.popup(None, None, None, event.button, event.time)
+        menu.popup(None, None, None, None, event.button, event.time)
 
     def _buildFileListPopupMenu(self):
Index: src/mlx/gui/checklist.py
===================================================================
--- src/mlx/gui/checklist.py	(revision 954)
+++ src/mlx/gui/checklist.py	(revision 994)
@@ -243,6 +243,5 @@
         selection = self._fileList.get_selection()
         (model, paths) = selection.get_selected_rows()
-        indexes = [(path.get_indices() if pygobject else path)[0]
-                   for path in paths]        
+        indexes = [path.get_indices()[0] for path in paths]
         indexes.sort()
         if not up:
@@ -273,5 +272,5 @@
             maxIndex = None
             for path in paths:
-                [index] = path.get_indices() if pygobject else path
+                [index] = path.get_indices()
                 if minIndex is None or index<minIndex: minIndex = index
                 if maxIndex is None or index>maxIndex: maxIndex = index
@@ -326,8 +325,5 @@
 
         menu = self._fileListPopupMenu
-        if pygobject:
-            menu.popup(None, None, None, None, event.button, event.time)
-        else:
-            menu.popup(None, None, None, event.button, event.time)
+        menu.popup(None, None, None, None, event.button, event.time)
 
     def _buildFileListPopupMenu(self):
Index: src/mlx/gui/common.py
===================================================================
--- src/mlx/gui/common.py	(revision 954)
+++ src/mlx/gui/common.py	(revision 994)
@@ -16,13 +16,4 @@
 #
 # Common definitions and utilities for the GUI
-#
-# The main purpose of this module is to provide common definitions for things
-# that are named differently in Gtk+ 2 and 3. This way the other parts of the
-# GUI have to check the version in use very rarely. The variable \c pygobject
-# tells which version is being used. If it is \c True, Gtk+ 3 is used via the
-# PyGObject interface. Otherwise Gtk+ 2 is used, which is the default on
-# Windows or when the \c FORCE_PYGTK environment variable is set.
-#
-# Besides this there are some common utility classes and functions.
 
 #-----------------------------------------------------------------------------
@@ -30,165 +21,82 @@
 appIndicator = False
 
-if not pygobject:
-    print("Using PyGTK")
-    pygobject = False
-    import pygtk
-    pygtk.require("2.0")
-    import gtk.gdk as gdk
-    import gtk
-    import pango
-
-    try:
-        import appindicator
-        appIndicator = True
-    except Exception as e:
-        pass
-
-    MESSAGETYPE_ERROR = gtk.MESSAGE_ERROR
-    MESSAGETYPE_QUESTION = gtk.MESSAGE_QUESTION
-    MESSAGETYPE_INFO = gtk.MESSAGE_INFO
-
-    RESPONSETYPE_NONE = gtk.RESPONSE_NONE
-    RESPONSETYPE_OK = gtk.RESPONSE_OK
-    RESPONSETYPE_YES = gtk.RESPONSE_YES
-    RESPONSETYPE_NO = gtk.RESPONSE_NO
-    RESPONSETYPE_ACCEPT = gtk.RESPONSE_ACCEPT
-    RESPONSETYPE_REJECT = gtk.RESPONSE_REJECT
-    RESPONSETYPE_CANCEL = gtk.RESPONSE_CANCEL
-
-    ACCEL_VISIBLE = gtk.ACCEL_VISIBLE
-    CONTROL_MASK = gdk.CONTROL_MASK
-    DIALOG_MODAL = gtk.DIALOG_MODAL
-    WRAP_WORD = gtk.WRAP_WORD
-
-    JUSTIFY_CENTER = gtk.JUSTIFY_CENTER
-    JUSTIFY_LEFT = gtk.JUSTIFY_LEFT
-
-    CONTROL_MASK = gdk.CONTROL_MASK
-    SHIFT_MASK = gdk.SHIFT_MASK
-    BUTTON1_MASK = gdk.BUTTON1_MASK
-
-    SCROLL_UP = gdk.SCROLL_UP
-    SCROLL_DOWN = gdk.SCROLL_DOWN
-
-    SPIN_USER_DEFINED = gtk.SPIN_USER_DEFINED
-
-    FILE_CHOOSER_ACTION_SELECT_FOLDER = gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER
-    FILE_CHOOSER_ACTION_OPEN = gtk.FILE_CHOOSER_ACTION_OPEN
-    FILE_CHOOSER_ACTION_SAVE = gtk.FILE_CHOOSER_ACTION_SAVE
-
-    SELECTION_MULTIPLE = gtk.SELECTION_MULTIPLE
-
-    SHADOW_IN = gtk.SHADOW_IN
-    SHADOW_NONE = gtk.SHADOW_NONE
-
-    POLICY_AUTOMATIC = gtk.POLICY_AUTOMATIC
-    POLICY_NEVER = gtk.POLICY_NEVER
-    POLICY_ALWAYS = gtk.POLICY_ALWAYS
-
-    WEIGHT_NORMAL = pango.WEIGHT_NORMAL
-    WEIGHT_BOLD = pango.WEIGHT_BOLD
-
-    WINDOW_STATE_ICONIFIED = gdk.WINDOW_STATE_ICONIFIED
-    WINDOW_STATE_WITHDRAWN = gdk.WINDOW_STATE_WITHDRAWN
-
-    SORT_ASCENDING = gtk.SORT_ASCENDING
-    SORT_DESCENDING = gtk.SORT_DESCENDING
-
-    EVENT_BUTTON_PRESS = gdk.BUTTON_PRESS
-
-    TREE_VIEW_COLUMN_FIXED = gtk.TREE_VIEW_COLUMN_FIXED
-
-    FILL = gtk.FILL
-    EXPAND = gtk.EXPAND
-
-    UPDATE_IF_VALID = gtk.UPDATE_IF_VALID
-
-    SELECTION_MULTIPLE = gtk.SELECTION_MULTIPLE
-
-    WINDOW_POPUP = gtk.WINDOW_POPUP
-
-    pixbuf_new_from_file = gdk.pixbuf_new_from_file
-
-else: # pygobject
-    import gi
-    gi.require_version("Gdk", "3.0")
-    from gi.repository import Gdk as gdk
-    from gi.repository import GdkPixbuf as gdkPixbuf
-    gi.require_version("Gtk", "3.0")
-    from gi.repository import Gtk as gtk
-    try:
-        gi.require_version("AppIndicator3", "0.1")
-        from gi.repository import AppIndicator3 as appindicator
-        appIndicator = True
-    except:
-        pass
-    from gi.repository import Pango as pango
-
-
-
-    MESSAGETYPE_ERROR = gtk.MessageType.ERROR
-    MESSAGETYPE_QUESTION = gtk.MessageType.QUESTION
-    MESSAGETYPE_INFO = gtk.MessageType.INFO
-    RESPONSETYPE_NONE = gtk.ResponseType.NONE
-    RESPONSETYPE_OK = gtk.ResponseType.OK
-    RESPONSETYPE_YES = gtk.ResponseType.YES
-    RESPONSETYPE_NO = gtk.ResponseType.NO
-    RESPONSETYPE_ACCEPT = gtk.ResponseType.ACCEPT
-    RESPONSETYPE_REJECT = gtk.ResponseType.REJECT
-    RESPONSETYPE_CANCEL = gtk.ResponseType.CANCEL
-    ACCEL_VISIBLE = gtk.AccelFlags.VISIBLE
-    CONTROL_MASK = gdk.ModifierType.CONTROL_MASK
-    DIALOG_MODAL = gtk.DialogFlags.MODAL
-    WRAP_WORD = gtk.WrapMode.WORD
-    JUSTIFY_CENTER = gtk.Justification.CENTER
-    JUSTIFY_LEFT = gtk.Justification.LEFT
-
-    CONTROL_MASK = gdk.ModifierType.CONTROL_MASK
-    SHIFT_MASK = gdk.ModifierType.SHIFT_MASK
-    BUTTON1_MASK = gdk.ModifierType.BUTTON1_MASK
-
-    SCROLL_UP = gdk.ScrollDirection.UP
-    SCROLL_DOWN = gdk.ScrollDirection.DOWN
-
-    SPIN_USER_DEFINED = gtk.SpinType.USER_DEFINED
-
-    FILE_CHOOSER_ACTION_SELECT_FOLDER = gtk.FileChooserAction.SELECT_FOLDER
-    FILE_CHOOSER_ACTION_OPEN = gtk.FileChooserAction.OPEN
-    FILE_CHOOSER_ACTION_SAVE = gtk.FileChooserAction.SAVE
-
-    SELECTION_MULTIPLE = gtk.SelectionMode.MULTIPLE
-
-    SHADOW_IN = gtk.ShadowType.IN
-    SHADOW_NONE = gtk.ShadowType.NONE
-
-    POLICY_AUTOMATIC = gtk.PolicyType.AUTOMATIC
-    POLICY_NEVER = gtk.PolicyType.NEVER
-    POLICY_ALWAYS = gtk.PolicyType.ALWAYS
-
-    WEIGHT_NORMAL = pango.Weight.NORMAL
-    WEIGHT_BOLD = pango.Weight.BOLD
-
-    WINDOW_STATE_ICONIFIED = gdk.WindowState.ICONIFIED
-    WINDOW_STATE_WITHDRAWN = gdk.WindowState.WITHDRAWN
-
-    SORT_ASCENDING = gtk.SortType.ASCENDING
-    SORT_DESCENDING = gtk.SortType.DESCENDING
-
-    EVENT_BUTTON_PRESS = gdk.EventType.BUTTON_PRESS
-
-    TREE_VIEW_COLUMN_FIXED = gtk.TreeViewColumnSizing.FIXED
-
-    FILL = gtk.AttachOptions.FILL
-    EXPAND = gtk.AttachOptions.EXPAND
-
-    UPDATE_IF_VALID = gtk.SpinButtonUpdatePolicy.IF_VALID
-
-    SELECTION_MULTIPLE = gtk.SelectionMode.MULTIPLE
-
-    pixbuf_new_from_file = gdkPixbuf.Pixbuf.new_from_file
-
-    import codecs
-    _utf8Decoder = codecs.getdecoder("utf-8")
+import gi
+gi.require_version("Gdk", "3.0")
+from gi.repository import Gdk as gdk
+from gi.repository import GdkPixbuf as gdkPixbuf
+gi.require_version("Gtk", "3.0")
+from gi.repository import Gtk as gtk
+try:
+    gi.require_version("AppIndicator3", "0.1")
+    from gi.repository import AppIndicator3 as appindicator
+    appIndicator = True
+except:
+    pass
+from gi.repository import Pango as pango
+
+
+MESSAGETYPE_ERROR = gtk.MessageType.ERROR
+MESSAGETYPE_QUESTION = gtk.MessageType.QUESTION
+MESSAGETYPE_INFO = gtk.MessageType.INFO
+RESPONSETYPE_NONE = gtk.ResponseType.NONE
+RESPONSETYPE_OK = gtk.ResponseType.OK
+RESPONSETYPE_YES = gtk.ResponseType.YES
+RESPONSETYPE_NO = gtk.ResponseType.NO
+RESPONSETYPE_ACCEPT = gtk.ResponseType.ACCEPT
+RESPONSETYPE_REJECT = gtk.ResponseType.REJECT
+RESPONSETYPE_CANCEL = gtk.ResponseType.CANCEL
+ACCEL_VISIBLE = gtk.AccelFlags.VISIBLE
+CONTROL_MASK = gdk.ModifierType.CONTROL_MASK
+DIALOG_MODAL = gtk.DialogFlags.MODAL
+WRAP_WORD = gtk.WrapMode.WORD
+JUSTIFY_CENTER = gtk.Justification.CENTER
+JUSTIFY_LEFT = gtk.Justification.LEFT
+
+CONTROL_MASK = gdk.ModifierType.CONTROL_MASK
+SHIFT_MASK = gdk.ModifierType.SHIFT_MASK
+BUTTON1_MASK = gdk.ModifierType.BUTTON1_MASK
+
+SCROLL_UP = gdk.ScrollDirection.UP
+SCROLL_DOWN = gdk.ScrollDirection.DOWN
+
+SPIN_USER_DEFINED = gtk.SpinType.USER_DEFINED
+
+FILE_CHOOSER_ACTION_SELECT_FOLDER = gtk.FileChooserAction.SELECT_FOLDER
+FILE_CHOOSER_ACTION_OPEN = gtk.FileChooserAction.OPEN
+FILE_CHOOSER_ACTION_SAVE = gtk.FileChooserAction.SAVE
+
+SELECTION_MULTIPLE = gtk.SelectionMode.MULTIPLE
+
+SHADOW_IN = gtk.ShadowType.IN
+SHADOW_NONE = gtk.ShadowType.NONE
+
+POLICY_AUTOMATIC = gtk.PolicyType.AUTOMATIC
+POLICY_NEVER = gtk.PolicyType.NEVER
+POLICY_ALWAYS = gtk.PolicyType.ALWAYS
+
+WEIGHT_NORMAL = pango.Weight.NORMAL
+WEIGHT_BOLD = pango.Weight.BOLD
+
+WINDOW_STATE_ICONIFIED = gdk.WindowState.ICONIFIED
+WINDOW_STATE_WITHDRAWN = gdk.WindowState.WITHDRAWN
+
+SORT_ASCENDING = gtk.SortType.ASCENDING
+SORT_DESCENDING = gtk.SortType.DESCENDING
+
+EVENT_BUTTON_PRESS = gdk.EventType.BUTTON_PRESS
+
+TREE_VIEW_COLUMN_FIXED = gtk.TreeViewColumnSizing.FIXED
+
+FILL = gtk.AttachOptions.FILL
+EXPAND = gtk.AttachOptions.EXPAND
+
+UPDATE_IF_VALID = gtk.SpinButtonUpdatePolicy.IF_VALID
+
+SELECTION_MULTIPLE = gtk.SelectionMode.MULTIPLE
+
+pixbuf_new_from_file = gdkPixbuf.Pixbuf.new_from_file
+
+import codecs
+_utf8Decoder = codecs.getdecoder("utf-8")
 
 import cairo
Index: src/mlx/gui/delaycodes.py
===================================================================
--- src/mlx/gui/delaycodes.py	(revision 965)
+++ src/mlx/gui/delaycodes.py	(revision 994)
@@ -11,183 +11,120 @@
 #------------------------------------------------------------------------------
 
-if pygobject:
-
-#------------------------------------------------------------------------------
-
-    class Viewport(gtk.Viewport):
-        """Viewport implementation that alleviates the problem with improper
-        resizing by the VBox."""
-        def __init__(self):
-            """Construct the viewport."""
-            gtk.Viewport.__init__(self)
-            self._recursive = False
+class Viewport(gtk.Viewport):
+    """Viewport implementation that alleviates the problem with improper
+    resizing by the VBox."""
+    def __init__(self):
+        """Construct the viewport."""
+        gtk.Viewport.__init__(self)
+        self._recursive = False
+        self._vboxHeight = None
+
+    def setVBOXHeight(self, vboxHeight):
+        """Set the height of the VBox which will be used to calculate the
+        viewport's height."""
+        self._vboxHeight = vboxHeight
+
+    def do_size_allocate(self, allocation):
+        """Called when the viewport's size is allocated.
+
+        The height in the allocation object is modified so that it is only
+        so high to fit into the VBox."""
+        if self._vboxHeight is not None:
+            allocation.y += 1
+            allocation.height = self._vboxHeight - allocation.y
             self._vboxHeight = None
-
-        def setVBOXHeight(self, vboxHeight):
-            """Set the height of the VBox which will be used to calculate the
-            viewport's height."""
-            self._vboxHeight = vboxHeight
-
-        def do_size_allocate(self, allocation):
-            """Called when the viewport's size is allocated.
-
-            The height in the allocation object is modified so that it is only
-            so high to fit into the VBox."""
-            if self._vboxHeight is not None:
-                allocation.y += 1
-                allocation.height = self._vboxHeight - allocation.y
-                self._vboxHeight = None
-            gtk.Viewport.do_size_allocate(self, allocation)
-
-    class DelayCodeTableBase(gtk.VBox, gtk.Scrollable):
-        """PyGObject-specific base class for the delay code table."""
-        __gproperties__ = {
-            "vscroll-policy" : ( gtk.ScrollablePolicy,
-                                 "vscroll-policy",
-                                 "The vertical scrolling policy",
-                                 gtk.ScrollablePolicy.MINIMUM,
-                                 gobject.PARAM_READWRITE ),
-            "vadjustment" : ( gtk.Adjustment,
-                              "vadjustment",
-                              "The vertical adjustment",
-                              gobject.PARAM_READWRITE ),
-            "hscroll-policy" : ( gtk.ScrollablePolicy,
-                                 "hscroll-policy",
-                                 "The horizontal scrolling policy",
-                                 gtk.ScrollablePolicy.MINIMUM,
-                                 gobject.PARAM_READWRITE ),
-            "hadjustment" : ( gtk.Adjustment,
-                              "hadjustment",
-                              "The horizontal adjustment",
-                              gobject.PARAM_READWRITE )  }
-
-
-        @staticmethod
-        def _createViewport():
-            """Create an instance of the viewport class used by this base class."""
-            return Viewport()
-
-        def __init__(self):
-            """Construct the delay code table."""
-            super(DelayCodeTableBase, self).__init__()
-
-        def do_size_allocate(self, allocation):
-            """Allocate the size for the table and its children.
-
-            This sets up the VBox height in the viewport and then calls the
-            do_size_allocate() function of VBox()."""
-            self._viewport.setVBOXHeight(allocation.height)
-            gtk.VBox.do_size_allocate(self, allocation)
-            self.allocate_column_sizes(allocation)
-
-        def do_get_property(self, prop):
-            """Get the value of one of the properties defined above.
-
-            The request is forwarded to the viewport."""
-            if prop.name=="vscroll-policy":
-                return self._viewport.get_vscroll_policy()
-            elif prop.name=="hscroll-policy":
-                return self._viewport.get_hscroll_policy()
-            elif prop.name=="vadjustment":
-                return self._viewport.get_vadjustment()
-            elif prop.name=="hadjustment":
-                return self._viewport.get_hadjustment()
-            else:
-                raise AttributeError("mlx.gui.delaycodes.DelayCodeTableBase: property %s is not handled in do_get_property" %
-                                     (prop.name,))
-
-        def do_set_property(self, prop, value):
-            """Set the value of the adjustment properties defined above.
-
-            The adjustments are forwarded to the viewport."""
-            if prop.name=="vadjustment":
-                self._viewport.set_vadjustment(value)
-            elif prop.name=="hadjustment":
-                self._viewport.set_hadjustment(value)
-                self._treeView.set_hadjustment(value)
-            else:
-                raise AttributeError("mlx.gui.delaycodes.DelayCodeTableBase: property %s is not handled in do_set_property" %
-                                     (prop.name,))
-
-        def setStyle(self):
-            """Set the style of the event box from the treeview."""
-
-    class Alignment(gtk.Alignment):
-        """An alignment that remembers the width it was given."""
-        def __init__(self, xalign = 0.0, yalign=0.0,
-                     xscale = 0.0, yscale = 0.0 ):
-            """Construct the alignment."""
-            super(Alignment, self).__init__(xalign = xalign, yalign = yalign,
-                                            xscale = xscale, yscale = yscale)
-            self.allocatedWidth = 0
-
-        def do_size_allocate(self, allocation):
-            """Called with the new size allocation."""
-            self.allocatedWidth = allocation.width
-            gtk.Alignment.do_size_allocate(self, allocation)
-
-    class TreeView(gtk.TreeView):
-        def do_size_allocate(self, allocation):
-            allocation.height += 1
-            gtk.TreeView.do_size_allocate(self, allocation)
-
-#------------------------------------------------------------------------------
-
-else: # pygobject
-
-#------------------------------------------------------------------------------
-
-    class DelayCodeTableBase (gtk.VBox):
-        """Base class of the delay code table for PyGtk."""
-
-        __gsignals__ = {
-            "set-scroll-adjustments": (
-                gobject.SIGNAL_RUN_LAST,
-                gobject.TYPE_NONE, (gtk.Adjustment, gtk.Adjustment))
-                }
-
-        @staticmethod
-        def _createViewport():
-            """Create an instance of the viewport class used by this base class."""
-            return gtk.Viewport()
-
-        def __init__(self):
-            """Construct the base class."""
-            super(DelayCodeTableBase, self).__init__()
-            self.set_set_scroll_adjustments_signal("set-scroll-adjustments")
-            self.connect("size-allocate", self._do_size_allocate)
-
-        def do_set_scroll_adjustments(self, hAdjustment, vAdjustment):
-            """Set the adjustments on the viewport."""
-            self._viewport.set_hadjustment(hAdjustment)
-            self._viewport.set_vadjustment(vAdjustment)
-            self._treeView.set_hadjustment(hAdjustment)
-
-        def _do_size_allocate(self, widget, allocation):
-            """Handler of the size-allocate signal.
-
-            Calls allocate_column_sizes()."""
-            self.allocate_column_sizes(allocation)
-
-        def setStyle(self):
-            """Set the style of the event box from the treeview."""
-            if self._treeView is not None:
-                style = self._treeView.rc_get_style()
-                self._eventBox.modify_bg(0, style.bg[2])
-                self._eventBox.modify_fg(0, style.fg[2])
-
-    class Alignment(gtk.Alignment):
-        """An alignment that remembers the width it was given."""
-        def __init__(self, xalign = 0.0, yalign=0.0,
-                     xscale = 0.0, yscale = 0.0 ):
-            """Construct the alignment."""
-            super(Alignment, self).__init__(xalign = xalign, yalign = yalign,
-                                            xscale = xscale, yscale = yscale)
-            self.allocatedWidth = 0
-            self.connect("size-allocate", self._do_size_allocate)
-
-        def _do_size_allocate(self, widget, allocation):
-            """Called with the new size allocation."""
-            self.allocatedWidth = allocation.width
+        gtk.Viewport.do_size_allocate(self, allocation)
+
+class DelayCodeTableBase(gtk.VBox, gtk.Scrollable):
+    """PyGObject-specific base class for the delay code table."""
+    __gproperties__ = {
+        "vscroll-policy" : ( gtk.ScrollablePolicy,
+                             "vscroll-policy",
+                             "The vertical scrolling policy",
+                             gtk.ScrollablePolicy.MINIMUM,
+                             gobject.PARAM_READWRITE ),
+        "vadjustment" : ( gtk.Adjustment,
+                          "vadjustment",
+                          "The vertical adjustment",
+                          gobject.PARAM_READWRITE ),
+        "hscroll-policy" : ( gtk.ScrollablePolicy,
+                             "hscroll-policy",
+                             "The horizontal scrolling policy",
+                             gtk.ScrollablePolicy.MINIMUM,
+                             gobject.PARAM_READWRITE ),
+        "hadjustment" : ( gtk.Adjustment,
+                          "hadjustment",
+                          "The horizontal adjustment",
+                          gobject.PARAM_READWRITE )  }
+
+
+    @staticmethod
+    def _createViewport():
+        """Create an instance of the viewport class used by this base class."""
+        return Viewport()
+
+    def __init__(self):
+        """Construct the delay code table."""
+        super(DelayCodeTableBase, self).__init__()
+
+    def do_size_allocate(self, allocation):
+        """Allocate the size for the table and its children.
+
+        This sets up the VBox height in the viewport and then calls the
+        do_size_allocate() function of VBox()."""
+        self._viewport.setVBOXHeight(allocation.height)
+        gtk.VBox.do_size_allocate(self, allocation)
+        self.allocate_column_sizes(allocation)
+
+    def do_get_property(self, prop):
+        """Get the value of one of the properties defined above.
+
+        The request is forwarded to the viewport."""
+        if prop.name=="vscroll-policy":
+            return self._viewport.get_vscroll_policy()
+        elif prop.name=="hscroll-policy":
+            return self._viewport.get_hscroll_policy()
+        elif prop.name=="vadjustment":
+            return self._viewport.get_vadjustment()
+        elif prop.name=="hadjustment":
+            return self._viewport.get_hadjustment()
+        else:
+            raise AttributeError("mlx.gui.delaycodes.DelayCodeTableBase: property %s is not handled in do_get_property" %
+                                 (prop.name,))
+
+    def do_set_property(self, prop, value):
+        """Set the value of the adjustment properties defined above.
+
+        The adjustments are forwarded to the viewport."""
+        if prop.name=="vadjustment":
+            self._viewport.set_vadjustment(value)
+        elif prop.name=="hadjustment":
+            self._viewport.set_hadjustment(value)
+            self._treeView.set_hadjustment(value)
+        else:
+            raise AttributeError("mlx.gui.delaycodes.DelayCodeTableBase: property %s is not handled in do_set_property" %
+                                 (prop.name,))
+
+    def setStyle(self):
+        """Set the style of the event box from the treeview."""
+
+class Alignment(gtk.Alignment):
+    """An alignment that remembers the width it was given."""
+    def __init__(self, xalign = 0.0, yalign=0.0,
+                 xscale = 0.0, yscale = 0.0 ):
+        """Construct the alignment."""
+        super(Alignment, self).__init__(xalign = xalign, yalign = yalign,
+                                        xscale = xscale, yscale = yscale)
+        self.allocatedWidth = 0
+
+    def do_size_allocate(self, allocation):
+        """Called with the new size allocation."""
+        self.allocatedWidth = allocation.width
+        gtk.Alignment.do_size_allocate(self, allocation)
+
+class TreeView(gtk.TreeView):
+    def do_size_allocate(self, allocation):
+        allocation.height += 1
+        gtk.TreeView.do_size_allocate(self, allocation)
 
 #------------------------------------------------------------------------------
Index: src/mlx/gui/faultexplain.py
===================================================================
--- src/mlx/gui/faultexplain.py	(revision 988)
+++ src/mlx/gui/faultexplain.py	(revision 994)
@@ -59,11 +59,7 @@
         self.show_all()
 
-        if pygobject:
-            styleContext = self.get_style_context()
-            color = styleContext.get_background_color(gtk.StateFlags.NORMAL)
-            fault.override_background_color(0, color)
-        else:
-            style = self.rc_get_style()
-            fault.modify_base(0, style.bg[0])
+        styleContext = self.get_style_context()
+        color = styleContext.get_background_color(gtk.StateFlags.NORMAL)
+        fault.override_background_color(0, color)
 
         self._hasExplanation = False
@@ -285,21 +281,17 @@
         not."""
         allExplained = self._numExplanations >= self._numFaults
-        if pygobject:
-            styleContext = self.get_style_context()
-            if allExplained:
-                outerColour = innerColour = gdk.RGBA(red = 0.0, green=0.0,
-                                                     blue=0.0, alpha=0.0)
-            else:
-                outerColour = \
-                  styleContext.get_border_color(gtk.StateFlags.DROP_ACTIVE)
-                innerColour = self._gui.backgroundColour
-
-            self._outerBox.override_background_color(gtk.StateFlags.NORMAL,
-                                                     outerColour)
-            self._innerBox.override_background_color(gtk.StateFlags.NORMAL,
-                                                     innerColour)
+        styleContext = self.get_style_context()
+        if allExplained:
+            outerColour = innerColour = gdk.RGBA(red = 0.0, green=0.0,
+                                                 blue=0.0, alpha=0.0)
         else:
-            style = self.rc_get_style()
-            self._outerBox.modify_bg(0, style.bg[0 if allExplained else 3])
+            outerColour = \
+                styleContext.get_border_color(gtk.StateFlags.DROP_ACTIVE)
+            innerColour = self._gui.backgroundColour
+
+        self._outerBox.override_background_color(gtk.StateFlags.NORMAL,
+                                                 outerColour)
+        self._innerBox.override_background_color(gtk.StateFlags.NORMAL,
+                                                 innerColour)
 
 #-------------------------------------------------------------------------------
Index: src/mlx/gui/flight.py
===================================================================
--- src/mlx/gui/flight.py	(revision 992)
+++ src/mlx/gui/flight.py	(revision 994)
@@ -121,6 +121,5 @@
         self._helpLabel = gtk.Label(longerHelp)
         # FIXME: should be a constant in common
-        self._helpLabel.set_justify(gtk.Justification.CENTER if pygobject
-                                    else gtk.JUSTIFY_CENTER)
+        self._helpLabel.set_justify(gtk.Justification.CENTER)
         self._helpLabel.set_use_markup(True)
         alignment.add(self._helpLabel)
@@ -220,14 +219,9 @@
     def setStyle(self):
         """Set the styles of some of the items on the page."""
-        if pygobject:
-            context = self.get_style_context()
-            color = context.get_background_color(gtk.StateFlags.SELECTED)
-            self._titleEventBox.modify_bg(0, color.to_color())
-            color = context.get_color(gtk.StateFlags.SELECTED)
-            self._titleLabel.modify_fg(0, color.to_color())
-        else:
-            style = self.rc_get_style()
-            self._titleEventBox.modify_bg(0, style.bg[3])
-            self._titleLabel.modify_fg(0, style.fg[3])
+        context = self.get_style_context()
+        color = context.get_background_color(gtk.StateFlags.SELECTED)
+        self._titleEventBox.modify_bg(0, color.to_color())
+        color = context.get_color(gtk.StateFlags.SELECTED)
+        self._titleLabel.modify_fg(0, color.to_color())
 
     def initialize(self):
@@ -1167,10 +1161,7 @@
         scrolledWindow.add(self._gateList)
         scrolledWindow.set_size_request(50, -1)
-        scrolledWindow.set_policy(gtk.PolicyType.AUTOMATIC if pygobject
-                                  else gtk.POLICY_AUTOMATIC,
-                                  gtk.PolicyType.AUTOMATIC if pygobject
-                                  else gtk.POLICY_AUTOMATIC)
-        scrolledWindow.set_shadow_type(gtk.ShadowType.IN if pygobject
-                                       else gtk.SHADOW_IN)
+        scrolledWindow.set_policy(gtk.PolicyType.AUTOMATIC,
+                                  gtk.PolicyType.AUTOMATIC)
+        scrolledWindow.set_shadow_type(gtk.ShadowType.IN)
 
         alignment = gtk.Alignment(xalign = 0.5, yalign = 0.0, xscale = 0.0, yscale = 1.0)
@@ -2012,21 +2003,13 @@
 
             selectBox = gtk.HBox()
-            if pygobject:
-                self._selectMSFS = \
-                  gtk.RadioButton.new_with_mnemonic_from_widget(None,
-                                                                xstr("connect_sim_msfs"))
-            else:
-                self._selectMSFS = gtk.RadioButton(None,
-                                                   xstr("connect_sim_msfs"))
+            self._selectMSFS = \
+                gtk.RadioButton.new_with_mnemonic_from_widget(None,
+                                                              xstr("connect_sim_msfs"))
 
             selectBox.pack_start(self._selectMSFS, False, False, 0);
 
-            if pygobject:
-                self._selectXPlane = \
-                  gtk.RadioButton.new_with_mnemonic_from_widget(self._selectMSFS,
-                                                                xstr("connect_sim_xplane"))
-            else:
-                self._selectXPlane = gtk.RadioButton(self._selectMSFS,
-                                                     xstr("connect_sim_xplane"))
+            self._selectXPlane = \
+                gtk.RadioButton.new_with_mnemonic_from_widget(self._selectMSFS,
+                                                              xstr("connect_sim_xplane"))
 
             selectBox.pack_start(self._selectXPlane, False, False, 8);
@@ -2510,10 +2493,7 @@
         routeWindow = gtk.ScrolledWindow()
         routeWindow.set_size_request(400, 80)
-        routeWindow.set_shadow_type(gtk.ShadowType.IN if pygobject
-                                    else gtk.SHADOW_IN)
-        routeWindow.set_policy(gtk.PolicyType.AUTOMATIC if pygobject
-                               else gtk.POLICY_AUTOMATIC,
-                               gtk.PolicyType.AUTOMATIC if pygobject
-                               else gtk.POLICY_AUTOMATIC)
+        routeWindow.set_shadow_type(gtk.ShadowType.IN)
+        routeWindow.set_policy(gtk.PolicyType.AUTOMATIC,
+                               gtk.PolicyType.AUTOMATIC)
 
         self._uppercasingRoute = False
@@ -3267,8 +3247,5 @@
         self._tankFigure.set_tooltip_markup(xstr("fuel_tank_tooltip"))
 
-        if pygobject:
-            self._tankFigure.connect("draw", self._drawTankFigure)
-        else:
-            self._tankFigure.connect("expose_event", self._drawTankFigure)
+        self._tankFigure.connect("draw", self._drawTankFigure)
         self._tankFigure.connect("button_press_event", self._buttonPressed)
         self._tankFigure.connect("motion_notify_event", self._motionNotify)
@@ -3324,12 +3301,9 @@
         triangleSize = 5
 
-        context = eventOrContext if pygobject else tankFigure.window.cairo_create()
-        (xOffset, yOffset) = (0, 0) if pygobject \
-                             else (tankFigure.allocation.x, tankFigure.allocation.y)
-
-        width = tankFigure.get_allocated_width() if pygobject \
-                else tankFigure.allocation.width
-        height = tankFigure.get_allocated_height() if pygobject \
-                 else tankFigure.allocation.height
+        context = eventOrContext
+        (xOffset, yOffset) = (0, 0)
+
+        width = tankFigure.get_allocated_width()
+        height = tankFigure.get_allocated_height()
 
         rectangleX0 = triangleSize
@@ -3645,12 +3619,10 @@
         scrolledWindow.set_size_request(-1, 128)
         # FIXME: these constants should be in common
-        scrolledWindow.set_policy(gtk.PolicyType.AUTOMATIC if pygobject
-                                  else gtk.POLICY_AUTOMATIC,
-                                  gtk.PolicyType.AUTOMATIC if pygobject
-                                  else gtk.POLICY_AUTOMATIC)
+        scrolledWindow.set_policy(gtk.PolicyType.AUTOMATIC,
+                                  gtk.PolicyType.AUTOMATIC)
         self._notams = gtk.TextView()
         self._notams.set_editable(False)
         self._notams.set_accepts_tab(False)
-        self._notams.set_wrap_mode(gtk.WrapMode.WORD if pygobject else gtk.WRAP_WORD)
+        self._notams.set_wrap_mode(gtk.WrapMode.WORD)
         scrolledWindow.add(self._notams)
         alignment = gtk.Alignment(xalign = 0.0, yalign = 0.0,
@@ -3666,8 +3638,6 @@
         scrolledWindow = gtk.ScrolledWindow()
         scrolledWindow.set_size_request(-1, 32)
-        scrolledWindow.set_policy(gtk.PolicyType.AUTOMATIC if pygobject
-                                  else gtk.POLICY_AUTOMATIC,
-                                  gtk.PolicyType.AUTOMATIC if pygobject
-                                  else gtk.POLICY_AUTOMATIC)
+        scrolledWindow.set_policy(gtk.PolicyType.AUTOMATIC,
+                                  gtk.PolicyType.AUTOMATIC)
 
         self._updatingMETAR = False
@@ -3675,5 +3645,5 @@
         self._metar = gtk.TextView()
         self._metar.set_accepts_tab(False)
-        self._metar.set_wrap_mode(gtk.WrapMode.WORD if pygobject else gtk.WRAP_WORD)
+        self._metar.set_wrap_mode(gtk.WrapMode.WORD)
         self._metar.get_buffer().connect("changed", self._metarChanged)
         self._metar.get_buffer().connect_after("insert-text", self._metarInserted)
@@ -3872,8 +3842,5 @@
         table.attach(label, 0, 1, row, row+1)
 
-        if pygobject:
-            self._sid = gtk.ComboBox.new_with_model_and_entry(comboModel)
-        else:
-            self._sid = gtk.ComboBoxEntry(comboModel)
+        self._sid = gtk.ComboBox.new_with_model_and_entry(comboModel)
 
         self._sid.set_entry_text_column(0)
@@ -4238,22 +4205,14 @@
             self._derateLabel.set_sensitive(True)
 
-            if pygobject:
-                nominal = gtk.RadioButton.\
-                  new_with_label_from_widget(None,
-                                             xstr("takeoff_derate_tupolev_nominal"))
-            else:
-                nominal = gtk.RadioButton(None,
-                                          xstr("takeoff_derate_tupolev_nominal"))
+            nominal = gtk.RadioButton.\
+                new_with_label_from_widget(None,
+                                           xstr("takeoff_derate_tupolev_nominal"))
             nominal.set_use_underline(True)
             nominal.set_tooltip_text(xstr("takeoff_derate_tupolev_nominal_tooltip"))
             nominal.connect("toggled", self._derateChanged)
 
-            if pygobject:
-                takeoff = gtk.RadioButton.\
-                  new_with_label_from_widget(nominal,
-                                             xstr("takeoff_derate_tupolev_takeoff"))
-            else:
-                takeoff = gtk.RadioButton(nominal,
-                                          xstr("takeoff_derate_tupolev_takeoff"))
+            takeoff = gtk.RadioButton.\
+                new_with_label_from_widget(nominal,
+                                           xstr("takeoff_derate_tupolev_takeoff"))
 
             takeoff.set_use_underline(True)
@@ -4462,8 +4421,5 @@
         table.attach(label, 1, 2, row, row + 1)
 
-        if pygobject:
-            self._star = gtk.ComboBox.new_with_model_and_entry(comboModel)
-        else:
-            self._star = gtk.ComboBoxEntry(comboModel)
+        self._star = gtk.ComboBox.new_with_model_and_entry(comboModel)
 
         self._star.set_entry_text_column(0)
@@ -4482,8 +4438,5 @@
         table.attach(label, 1, 2, row, row + 1)
 
-        if pygobject:
-            self._transition = gtk.ComboBox.new_with_model_and_entry(comboModel)
-        else:
-            self._transition = gtk.ComboBoxEntry(comboModel)
+        self._transition = gtk.ComboBox.new_with_model_and_entry(comboModel)
 
         self._transition.set_entry_text_column(0)
@@ -5499,6 +5452,6 @@
             self.show_all()
             pageSizeRequest = page.size_request()
-            width = pageSizeRequest.width if pygobject else pageSizeRequest[0]
-            height = pageSizeRequest.height if pygobject else pageSizeRequest[1]
+            width = pageSizeRequest.width
+            height = pageSizeRequest.height
             maxWidth = max(maxWidth, width)
             maxHeight = max(maxHeight, height)
Index: src/mlx/gui/flightlist.py
===================================================================
--- src/mlx/gui/flightlist.py	(revision 983)
+++ src/mlx/gui/flightlist.py	(revision 994)
@@ -145,10 +145,7 @@
             scrolledWindow.set_size_request(widthRequest, -1)
         # FIXME: these should be constants in common.py
-        scrolledWindow.set_policy(gtk.PolicyType.AUTOMATIC if pygobject
-                                  else gtk.POLICY_AUTOMATIC,
-                                  gtk.PolicyType.AUTOMATIC if pygobject
-                                  else gtk.POLICY_AUTOMATIC)
-        scrolledWindow.set_shadow_type(gtk.ShadowType.IN if pygobject
-                                       else gtk.SHADOW_IN)
+        scrolledWindow.set_policy(gtk.PolicyType.AUTOMATIC,
+                                  gtk.PolicyType.AUTOMATIC)
+        scrolledWindow.set_shadow_type(gtk.ShadowType.IN)
 
         super(FlightList, self).__init__(xalign = 0.5, yalign = 0.0,
@@ -222,8 +219,5 @@
             self._popupMenu = self._popupMenuProducer()
         menu = self._popupMenu
-        if pygobject:
-            menu.popup(None, None, None, None, event.button, event.time)
-        else:
-            menu.popup(None, None, None, event.button, event.time)
+        menu.popup(None, None, None, None, event.button, event.time)
 
     def _selectionChanged(self, selection):
Index: src/mlx/gui/gates.py
===================================================================
--- src/mlx/gui/gates.py	(revision 919)
+++ src/mlx/gui/gates.py	(revision 994)
@@ -64,10 +64,7 @@
         scrolledWindow.set_size_request(200, -1)
         # FIXME: these should be constants in common.py
-        scrolledWindow.set_policy(gtk.PolicyType.AUTOMATIC if pygobject
-                                  else gtk.POLICY_AUTOMATIC,
-                                  gtk.PolicyType.AUTOMATIC if pygobject
-                                  else gtk.POLICY_AUTOMATIC)
-        scrolledWindow.set_shadow_type(gtk.ShadowType.IN if pygobject
-                                       else gtk.SHADOW_IN)
+        scrolledWindow.set_policy(gtk.PolicyType.AUTOMATIC,
+                                  gtk.PolicyType.AUTOMATIC)
+        scrolledWindow.set_shadow_type(gtk.ShadowType.IN)
 
 
@@ -165,7 +162,5 @@
                 self._fleetStore.append([tailNumber, status])
             # FIXME: this should be a constant in common.py
-            self._fleetStore.set_sort_column_id(0,
-                                                gtk.SortType.ASCENDING if pygobject
-                                                else gtk.SORT_ASCENDING)
+            self._fleetStore.set_sort_column_id(0, gtk.SortType.ASCENDING)
 
             occupiedGateNumbers = fleet.getOccupiedGateNumbers()
Index: src/mlx/gui/gui.py
===================================================================
--- src/mlx/gui/gui.py	(revision 954)
+++ src/mlx/gui/gui.py	(revision 994)
@@ -206,6 +206,5 @@
         self._statusIcon = StatusIcon(iconDirectory, self)
 
-        self._busyCursor = gdk.Cursor(gdk.CursorType.WATCH if pygobject
-                                      else gdk.WATCH)
+        self._busyCursor = gdk.Cursor(gdk.CursorType.WATCH)
 
         self._loadPIREPDialog = None
@@ -444,10 +443,9 @@
         return self._flightInfo.faultsFullyExplained
 
-    if pygobject:
-        @property
-        def backgroundColour(self):
-            """Get the background colour of the main window."""
-            return self._mainWindow.get_style_context().\
-              get_background_color(gtk.StateFlags.NORMAL)
+    @property
+    def backgroundColour(self):
+        """Get the background colour of the main window."""
+        return self._mainWindow.get_style_context().\
+            get_background_color(gtk.StateFlags.NORMAL)
 
     def run(self):
@@ -741,6 +739,5 @@
     def _handleMainWindowState(self, window, event):
         """Hande a change in the state of the window"""
-        iconified = gdk.WindowState.ICONIFIED if pygobject \
-                    else gdk.WINDOW_STATE_ICONIFIED
+        iconified = gdk.WindowState.ICONIFIED
 
         if (event.changed_mask&WINDOW_STATE_WITHDRAWN)!=0:
@@ -750,10 +747,6 @@
                 self._statusIcon.mainWindowShown()
 
-        if self.config.hideMinimizedWindow and not pygobject and \
-           (event.changed_mask&WINDOW_STATE_ICONIFIED)!=0 and \
-           (event.new_window_state&WINDOW_STATE_ICONIFIED)!=0:
-            self.hideMainWindow(savePosition = False)
-        elif (event.changed_mask&WINDOW_STATE_ICONIFIED)!=0 and \
-             (event.new_window_state&WINDOW_STATE_ICONIFIED)==0:
+        if (event.changed_mask&WINDOW_STATE_ICONIFIED)!=0 and \
+           (event.new_window_state&WINDOW_STATE_ICONIFIED)==0:
             self._mainWindow.present()
 
@@ -798,8 +791,5 @@
             self._mainWindow.move(self._mainWindowX, self._mainWindowY)
 
-        if pygobject:
-            self._mainWindow.show()
-        else:
-            self._mainWindow.present()
+        self._mainWindow.show()
         self._mainWindow.deiconify()
 
@@ -1239,10 +1229,7 @@
         logScroller = gtk.ScrolledWindow()
         # FIXME: these should be constants in common
-        logScroller.set_policy(gtk.PolicyType.AUTOMATIC if pygobject
-                               else gtk.POLICY_AUTOMATIC,
-                               gtk.PolicyType.AUTOMATIC if pygobject
-                               else gtk.POLICY_AUTOMATIC)
-        logScroller.set_shadow_type(gtk.ShadowType.IN if pygobject
-                                    else gtk.SHADOW_IN)
+        logScroller.set_policy(gtk.PolicyType.AUTOMATIC,
+                               gtk.PolicyType.AUTOMATIC)
+        logScroller.set_shadow_type(gtk.ShadowType.IN)
         logView = gtk.TextView()
         logView.set_editable(False)
@@ -1849,7 +1836,4 @@
             dialog.set_license(xstr("about_license"))
 
-            if not pygobject:
-                gtk.about_dialog_set_url_hook(self._showAboutURL, None)
-
             self._aboutDialog = dialog
 
Index: src/mlx/gui/pirep.py
===================================================================
--- src/mlx/gui/pirep.py	(revision 986)
+++ src/mlx/gui/pirep.py	(revision 994)
@@ -71,11 +71,7 @@
         self.show_all()
 
-        if pygobject:
-            styleContext = self.get_style_context()
-            color = styleContext.get_background_color(gtk.StateFlags.NORMAL)
-            heading.override_background_color(0, color)
-        else:
-            style = self.rc_get_style()
-            heading.modify_base(0, style.bg[0])
+        styleContext = self.get_style_context()
+        color = styleContext.get_background_color(gtk.StateFlags.NORMAL)
+        heading.override_background_color(0, color)
 
 
@@ -1225,8 +1221,5 @@
         # FIXME: quite the same as the SID combo box in
         # the flight wizard
-        if pygobject:
-            self._sid = gtk.ComboBox.new_with_model_and_entry(comboModel)
-        else:
-            self._sid = gtk.ComboBoxEntry(comboModel)
+        self._sid = gtk.ComboBox.new_with_model_and_entry(comboModel)
 
         self._sid.set_entry_text_column(0)
@@ -1260,8 +1253,5 @@
 
         # FIXME: quite the same as in the wizard
-        if pygobject:
-            self._star = gtk.ComboBox.new_with_model_and_entry(comboModel)
-        else:
-            self._star = gtk.ComboBoxEntry(comboModel)
+        self._star = gtk.ComboBox.new_with_model_and_entry(comboModel)
 
         self._star.set_entry_text_column(0)
@@ -1275,8 +1265,5 @@
 
         # FIXME: quite the same as in the wizard
-        if pygobject:
-            self._transition = gtk.ComboBox.new_with_model_and_entry(comboModel)
-        else:
-            self._transition = gtk.ComboBoxEntry(comboModel)
+        self._transition = gtk.ComboBox.new_with_model_and_entry(comboModel)
 
         self._transition.set_entry_text_column(0)
Index: src/mlx/gui/statusbar.py
===================================================================
--- src/mlx/gui/statusbar.py	(revision 919)
+++ src/mlx/gui/statusbar.py	(revision 994)
@@ -30,6 +30,5 @@
         self._connected = False
         
-        self.set_shadow_type(gtk.ShadowType.NONE if pygobject
-                             else gtk.SHADOW_NONE)
+        self.set_shadow_type(gtk.ShadowType.NONE)
 
         frameAlignment = gtk.Alignment(xscale = 1.0, yscale = 1.0)
@@ -55,8 +54,5 @@
         self._connStateArea.set_tooltip_markup(xstr("statusbar_conn_tooltip"))
 
-        if pygobject:
-            self._connStateArea.connect("draw", self._drawConnState)
-        else:
-            self._connStateArea.connect("expose_event", self._drawConnState)
+        self._connStateArea.connect("draw", self._drawConnState)
 
         alignment = gtk.Alignment(xalign = 0.5, yalign = 0.5)
@@ -130,11 +126,6 @@
             icon = self._connGreyIcon
 
-        if pygobject:
-            gdk.cairo_set_source_pixbuf(eventOrContext, icon, 0, 0)
-            eventOrContext.paint()
-        else:
-            gc = connStateArea.get_style().fg_gc[gtk.STATE_NORMAL]
-            drawable = connStateArea.get_window()
-            drawable.draw_pixbuf(gc, icon, 0, 0, 0, 0)
+        gdk.cairo_set_source_pixbuf(eventOrContext, icon, 0, 0)
+        eventOrContext.paint()
 
     def _updateFlightStatus(self):
Index: src/mlx/gui/statusicon.py
===================================================================
--- src/mlx/gui/statusicon.py	(revision 919)
+++ src/mlx/gui/statusicon.py	(revision 994)
@@ -74,12 +74,7 @@
 
         if appIndicator:
-            if pygobject:
-                indicator = appindicator.Indicator.new ("mava-logger-x", iconFile,
-                                                        appindicator.IndicatorCategory.APPLICATION_STATUS)
-                indicator.set_status (appindicator.IndicatorStatus.ACTIVE)
-            else:
-                indicator = appindicator.Indicator ("mava-logger-x", iconFile,
-                                                    appindicator.CATEGORY_APPLICATION_STATUS)
-                indicator.set_status (appindicator.STATUS_ACTIVE)
+            indicator = appindicator.Indicator.new ("mava-logger-x", iconFile,
+                                                    appindicator.IndicatorCategory.APPLICATION_STATUS)
+            indicator.set_status (appindicator.IndicatorStatus.ACTIVE)
 
             indicator.set_menu(menu)
@@ -127,8 +122,5 @@
         """Hide and destroy the status icon."""
         if appIndicator:
-            if pygobject:
-                self._indicator.set_status(appindicator.IndicatorStatus.PASSIVE)
-            else:
-                self._indicator.set_status(appindicator.STATUS_PASSIVE)
+            self._indicator.set_status(appindicator.IndicatorStatus.PASSIVE)
         else:
             self._statusIcon.set_visible(False)
Index: src/mlx/gui/timetable.py
===================================================================
--- src/mlx/gui/timetable.py	(revision 927)
+++ src/mlx/gui/timetable.py	(revision 994)
@@ -107,10 +107,7 @@
 
         # FIXME: these should be constants in common.py
-        scrolledWindow.set_policy(gtk.PolicyType.AUTOMATIC if pygobject
-                                  else gtk.POLICY_AUTOMATIC,
-                                  gtk.PolicyType.AUTOMATIC if pygobject
-                                  else gtk.POLICY_AUTOMATIC)
-        scrolledWindow.set_shadow_type(gtk.ShadowType.IN if pygobject
-                                       else gtk.SHADOW_IN)
+        scrolledWindow.set_policy(gtk.PolicyType.AUTOMATIC,
+                                  gtk.PolicyType.AUTOMATIC)
+        scrolledWindow.set_shadow_type(gtk.ShadowType.IN)
 
         super(Timetable, self).__init__(xalign = 0.5, yalign = 0.0,
@@ -191,8 +188,5 @@
             self._popupMenu = self._popupMenuProducer()
         menu = self._popupMenu
-        if pygobject:
-            menu.popup(None, None, None, None, event.button, event.time)
-        else:
-            menu.popup(None, None, None, event.button, event.time)
+        menu.popup(None, None, None, None, event.button, event.time)
 
     def _selectionChanged(self, selection):
Index: src/mlx/gui/update.py
===================================================================
--- src/mlx/gui/update.py	(revision 755)
+++ src/mlx/gui/update.py	(revision 994)
@@ -55,6 +55,5 @@
         window.connect("delete-event", lambda a, b: True)
         window.set_deletable(False)
-        window.set_position(gtk.WindowPosition.CENTER_ON_PARENT if pygobject
-                            else gtk.WIN_POS_CENTER_ON_PARENT)
+        window.set_position(gtk.WindowPosition.CENTER_ON_PARENT)
 
         mainAlignment = gtk.Alignment(xscale = 1.0)
@@ -82,5 +81,5 @@
             gtk.Dialog(WINDOW_TITLE_BASE + " " + xstr("update_title"),
                        parentWindow,
-                       gtk.DialogFlags.MODAL if pygobject else gtk.DIALOG_MODAL)
+                       gtk.DialogFlags.MODAL)
         sudoDialog.add_button(xstr("button_cancel"), 0)
         sudoDialog.add_button(xstr("button_ok"), 1)
@@ -91,11 +90,9 @@
 
         infoLabel = gtk.Label(xstr("update_needsudo"))
-        infoLabel.set_justify(gtk.Justification.CENTER if pygobject
-                              else gtk.JUSTIFY_CENTER)
+        infoLabel.set_justify(gtk.Justification.CENTER)
         infoLabelAlignment.add(infoLabel)
         sudoDialog.vbox.pack_start(infoLabelAlignment, True, True, 4)
 
-        sudoDialog.set_position(gtk.WindowPosition.CENTER_ON_PARENT if pygobject
-                                else gtk.WIN_POS_CENTER_ON_PARENT)
+        sudoDialog.set_position(gtk.WindowPosition.CENTER_ON_PARENT)
 
     def __init__(self, gui, programDirectory, updateURL, parentWindow):
Index: src/mlx/gui/weighthelp.py
===================================================================
--- src/mlx/gui/weighthelp.py	(revision 303)
+++ src/mlx/gui/weighthelp.py	(revision 994)
@@ -72,6 +72,5 @@
         label.set_use_markup(True)
         # FIXME: should be a constant in common
-        label.set_justify(gtk.Justification.CENTER if pygobject
-                          else gtk.JUSTIFY_CENTER)        
+        label.set_justify(gtk.Justification.CENTER)
         alignment.add(label)
         table.attach(alignment, 1, 2, 0, 1)
@@ -85,6 +84,5 @@
         button.connect("clicked", self._fsButtonClicked)
         label = button.get_child()
-        label.set_justify(gtk.Justification.CENTER if pygobject
-                          else gtk.JUSTIFY_CENTER)        
+        label.set_justify(gtk.Justification.CENTER)
         alignment.add(button)
         table.attach(alignment, 3, 4, 0, 1)
