tianbar 0.3.1.0 → 0.3.2.0
raw patch · 2 files changed
+31/−1 lines, 2 files
Files
- src/System/Tianbar/UriOverride.hs +29/−0
- tianbar.cabal +2/−1
+ src/System/Tianbar/UriOverride.hs view
@@ -0,0 +1,29 @@+module System.Tianbar.UriOverride where++import Control.Monad++import Data.List.Split+import qualified Data.Map as M++import Network.URI++type UriOverride = String -> Maybe (IO String)++withScheme :: String -> (URI -> IO String) -> UriOverride+withScheme schemeMatch func uriStr+ | uriScheme uri == schemeMatch = Just $ func uri+ | otherwise = Nothing+ where (Just uri) = parseURI uriStr++mergeOverrides :: [UriOverride] -> UriOverride+mergeOverrides overrides = foldr mplus Nothing . flip map overrides . flip ($)++parseQuery :: URI -> M.Map String String+parseQuery = M.fromList+ . map ((\[a, b] -> (a, unEscapeString b)) . splitOn "=")+ . splitOn "&"+ . tail+ . uriQuery++returnContent :: String -> IO String+returnContent content = return $ "data:text/plain," ++ content
tianbar.cabal view
@@ -1,5 +1,5 @@ name: tianbar-version: 0.3.1.0+version: 0.3.2.0 synopsis: A desktop bar based on WebKit description: A desktop bar using WebKit for rendering as much as possible.@@ -41,6 +41,7 @@ , System.Tianbar.Configuration , System.Tianbar.StrutProperties , System.Tianbar.Systray+ , System.Tianbar.UriOverride , System.Tianbar.WebKit c-sources: src/gdk_property_change_wrapper.c ghc-options: -Wall -rtsopts -threaded