From ec42f3490554548a550fd9db99809de1630ceec7 Mon Sep 17 00:00:00 2001 From: ndwarshuis Date: Mon, 26 Dec 2022 15:18:50 -0500 Subject: [PATCH] REF use text in few more places --- bin/vbox-start.hs | 2 +- bin/xmobar.hs | 6 ++++-- bin/xmonad.hs | 6 ++++-- lib/XMonad/Internal/Process.hs | 10 +++++++--- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/bin/vbox-start.hs b/bin/vbox-start.hs index fd09d35..0204f4a 100644 --- a/bin/vbox-start.hs +++ b/bin/vbox-start.hs @@ -60,7 +60,7 @@ vmPID :: String -> IO (Maybe Int) vmPID vid = do (rc, out, _) <- readCreateProcessWithExitCode' cmd "" return $ case rc of - ExitSuccess -> readMaybe out + ExitSuccess -> readMaybe $ T.unpack out _ -> Nothing where cmd = proc "pgrep" ["-f", "VirtualBoxVM.*" ++ vid] diff --git a/bin/xmobar.hs b/bin/xmobar.hs index 5c858dc..5d85010 100644 --- a/bin/xmobar.hs +++ b/bin/xmobar.hs @@ -425,11 +425,13 @@ vpnPresent = go <$> tryIOError (readCreateProcessWithExitCode' (proc' "nmcli" args) "") where args = ["-c", "no", "-t", "-f", "TYPE", "c", "show"] - go (Right (ExitSuccess, out, _)) = if "vpn" `elem` lines out then Nothing + go (Right (ExitSuccess, out, _)) = if "vpn" `elem` T.lines out then Nothing else Just $ Msg Error "vpn not found" go (Right (ExitFailure c, _, err)) = Just $ Msg Error $ T.concat ["vpn search exited with code " - , T.pack $ show c, ": ", T.pack err] + , T.pack $ show c + , ": " + , err] go (Left e) = Just $ Msg Error $ T.pack $ show e -------------------------------------------------------------------------------- diff --git a/bin/xmonad.hs b/bin/xmonad.hs index b967584..24ceb96 100644 --- a/bin/xmonad.hs +++ b/bin/xmonad.hs @@ -15,6 +15,7 @@ import Data.Internal.Dependency import Data.List import Data.Maybe import Data.Monoid +import Data.Text.IO (hPutStrLn) import Graphics.X11.Types import Graphics.X11.Xlib.Atom @@ -25,7 +26,9 @@ import qualified RIO.Text as T import System.Directory import System.Environment -import System.IO +import System.IO hiding + ( hPutStrLn + ) import System.IO.Error import System.Process @@ -437,7 +440,6 @@ whenChanged v action = do logXinerama :: Handle -> X () logXinerama h = withWindowSet $ \ws -> io $ hPutStrLn h - $ T.unpack $ T.unwords $ filter (not . T.null) [onScreen ws, offScreen ws, sep, layout ws, nWindows ws] where diff --git a/lib/XMonad/Internal/Process.hs b/lib/XMonad/Internal/Process.hs index 6b6ba4d..9d92e8b 100644 --- a/lib/XMonad/Internal/Process.hs +++ b/lib/XMonad/Internal/Process.hs @@ -23,6 +23,8 @@ import Control.Monad.IO.Class import Data.Maybe +import qualified RIO.Text as T + import System.Directory import System.Exit import System.IO @@ -62,9 +64,11 @@ addGroupSession cp = cp { create_group = True, new_session = True } createProcess' :: CreateProcess -> IO (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle) createProcess' = withDefaultSignalHandlers . createProcess -readCreateProcessWithExitCode' :: CreateProcess -> String -> IO (ExitCode, String, String) -readCreateProcessWithExitCode' c i = withDefaultSignalHandlers - $ readCreateProcessWithExitCode c i +readCreateProcessWithExitCode' :: CreateProcess -> String + -> IO (ExitCode, T.Text, T.Text) +readCreateProcessWithExitCode' c i = withDefaultSignalHandlers $ do + (r, e, p) <- readCreateProcessWithExitCode c i + return (r, T.pack e, T.pack p) shell' :: String -> CreateProcess shell' = addGroupSession . shell