tianbar-0.4.2.0: src/System/Tianbar/Plugin/GSettings.hs
module System.Tianbar.Plugin.GSettings where
-- GSettings plugin
import Control.Monad.IO.Class
import Happstack.Server
import System.Process
import System.Tianbar.Plugin
data GSettings = GSettings
instance Plugin GSettings where
initialize _ = return GSettings
handler _ = dir "gsettings" $
path $ \schema ->
path $ \key -> do
nullDir
setting <- liftIO $ gsettingsGet schema key
return $ toResponse setting
gsettingsGet :: String -> String -> IO String
gsettingsGet schema key = do
output <- readProcess "gsettings" ["get", schema, key] []
let len = length output
return $ drop 1 $ take (len - 2) output