From d1fa2bd306cf847311b3cf02e8f2de8bab8ee115 Mon Sep 17 00:00:00 2001 From: jao Date: Sun, 25 Nov 2018 22:24:17 +0000 Subject: Xmobar.X11.Actions --- src/Xmobar/Actions.hs | 34 ---------------------------------- src/Xmobar/App/EventLoop.hs | 2 +- src/Xmobar/Plugins/StdinReader.hs | 2 +- src/Xmobar/Plugins/XMonadLog.hs | 2 +- src/Xmobar/X11/Actions.hs | 34 ++++++++++++++++++++++++++++++++++ src/Xmobar/X11/Bitmap.hs | 2 +- src/Xmobar/X11/Draw.hs | 2 +- src/Xmobar/X11/Parsers.hs | 2 +- 8 files changed, 40 insertions(+), 40 deletions(-) delete mode 100644 src/Xmobar/Actions.hs create mode 100644 src/Xmobar/X11/Actions.hs diff --git a/src/Xmobar/Actions.hs b/src/Xmobar/Actions.hs deleted file mode 100644 index 7901845..0000000 --- a/src/Xmobar/Actions.hs +++ /dev/null @@ -1,34 +0,0 @@ ------------------------------------------------------------------------------ --- | --- Module : Xmobar.Actions --- Copyright : (c) Alexander Polakov --- License : BSD-style (see LICENSE) --- --- Maintainer : Jose A. Ortega Ruiz --- Stability : unstable --- Portability : unportable --- ------------------------------------------------------------------------------ - -module Xmobar.Actions (Action(..), runAction, stripActions) where - -import System.Process (system) -import Control.Monad (void) -import Text.Regex (Regex, subRegex, mkRegex, matchRegex) -import Graphics.X11.Types (Button) - -data Action = Spawn [Button] String - deriving (Eq) - -runAction :: Action -> IO () -runAction (Spawn _ s) = void $ system (s ++ "&") - -stripActions :: String -> String -stripActions s = case matchRegex actionRegex s of - Nothing -> s - Just _ -> stripActions strippedOneLevel - where - strippedOneLevel = subRegex actionRegex s "[action=\\1\\2]\\3[/action]" - -actionRegex :: Regex -actionRegex = mkRegex "`]*)`?( +button=[12345]+)?>(.+)" diff --git a/src/Xmobar/App/EventLoop.hs b/src/Xmobar/App/EventLoop.hs index 8f0b2dc..95ce129 100644 --- a/src/Xmobar/App/EventLoop.hs +++ b/src/Xmobar/App/EventLoop.hs @@ -37,9 +37,9 @@ import Data.Map hiding (foldr, map, filter) import Data.Maybe (fromJust, isJust) import Xmobar.Config -import Xmobar.Actions import Xmobar.Utils import Xmobar.System.Signal +import Xmobar.X11.Actions import Xmobar.Run.Commands import Xmobar.Run.Runnable import Xmobar.X11.Parsers diff --git a/src/Xmobar/Plugins/StdinReader.hs b/src/Xmobar/Plugins/StdinReader.hs index bed7f5c..1d56ca8 100644 --- a/src/Xmobar/Plugins/StdinReader.hs +++ b/src/Xmobar/Plugins/StdinReader.hs @@ -23,7 +23,7 @@ import System.Posix.Process import System.Exit import System.IO import Control.Exception (SomeException(..), handle) -import Xmobar.Actions (stripActions) +import Xmobar.X11.Actions (stripActions) import Xmobar.Utils (hGetLineSafe) import Xmobar.Run.Commands diff --git a/src/Xmobar/Plugins/XMonadLog.hs b/src/Xmobar/Plugins/XMonadLog.hs index a4f17bb..26b6162 100644 --- a/src/Xmobar/Plugins/XMonadLog.hs +++ b/src/Xmobar/Plugins/XMonadLog.hs @@ -28,7 +28,7 @@ import Codec.Binary.UTF8.String as UTF8 #endif import Foreign.C (CChar) import Xmobar.Utils (nextEvent') -import Xmobar.Actions (stripActions) +import Xmobar.X11.Actions (stripActions) data XMonadLog = XMonadLog | UnsafeXMonadLog diff --git a/src/Xmobar/X11/Actions.hs b/src/Xmobar/X11/Actions.hs new file mode 100644 index 0000000..03e58ad --- /dev/null +++ b/src/Xmobar/X11/Actions.hs @@ -0,0 +1,34 @@ +----------------------------------------------------------------------------- +-- | +-- Module : Xmobar.Actions +-- Copyright : (c) Alexander Polakov +-- License : BSD-style (see LICENSE) +-- +-- Maintainer : Jose A. Ortega Ruiz +-- Stability : unstable +-- Portability : unportable +-- +----------------------------------------------------------------------------- + +module Xmobar.X11.Actions (Action(..), runAction, stripActions) where + +import System.Process (system) +import Control.Monad (void) +import Text.Regex (Regex, subRegex, mkRegex, matchRegex) +import Graphics.X11.Types (Button) + +data Action = Spawn [Button] String + deriving (Eq) + +runAction :: Action -> IO () +runAction (Spawn _ s) = void $ system (s ++ "&") + +stripActions :: String -> String +stripActions s = case matchRegex actionRegex s of + Nothing -> s + Just _ -> stripActions strippedOneLevel + where + strippedOneLevel = subRegex actionRegex s "[action=\\1\\2]\\3[/action]" + +actionRegex :: Regex +actionRegex = mkRegex "`]*)`?( +button=[12345]+)?>(.+)" diff --git a/src/Xmobar/X11/Bitmap.hs b/src/Xmobar/X11/Bitmap.hs index c0dba14..e323606 100644 --- a/src/Xmobar/X11/Bitmap.hs +++ b/src/Xmobar/X11/Bitmap.hs @@ -25,7 +25,7 @@ import System.FilePath (()) import System.Mem.Weak ( addFinalizer ) import Xmobar.X11.ColorCache import Xmobar.X11.Parsers (Widget(..)) -import Xmobar.Actions (Action) +import Xmobar.X11.Actions (Action) #ifdef XPM import Xmobar.X11.XPMFile(readXPMFile) diff --git a/src/Xmobar/X11/Draw.hs b/src/Xmobar/X11/Draw.hs index d0c78a8..781ced8 100644 --- a/src/Xmobar/X11/Draw.hs +++ b/src/Xmobar/X11/Draw.hs @@ -29,8 +29,8 @@ import Data.Map hiding (foldr, map, filter) import Graphics.X11.Xlib hiding (textExtents, textWidth) import Graphics.X11.Xlib.Extras -import Xmobar.Actions (Action(..)) import qualified Xmobar.X11.Bitmap as B +import Xmobar.X11.Actions (Action(..)) import Xmobar.X11.Types import Xmobar.X11.XUtil import Xmobar.Config diff --git a/src/Xmobar/X11/Parsers.hs b/src/Xmobar/X11/Parsers.hs index 8c1abac..c76110d 100644 --- a/src/Xmobar/X11/Parsers.hs +++ b/src/Xmobar/X11/Parsers.hs @@ -17,7 +17,7 @@ module Xmobar.X11.Parsers (parseString, Widget(..)) where import Xmobar.Config -import Xmobar.Actions +import Xmobar.X11.Actions import Control.Monad (guard, mzero) import Text.ParserCombinators.Parsec -- cgit v1.2.3