From ae16735a74a711c0ed7adf6e1df18b75a5a26205 Mon Sep 17 00:00:00 2001 From: Paul Fertser Date: Thu, 27 Feb 2020 10:13:57 +0300 Subject: Wireless: fix hlint warnings, reenable CI checks This makes the code hlint-clean for --cpp-define=USE_NL80211, --cpp-define=IWLIB and without --cpp-define too. --- .travis.yml | 2 +- src/Xmobar/Plugins/Monitors/Wireless.hs | 21 +++++++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 54b4ee0..9ccfc21 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,5 +27,5 @@ install: - wget https://raw.github.com/ndmitchell/hlint/master/misc/travis.sh script: -# - sh ./travis.sh src + - sh ./travis.sh src - cabal configure --enable-tests -fall_extensions && cabal build && cabal test diff --git a/src/Xmobar/Plugins/Monitors/Wireless.hs b/src/Xmobar/Plugins/Monitors/Wireless.hs index 1237aa9..bd6d52e 100644 --- a/src/Xmobar/Plugins/Monitors/Wireless.hs +++ b/src/Xmobar/Plugins/Monitors/Wireless.hs @@ -1,4 +1,7 @@ -{-# LANGUAGE TypeApplications, CPP #-} +{-# LANGUAGE CPP #-} +#ifdef USE_NL80211 +{-# LANGUAGE TypeApplications #-} +#endif ----------------------------------------------------------------------------- -- | -- Module : Plugins.Monitors.Wireless @@ -16,7 +19,6 @@ module Xmobar.Plugins.Monitors.Wireless (wirelessConfig, runWireless) where import System.Console.GetOpt -import Data.Maybe (fromMaybe) import Xmobar.Plugins.Monitors.Common @@ -26,7 +28,7 @@ import Network.IWlib import Control.Exception (bracket) import qualified Data.Map as M import GHC.Int (Int8) -import Data.Maybe (listToMaybe) +import Data.Maybe (listToMaybe, fromMaybe) import Control.Monad.IO.Class (liftIO) import Control.Monad.Trans.Maybe (MaybeT(..), runMaybeT) import Data.ByteString.Char8 (unpack) @@ -42,12 +44,12 @@ import System.Posix.IO (closeFd) data IwData = IwData { wiEssid :: String, wiSignal :: Maybe Int, wiQuality :: Int } getWirelessInfo :: String -> IO IwData -getWirelessInfo ifname = do +getWirelessInfo ifname = bracket makeNL80211Socket (closeFd . getFd) (\s -> do iflist <- getInterfaceList s iwdata <- runMaybeT $ do ifidx <- MaybeT . return $ foldr (\(n, i) z -> - if (ifname == "" || ifname == n) then Just i else z) + if ifname == "" || ifname == n then Just i else z) Nothing iflist scanp <- liftIO (getConnectedWifi s ifidx) >>= @@ -63,13 +65,16 @@ getWirelessInfo ifname = do return . unpack signal = staInfoFromPacket stap >>= staSignalMBM >>= return . fromIntegral @Int8 . fromIntegral - qlty = fromMaybe (-1) (round @Float . (/ 0.7) . (+ 110) . - clamp (-110) (-40) . fromIntegral <$> signal) + qlty = maybe (-1) (round @Float . (/ 0.7) . (+ 110) . + clamp (-110) (-40) . fromIntegral) signal MaybeT . return $ Just $ IwData ssid signal qlty return $ fromMaybe (IwData "" Nothing (-1)) iwdata) where rightToMaybe = either (const Nothing) Just - clamp lb up v = if v < lb then lb else if v > up then up else v + clamp lb up v + | v < lb = lb + | v > up = up + | otherwise = v #endif newtype WirelessOpts = WirelessOpts -- cgit v1.2.3