diff options
Diffstat (limited to 'src/Xmobar/App')
-rw-r--r-- | src/Xmobar/App/EventLoop.hs | 21 | ||||
-rw-r--r-- | src/Xmobar/App/Main.hs | 13 |
2 files changed, 20 insertions, 14 deletions
diff --git a/src/Xmobar/App/EventLoop.hs b/src/Xmobar/App/EventLoop.hs index ae68e96..f046647 100644 --- a/src/Xmobar/App/EventLoop.hs +++ b/src/Xmobar/App/EventLoop.hs @@ -2,8 +2,8 @@ ------------------------------------------------------------------------------ -- | --- Module: Xmobar.X11.EventLoop --- Copyright: (c) 2018, 2020 Jose Antonio Ortega Ruiz +-- Module: Xmobar.App.EventLoop +-- Copyright: (c) 2018, 2020, 2022 Jose Antonio Ortega Ruiz -- License: BSD3-style (see LICENSE) -- -- Maintainer: jao@gnu.org @@ -249,21 +249,26 @@ startCommand sig (com,s,ss) return ([a1, a2], var) where is = s ++ "Updating..." ++ ss -updateString :: Config -> TVar [String] - -> IO [[(Widget, TextRenderInfo, Int, Maybe [Action])]] +updateString :: Config + -> TVar [String] + -> IO [[(Widget, TextRenderInfo, Int, Maybe [Action])]] updateString conf v = do s <- readTVarIO v let l:c:r:_ = s ++ repeat "" liftIO $ mapM (parseString conf) [l, c, r] -updateActions :: XConf -> Rectangle -> [[(Widget, TextRenderInfo, Int, Maybe [Action])]] - -> IO [([Action], Position, Position)] +updateActions :: XConf + -> Rectangle + -> [[(Widget, TextRenderInfo, Int, Maybe [Action])]] + -> IO [([Action], Position, Position)] updateActions conf (Rectangle _ _ wid _) ~[left,center,right] = do let (d,fs) = (display &&& fontListS) conf - strLn :: [(Widget, TextRenderInfo, Int, Maybe [Action])] -> IO [(Maybe [Action], Position, Position)] + strLn :: [(Widget, TextRenderInfo, Int, Maybe [Action])] + -> IO [(Maybe [Action], Position, Position)] strLn = liftIO . mapM getCoords iconW i = maybe 0 Bitmap.width (lookup i $ iconS conf) - getCoords (Text s,_,i,a) = textWidth d (safeIndex fs i) s >>= \tw -> return (a, 0, fi tw) + getCoords (Text s,_,i,a) = + textWidth d (safeIndex fs i) s >>= \tw -> return (a, 0, fi tw) getCoords (Icon s,_,_,a) = return (a, 0, fi $ iconW s) getCoords (Hspace w,_,_,a) = return (a, 0, fi w) partCoord off xs = map (\(a, x, x') -> (fromJust a, x, x')) $ diff --git a/src/Xmobar/App/Main.hs b/src/Xmobar/App/Main.hs index d969cc5..6a3203f 100644 --- a/src/Xmobar/App/Main.hs +++ b/src/Xmobar/App/Main.hs @@ -1,7 +1,7 @@ ------------------------------------------------------------------------------ -- | -- Module: Xmobar.App.Main --- Copyright: (c) 2018, 2019, 2020 Jose Antonio Ortega Ruiz +-- Copyright: (c) 2018, 2019, 2020, 2022 Jose Antonio Ortega Ruiz -- License: BSD3-style (see LICENSE) -- -- Maintainer: jao@gnu.org @@ -51,12 +51,12 @@ xmobar :: Config -> IO () xmobar conf = withDeferSignals $ do initThreads d <- openDisplay "" - fs <- initFont d (font conf) - fl <- mapM (initFont d) (additionalFonts conf) - cls <- mapM (parseTemplate (commands conf) (sepChar conf)) + fs <- initFont d (font conf) + fl <- mapM (initFont d) (additionalFonts conf) + cls <- mapM (parseTemplate (commands conf) (sepChar conf)) (splitTemplate (alignSep conf) (template conf)) let confSig = unSignalChan (signal conf) - sig <- maybe newEmptyTMVarIO pure confSig + sig <- maybe newEmptyTMVarIO pure confSig unless (isJust confSig) $ setupSignalHandler sig refLock <- newRefreshLock withTimer (refreshLock refLock) $ @@ -110,5 +110,6 @@ xmobarMain = do Just p -> do r <- readConfig defaultConfig p case r of Left e -> - buildLaunch (filter (/= p) args) (verboseFlag flags) (recompileFlag flags) p e + buildLaunch (filter (/= p) args) (verboseFlag flags) + (recompileFlag flags) p e Right (c, defs) -> doOpts c flags >>= xmobar' defs |