tabloid 0.44 → 0.45
raw patch · 5 files changed
+15/−9 lines, 5 filesdep ~base
Dependency ranges changed: base
Files
- HaskellCmdInputController.hs +8/−3
- MultiWidgetContainerController.hs +1/−0
- README +0/−0
- ShellCmdInputController.hs +4/−4
- tabloid.cabal +2/−2
HaskellCmdInputController.hs view
@@ -33,6 +33,7 @@ new env = do buf <- textBufferNew Nothing+ textBufferSetText buf "\\env ->\n let rows_t1 = env ! \"t1\" in\n [[\"test\"]] ++ rows_t1" lsc <- LSC.new (Just "hs") lscv <- (lsc .> LSC.view) v@(View.V _ runB _ _ _) <- View.new buf lscv@@ -81,6 +82,7 @@ executeCmd text execCB state = do e <- env state+-- let e = M.insert "t1" [["Hallo"],["welt"]] M.empty postGUISync $ widgetSetSensitivity (View.cancelB $ gui state) False postGUISync $ widgetSetSensitivity (View.executeB $ gui state) False postGUISync $ widgetSetSensitivity (View.textView $ gui state) False@@ -89,13 +91,16 @@ res <- runInterpreter (evalText haskellCode) case res of Right func -> do - let ex_handler :: (Show e) => e -> IO [[String]]+ let ex_handler :: Exc.SomeException -> IO [[String]] ex_handler exc = postGUISync (labelSetText (View.exitCodeL $ gui state) ("Error: " ++ show exc)) >> return [] lines <- Exc.catch (let res' = func e- in (res' `using` rnf) `seq` return res')+ in (res' `using` rnf) `seq` do+ postGUISync $ labelSetText + (View.exitCodeL $ gui state) + ("Procuced " ++ show (length res') ++ " rows")+ return res') ex_handler postGUISync (execCB lines)- postGUISync $ labelSetText (View.exitCodeL $ gui state) ("Procuced " ++ show (length lines) ++ " rows") Left errs -> postGUISync $ labelSetText (View.exitCodeL $ gui state) ("Error: " ++ show errs)
MultiWidgetContainerController.hs view
@@ -49,6 +49,7 @@ dpcUpdated :: String -> [[String]] -> C -> IO C dpcUpdated name content state = do + putStrLn $ "new content from " ++ name return (state {contents = M.insert name content (contents state)}) data C = C
README view
ShellCmdInputController.hs view
@@ -59,8 +59,8 @@ e <- textBufferGetEndIter buf textBufferGetText buf s e True -runText :: C -> IO C-runText state = do+runText :: Maybe s -> C -> IO C+runText additionalInput state = do locked <- tryPutMVar (execLock state) True if locked then case executeCB state of@@ -74,7 +74,7 @@ return state else return state -executeCmd text execCB state (theshell:theargs) = do+executeCmd text execCB state (theshell:theargs) = do postGUISync $ widgetSetSensitivity (View.cancelB $ gui state) True postGUISync $ widgetSetSensitivity (View.executeB $ gui state) False postGUISync $ widgetSetSensitivity (View.textView $ gui state) False@@ -85,7 +85,7 @@ P.terminateProcess ph return ()) forkOS $ do- hPutStr hin text+ hPutStr hin (text ++ otherStdIn) lines <- L.hGetContents hout postGUISync $ execCB lines
tabloid.cabal view
@@ -1,5 +1,5 @@ Name: tabloid-Version: 0.44+Version: 0.45 Description: GUI for shell commands and log analysis Category: System Synopsis: View the output of shell commands in a table@@ -37,5 +37,5 @@ Executable tabloid Main-is: Main.hs- Build-Depends: base >= 3.0 && < 4.0, gtk, regex-base, regex-posix>=0.93, bytestring, process, containers, hint, parallel+ Build-Depends: base >= 4.0, gtk, regex-base, regex-posix>=0.93, bytestring, process, containers, hint, parallel ghc-options: -O9 -fforce-recomp -funbox-strict-fields -threaded