diff --git a/Manatee/Extension/Terminal/TerminalView.hs b/Manatee/Extension/Terminal/TerminalView.hs
--- a/Manatee/Extension/Terminal/TerminalView.hs
+++ b/Manatee/Extension/Terminal/TerminalView.hs
@@ -26,12 +26,14 @@
 import Data.Text.Lazy (Text)
 import Data.Typeable
 import Graphics.UI.Gtk hiding (Statusbar, statusbarNew, get)
-import Graphics.UI.Gtk.Vte.Vte
 import Graphics.UI.Gtk.Gdk.SerializedEvent
+import Graphics.UI.Gtk.Vte.Vte
+import Manatee.Core.DBus
+import Manatee.Core.PageFrame
+import Manatee.Core.PageView
 import Manatee.Core.Types
 import Manatee.Extension.Terminal.TerminalBuffer
 import Manatee.Toolkit.Gtk.Gtk
-import Manatee.Toolkit.Gtk.ScrolledWindow
 import Paths_manatee_terminal
 import System.FilePath
 
@@ -39,7 +41,7 @@
 
 data TerminalView =
     TerminalView {terminalViewPlugId               :: TVar PagePlugId
-                 ,terminalViewScrolledWindow       :: ScrolledWindow
+                 ,terminalViewFrame                :: PageFrame
                  ,terminalViewView                 :: Terminal
                  ,terminalViewBuffer               :: TerminalBuffer
                  }
@@ -56,25 +58,30 @@
 instance PageView TerminalView where
     pageViewBuffer              = PageBufferWrap . terminalViewBuffer
     pageViewPlugId              = terminalViewPlugId
+    pageViewBox                 = pageFrameBox . terminalViewFrame
+    pageViewScrolledWindow      = terminalViewScrolledWindow
     pageViewFocus               = widgetGrabFocus . terminalViewView
     pageViewCopy                = terminalViewCopy
     pageViewPaste               = terminalViewPaste
-    pageViewScrolledWindow      = terminalViewScrolledWindow
     pageViewHandleKeyAction     = terminalViewHandleKeyAction
 
 -- | New terminal view.
 terminalViewNew :: TerminalBuffer -> PagePlugId -> IO TerminalView
 terminalViewNew buffer plugId = do
   -- Create UI frame.
-  scrolledWindow <- scrolledWindowNew_
+  pFrame <- pageFrameNewWithModeName (pageModeName $ terminalBufferMode buffer)
   
   -- Create view.
   terminal <- terminalNew
   terminalForkCommand terminal Nothing Nothing Nothing Nothing False False False
-  scrolledWindow `containerAdd` terminal
+  pageFrameAddChild pFrame terminal
   pId <- newTVarIO plugId
-  let terminalView = TerminalView pId scrolledWindow terminal buffer 
+  let terminalView = TerminalView pId pFrame terminal buffer 
 
+  -- Send `RenderProcessExit` signal when exit current temrinal.
+  terminal `on` childExited $ 
+    mkDaemonSignal (pageViewClient terminalView) RenderProcessExit (RenderProcessExitArgs (terminalBufferPageId buffer))
+
   -- Return view.
   return terminalView
 
@@ -101,3 +108,8 @@
 terminalViewPaste view = do
   terminalPasteClipboard (terminalViewView view)
   return True
+
+-- | Scrolled window.
+terminalViewScrolledWindow :: TerminalView -> ScrolledWindow  
+terminalViewScrolledWindow =
+    pageFrameScrolledWindow . terminalViewFrame
diff --git a/manatee-terminal.cabal b/manatee-terminal.cabal
--- a/manatee-terminal.cabal
+++ b/manatee-terminal.cabal
@@ -1,5 +1,5 @@
 name:			manatee-terminal
-version:		0.0.7
+version:		0.0.8
 Cabal-Version:	>= 1.6
 license:		GPL-3
 license-file:	LICENSE
@@ -34,9 +34,9 @@
   location:     http://patch-tag.com/r/AndyStewart/manatee-terminal
   
 Library
-     build-depends: base >= 4 && < 5, manatee-core >= 0.0.7, dbus-client >= 0.3 && < 0.4, stm >= 2.1.2.0,
+     build-depends: base >= 4 && < 5, manatee-core >= 0.0.8, dbus-client >= 0.3 && < 0.4, stm >= 2.1.2.0,
                     containers >= 0.3.0.0, gtk-serialized-event >= 0.12.0, gtk >= 0.12.0, vte >= 0.12.0,
-                    text >= 0.7.1.0, filepath
+                    text >= 0.7.1.0, filepath, unix
      exposed-modules:
          Manatee.Extension.Terminal
          Manatee.Extension.Terminal.PageMode
