diff --git a/ltk.cabal b/ltk.cabal
--- a/ltk.cabal
+++ b/ltk.cabal
@@ -1,36 +1,35 @@
-name: ltk
-version: 0.10.0.4
-cabal-version: >= 1.8
-build-type: Simple
-license: GPL
-license-file: LICENSE
-copyright: Juergen "jutaro" Nicklisch-Franken
-maintainer: maintainer@leksah.org
-homepage: http://www.leksah.org
-package-url: http://code.haskell.org/ltk
-bug-reports: http://code.google.com/p/leksah/issues/list
-synopsis: Leksah tool kit
-description: UI Framework used by leksah
-category: GUI
-author: Juergen "jutaro" Nicklisch-Franken
-tested-with: GHC ==6.10 || ==6.12 || ==7.0
-
-Library
-    build-depends: Cabal >=1.6.0 && <1.11, base >=4.0.0.0 && <4.4,
-               containers >=0.2 && <0.5, filepath >=1.1.0 && <1.3,
-               glib >=0.10.0 && <0.13, gtk >=0.10.0 && <0.13,
-               mtl >=1.1.0.2 && <2.1, parsec >=2.1.0.1 && <3.2,
-               pretty >=1.0.1.0 && <1.1,
-               -- Make sure we get the Cabal compaitble with ghc and haddock
-               haddock <2.10, ghc <7.3
-    exposed-modules: Default MyMissing Control.Event
-                 Graphics.UI.Editor.Basics Graphics.UI.Editor.Composite
-                 Graphics.UI.Editor.DescriptionPP Graphics.UI.Editor.MakeEditor
-                 Graphics.UI.Editor.Parameters Graphics.UI.Editor.Simple
-                 Graphics.UI.Frame.Panes Graphics.UI.Frame.ViewFrame
-                 Text.PrinterParser
-    exposed: True
-    buildable: True
-    extensions: CPP
-    hs-source-dirs: src
-
+name: ltk
+version: 0.12.0.0
+cabal-version: >= 1.8
+build-type: Simple
+license: GPL
+license-file: LICENSE
+copyright: Juergen "jutaro" Nicklisch-Franken
+maintainer: maintainer@leksah.org
+homepage: http://www.leksah.org
+package-url: http://code.haskell.org/ltk
+bug-reports: http://code.google.com/p/leksah/issues/list
+synopsis: Leksah tool kit
+description: UI Framework used by leksah
+category: GUI
+author: Juergen "jutaro" Nicklisch-Franken
+tested-with: GHC ==6.10 || ==6.12 || ==7.0
+
+Library
+    build-depends: Cabal >=1.6.0 && <1.15, base >=4.0.0.0 && <4.6,
+               containers >=0.2 && <0.5, filepath >=1.1.0 && <1.4,
+               glib >=0.10.0 && <0.13, gtk >=0.10.0 && <0.13,
+               mtl >=1.1.0.2 && <2.1, parsec >=2.1.0.1 && <3.2,
+               pretty >=1.0.1.0 && <1.2, transformers >=0.2.2.0 && <0.3
+
+    exposed-modules: Default MyMissing Control.Event
+                 Graphics.UI.Editor.Basics Graphics.UI.Editor.Composite
+                 Graphics.UI.Editor.DescriptionPP Graphics.UI.Editor.MakeEditor
+                 Graphics.UI.Editor.Parameters Graphics.UI.Editor.Simple
+                 Graphics.UI.Frame.Panes Graphics.UI.Frame.ViewFrame
+                 Text.PrinterParser
+    exposed: True
+    buildable: True
+    extensions: CPP, FlexibleInstances, BangPatterns
+    hs-source-dirs: src
+
diff --git a/src/Graphics/UI/Frame/Panes.hs b/src/Graphics/UI/Frame/Panes.hs
--- a/src/Graphics/UI/Frame/Panes.hs
+++ b/src/Graphics/UI/Frame/Panes.hs
@@ -43,9 +43,9 @@
 import Data.Map (Map)
 import qualified Data.Map as Map
 import Data.Typeable
-import Control.Monad.Trans
 import Graphics.UI.Editor.Basics
        (Connection(..), Connection, Connections)
+import Control.Monad.IO.Class (MonadIO)
 
 -- ---------------------------------------------------------------------
 -- Panes and pane layout
diff --git a/src/Graphics/UI/Frame/ViewFrame.hs b/src/Graphics/UI/Frame/ViewFrame.hs
--- a/src/Graphics/UI/Frame/ViewFrame.hs
+++ b/src/Graphics/UI/Frame/ViewFrame.hs
@@ -4,7 +4,8 @@
     -XFlexibleInstances
     -XMultiParamTypeClasses
     -XUndecidableInstances
-    -XDeriveDataTypeable #-}
+    -XDeriveDataTypeable
+    -XBangPatterns #-}
 -----------------------------------------------------------------------------
 --
 -- Module      :  IDE.Core.ViewFrame
@@ -90,7 +91,6 @@
 ) where
 
 import Graphics.UI.Gtk hiding (afterToggleOverwrite,onToggleOverwrite)
-import Control.Monad.Reader
 import qualified Data.Map as Map
 import Data.List
 import Data.Maybe
@@ -122,6 +122,9 @@
 import qualified Data.Set as  Set (unions, member)
 import Data.Set (Set(..))
 import Graphics.UI.Gtk.Gdk.Events (Event(..))
+import Control.Monad.IO.Class (MonadIO(..))
+import Control.Monad (when, liftM, foldM)
+import qualified Control.Monad.Reader as Gtk (liftIO)
 
 --import Debug.Trace (trace)
 trace a b = b
@@ -1021,7 +1024,7 @@
             case mbText of
                 Nothing -> return ()
                 Just str -> do
-                    liftIO $ func (str,nb)
+                    Gtk.liftIO $ func (str,nb)
                     return ()
 
 terminalsWithPanePath :: PaneLayout -> [(PanePath,PaneLayout)]
diff --git a/src/Text/PrinterParser.hs b/src/Text/PrinterParser.hs
--- a/src/Text/PrinterParser.hs
+++ b/src/Text/PrinterParser.hs
@@ -1,4 +1,4 @@
-{-# OPTIONS_GHC -XTypeSynonymInstances #-}
+{-# OPTIONS_GHC -XTypeSynonymInstances -XFlexibleInstances #-}
 --
 -- | Module for saving and restoring preferences and settings
 --
