diff options
Diffstat (limited to 'src/Xmobar/Run/Actions.hs')
-rw-r--r-- | src/Xmobar/Run/Actions.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Xmobar/Run/Actions.hs b/src/Xmobar/Run/Actions.hs index cbc10c5..fc9682d 100644 --- a/src/Xmobar/Run/Actions.hs +++ b/src/Xmobar/Run/Actions.hs @@ -12,6 +12,7 @@ module Xmobar.Run.Actions ( Button , Action(..) + , isEmpty , runAction , runAction' , stripActions) where @@ -20,12 +21,17 @@ import System.Process (spawnCommand, waitForProcess) import Control.Monad (void) import Text.Regex (Regex, subRegex, mkRegex, matchRegex) import Data.Word (Word32) +import Data.Char (isSpace) type Button = Word32 data Action = Spawn [Button] String deriving (Eq, Read, Show) +isEmpty :: Action -> Bool +isEmpty (Spawn _ s) = all isSpace s + runAction :: Action -> IO () +runAction a | isEmpty a = return () runAction (Spawn _ s) = void $ spawnCommand (s ++ " &") >>= waitForProcess -- | Run action with stdout redirected to stderr |