manatee-terminal 0.0.7 → 0.0.8
raw patch · 2 files changed
+22/−10 lines, 2 filesdep +unixdep ~manatee-core
Dependencies added: unix
Dependency ranges changed: manatee-core
Files
Manatee/Extension/Terminal/TerminalView.hs view
@@ -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
manatee-terminal.cabal view
@@ -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