summaryrefslogtreecommitdiffhomepage
path: root/src/Commands.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Commands.hs')
-rw-r--r--src/Commands.hs20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/Commands.hs b/src/Commands.hs
index 1bfbb94..b501022 100644
--- a/src/Commands.hs
+++ b/src/Commands.hs
@@ -30,18 +30,22 @@ import Data.Char
import System.Process
import System.Exit
import System.IO (hClose)
+
+import Signal
import XUtil
class Show e => Exec e where
- alias :: e -> String
- alias e = takeWhile (not . isSpace) $ show e
- rate :: e -> Int
- rate _ = 10
- run :: e -> IO String
- run _ = return ""
- start :: e -> (String -> IO ()) -> IO ()
- start e cb = go
+ alias :: e -> String
+ alias e = takeWhile (not . isSpace) $ show e
+ rate :: e -> Int
+ rate _ = 10
+ run :: e -> IO String
+ run _ = return ""
+ start :: e -> (String -> IO ()) -> IO ()
+ start e cb = go
where go = run e >>= cb >> tenthSeconds (rate e) >> go
+ trigger :: e -> (Maybe SignalType -> IO ()) -> IO ()
+ trigger _ sh = sh Nothing
data Command = Com Program Args Alias Rate
deriving (Show,Read,Eq)