diff options
| author | jao <jao@gnu.org> | 2022-01-28 03:21:26 +0000 | 
|---|---|---|
| committer | jao <jao@gnu.org> | 2022-01-29 06:42:29 +0000 | 
| commit | f3cf53bad93d290130a13cf4e56df54b51d5c174 (patch) | |
| tree | d3c934b9e097b19d826938e0050309f8a0b2a333 /src/Xmobar/Run | |
| parent | a5c35003c88c4b050e56cfb5d93a0e0d77d9c223 (diff) | |
| download | xmobar-f3cf53bad93d290130a13cf4e56df54b51d5c174.tar.gz xmobar-f3cf53bad93d290130a13cf4e56df54b51d5c174.tar.bz2 | |
Xmobar.Run.Command -> Xmobar.Plugins.Command
Diffstat (limited to 'src/Xmobar/Run')
| -rw-r--r-- | src/Xmobar/Run/Command.hs | 54 | ||||
| -rw-r--r-- | src/Xmobar/Run/Template.hs | 3 | ||||
| -rw-r--r-- | src/Xmobar/Run/Types.hs | 5 | 
3 files changed, 4 insertions, 58 deletions
| diff --git a/src/Xmobar/Run/Command.hs b/src/Xmobar/Run/Command.hs deleted file mode 100644 index 430d142..0000000 --- a/src/Xmobar/Run/Command.hs +++ /dev/null @@ -1,54 +0,0 @@ ------------------------------------------------------------------------------- --- | --- Module: Xmobar.Plugins.Command --- Copyright: (c) 2018 Jose Antonio Ortega Ruiz --- License: BSD3-style (see LICENSE) --- --- Maintainer: jao@gnu.org --- Stability: unstable --- Portability: portable --- Created: Sun Dec 02, 2018 05:29 --- --- --- The basic Command plugin --- ------------------------------------------------------------------------------- - - -module Xmobar.Run.Command where - -import Control.Exception (handle, SomeException(..)) -import System.Process -import System.Exit -import System.IO (hClose, hGetLine) - -import Xmobar.Run.Exec - -data Command = Com Program Args Alias Rate -             | ComX Program Args String Alias Rate -               deriving (Show,Read,Eq) - -type Args    = [String] -type Program = String -type Alias   = String -type Rate    = Int - -instance Exec Command where -    alias (ComX p _ _ a _) = -      if p /= "" then (if a == "" then p else a) else "" -    alias (Com p a al r) = alias (ComX p a "" al r) -    start (Com p as al r) cb = -      start (ComX p as ("Could not execute command " ++ p) al r) cb -    start (ComX prog args msg _ r) cb = if r > 0 then go else exec -        where go = doEveryTenthSeconds r exec -              exec = do -                (i,o,e,p) <- runInteractiveProcess prog args Nothing Nothing -                exit <- waitForProcess p -                let closeHandles = hClose o >> hClose i >> hClose e -                    getL = handle (\(SomeException _) -> return "") -                                  (hGetLine o) -                case exit of -                  ExitSuccess -> do str <- getL -                                    closeHandles -                                    cb str -                  _ -> closeHandles >> cb msg diff --git a/src/Xmobar/Run/Template.hs b/src/Xmobar/Run/Template.hs index 50c3a08..87c84d3 100644 --- a/src/Xmobar/Run/Template.hs +++ b/src/Xmobar/Run/Template.hs @@ -20,8 +20,9 @@ module Xmobar.Run.Template(parseTemplate, splitTemplate) where  import qualified Data.Map as Map  import Text.ParserCombinators.Parsec +import Xmobar.Plugins.Command +  import Xmobar.Run.Exec -import Xmobar.Run.Command  import Xmobar.Run.Runnable  defaultAlign :: String diff --git a/src/Xmobar/Run/Types.hs b/src/Xmobar/Run/Types.hs index 0d4ed42..69406bb 100644 --- a/src/Xmobar/Run/Types.hs +++ b/src/Xmobar/Run/Types.hs @@ -2,7 +2,7 @@  ------------------------------------------------------------------------------  -- |  -- Module: Xmobar.Run.Types --- Copyright: (c) 2018 Jose Antonio Ortega Ruiz +-- Copyright: (c) 2018, 2022 Jose Antonio Ortega Ruiz  -- License: BSD3-style (see LICENSE)  --  -- Maintainer: jao@gnu.org @@ -19,6 +19,7 @@  module Xmobar.Run.Types(runnableTypes) where  import {-# SOURCE #-} Xmobar.Run.Runnable() +import Xmobar.Plugins.Command  import Xmobar.Plugins.Monitors  import Xmobar.Plugins.Date  import Xmobar.Plugins.PipeReader @@ -45,8 +46,6 @@ import Xmobar.Plugins.DateZone  import Xmobar.Plugins.Kraken  #endif -import Xmobar.Run.Command -  -- | An alias for tuple types that is more convenient for long lists.  type a :*: b = (a, b)  infixr :*: | 
