swiss-army-knife-1.1.0.2: lib/Knives/Sleep.hs
{-# LANGUAGE OverloadedStrings #-}
module Knives.Sleep where
import System.Process
import CommandLine
knifeSleep :: SleepOptions -> IO ()
knifeSleep optsS = do
putStrLn $ "Put the machine to sleep." ++ show (secondsToSleep optsS)
case (secondsToSleep optsS) of
Just secs -> do putStrLn $ "sleep in " ++ show secs ++ " seconds."
_n <- readProcess "sleep" [show secs] ""
return ()
Nothing -> putStrLn "sleep immediatly"
_nn <- readProcess "systemctl" ["suspend", "-i"] ""
return ()