-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Third-party extensions to hbro.
--   
--   Third-party extensions to hbro.
@package hbro-contrib
@version 1.0.0.0

module Hbro.StatusBar

-- | Write current scroll position in the given Label.
setupScrollWidget :: (MonadIO m, MonadReader r m, HasScrollWindow r) => Label -> m ()

-- | /! Doesn't work for now. Write current zoom level in the given Label.
setupZoomWidget :: (MonadIO m, MonadReader r m, HasWebView r) => Label -> m ()
printInLabel :: (MonadIO m, MonadReader r m, HasGUI r) => String -> (String, Bool) -> m (String, Bool)

-- | Write current load progress in the given Label.
setupProgressWidget :: (MonadIO m, MonadReader r m, HasWebView r) => Label -> m ()

-- | Write current URI, or the destination of a hovered link, in the given
--   Label.
setupURIWidget :: (MonadIO m, MonadReader r m, HasWebView r) => URIColors -> URIColors -> Label -> m ()
labelSetURI :: URIColors -> URIColors -> Label -> URI -> IO ()
data URIColors
URIColors :: Color -> Color -> Color -> Color -> Color -> Color -> Color -> URIColors
mScheme :: URIColors -> Color
mHost :: URIColors -> Color
mPort :: URIColors -> Color
mUser :: URIColors -> Color
mPath :: URIColors -> Color
mQuery :: URIColors -> Color
mFragment :: URIColors -> Color
defaultURIColors :: URIColors
defaultSecureURIColors :: URIColors

module Hbro.Settings

-- | Disable HTML5 database &amp; local storage, plugins and scripts.
paranoidWebSettings :: [AttrOp WebSettings]
chromeUserAgent :: String
safariUserAgent :: String
operaUserAgent :: String
internetExplorerUserAgent :: String
firefoxUserAgent :: String
epiphanyUserAgent :: String

module Hbro.Session

module Hbro.Download
aria :: MonadIO m => IO FilePath -> URI -> String -> m ()
axel :: MonadIO m => IO FilePath -> URI -> String -> m ()
wget :: MonadIO m => IO FilePath -> URI -> String -> m ()

module Hbro.Misc

-- | Open dmenu with given input and return selected entry.
dmenu :: (Functor m, MonadIO m, MonadError HError m) => [String] -> String -> m String

-- | List preceding URIs in dmenu and let the user select which one to
--   load.
goBackList :: (Functor m, MonadIO m, MonadReader r m, HasWebView r, MonadError HError m) => [String] -> m URI

-- | List succeeding URIs in dmenu and let the user select which one to
--   load.
goForwardList :: (Functor m, MonadIO m, MonadReader r m, HasWebView r, MonadError HError m) => [String] -> m URI
itemToEntry :: WebHistoryItem -> IO (Maybe String)


-- | Designed to be imported as <tt>qualified</tt>.
module Hbro.History
data Entry
Entry :: LocalTime -> URI -> String -> Entry
mTime :: Entry -> LocalTime
mURI :: Entry -> URI
mTitle :: Entry -> String

-- | Log current visited page to history file
log :: (MonadIO m, MonadReader r m, HasWebView r, MonadError HError m) => IO FilePath -> m ()

-- | Add a new entry to history file
add :: (MonadIO m, MonadError HError m) => IO FilePath -> Entry -> m ()

-- | Try to parse a String into a history Entry.
parseEntry :: MonadError HError m => String -> m Entry

-- | Open a dmenu with all (sorted alphabetically) history entries, and
--   return the user's selection, if any
select :: (Functor m, MonadIO m, MonadError HError m) => IO FilePath -> [String] -> m Entry
instance Show Entry


-- | Designed to be imported as <tt>qualified</tt>.
module Hbro.Bookmarks
data Entry
Entry :: URI -> [String] -> Entry
mURI :: Entry -> URI
mTags :: Entry -> [String]

-- | Add current webpage to bookmarks with given tags
add :: (Functor m, MonadIO m, MonadReader r m, HasWebView r, MonadError HError m) => IO FilePath -> [String] -> m ()

-- | Add a custom entry to bookmarks
addCustom :: (MonadIO m, MonadError HError m) => IO FilePath -> Entry -> m ()

-- | Open a dmenu with all (sorted alphabetically) bookmarks entries, and
--   return the user's selection, if any.
select :: (Functor m, MonadIO m, MonadError HError m) => IO FilePath -> [String] -> m URI

-- | Open a dmenu with all (sorted alphabetically) bookmarks tags, and
--   return the user's selection, if any.
selectTag :: (Functor m, MonadIO m, MonadError HError m) => IO FilePath -> [String] -> m [URI]

-- | popOldest :: PortableFilePath -&gt; String -&gt; IO (Maybe URI)
--   popOldest file tags = do
--   
--   Return a random Bookmark entry with a given tag, while removing it
--   from bookmarks. popRandom :: PortableFilePath -&gt; String -&gt; IO
--   (Maybe URI) popRandom file tags = do file' &lt;- resolve file result
--   &lt;- try . readFile $ file' file'' <a>either (\e -</a> errorHandler
--   file' e &gt;&gt; return Nothing) (x -&gt; return $ Just x) result
--   
--   Remove all bookmarks entries matching the given tag.
deleteWithTag :: (Functor m, MonadIO m, MonadError HError m) => IO FilePath -> [String] -> m ()
instance Show Entry
