From d56e2da928343b9cadb8e034036926e089ad861e Mon Sep 17 00:00:00 2001 From: Jose A Ortega Ruiz Date: Sun, 21 Feb 2010 21:38:09 +0100 Subject: New Wireless monitor Ignore-this: b1b66ffa9077f8d41a5c0e962ee0bff3 darcs-hash:20100221203809-748be-71bc1951a2eb8164b0043725bcb707f42e530ded.gz --- Plugins/Monitors/Wireless.hs | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Plugins/Monitors/Wireless.hs (limited to 'Plugins/Monitors/Wireless.hs') diff --git a/Plugins/Monitors/Wireless.hs b/Plugins/Monitors/Wireless.hs new file mode 100644 index 0000000..167a48f --- /dev/null +++ b/Plugins/Monitors/Wireless.hs @@ -0,0 +1,31 @@ +----------------------------------------------------------------------------- +-- | +-- Module : Plugins.Monitors.Wireless +-- Copyright : (c) Jose Antonio Ortega Ruiz +-- License : BSD-style (see LICENSE) +-- +-- Maintainer : Jose Antonio Ortega Ruiz +-- Stability : unstable +-- Portability : unportable +-- +-- A monitor reporting ESSID and link quality for wireless interfaces +-- +----------------------------------------------------------------------------- + +module Plugins.Monitors.Wireless (wirelessConfig, runWireless) where + +import Plugins.Monitors.Common +import IWlib + +wirelessConfig :: IO MConfig +wirelessConfig = mkMConfig " " ["essid", "quality"] + +runWireless :: [String] -> Monitor String +runWireless (iface:_) = do + wi <- io $ getWirelessInfo iface + let essid = wiEssid wi + quality = wiQuality wi + e = if essid == "" then "N/A" else essid + q <- if quality >= 0 then showWithColors show quality else return "N/A" + parseTemplate [e, q] +runWireless _ = return "" \ No newline at end of file -- cgit v1.2.3