hbro-contrib 1.6.0.0 → 1.7.0.0
raw patch · 3 files changed
+49/−14 lines, 3 filesdep +microlensdep −lensdep ~hbronew-component:exe:example
Dependencies added: microlens
Dependencies removed: lens
Dependency ranges changed: hbro
Files
- Hbro/StatusBar.hs +2/−1
- examples/hbro.hs +10/−10
- hbro-contrib.cabal +37/−3
Hbro/StatusBar.hs view
@@ -10,7 +10,6 @@ import Hbro.Keys as Key import Hbro.Logger -import Control.Lens.Getter import Control.Monad.Trans.Resource import Graphics.Rendering.Pango.Extended@@ -20,6 +19,8 @@ import Graphics.UI.Gtk.General.General.Extended import Graphics.UI.Gtk.Misc.Adjustment import Graphics.UI.Gtk.WebKit.WebView++import Lens.Micro import Network.URI as N
examples/hbro.hs view
@@ -9,7 +9,7 @@ import Hbro import qualified Hbro.Bookmarks as Bookmarks import qualified Hbro.Clipboard as Clipboard-import Hbro.Config (homePageL)+import Hbro.Config (homePage_) import qualified Hbro.Config as Config import Hbro.Defaults import qualified Hbro.Download as Download@@ -22,13 +22,13 @@ import Hbro.Settings import Hbro.StatusBar -import Control.Lens.Getter- import qualified Data.Map as Map import qualified Data.Set as Set import Graphics.UI.Gtk.WebKit.WebSettings +import Lens.Micro ((^.))+ import qualified Network.URI as N import Network.URI.Extended @@ -41,12 +41,12 @@ myHomePage = fromJust . N.parseURI $ "https://www.google.com" -- Download to $HOME-myDownloadHandler :: (ControlIO m) => (URI, Text, Maybe Int) -> m ()+myDownloadHandler :: (ControlIO m, MonadCatch m) => (URI, Text, Maybe Int) -> m () myDownloadHandler (uri, filename, _size) = do destination <- io getHomeDirectory Download.aria destination uri filename -myLoadFinishedHandler :: (ControlIO m, MonadReader r m, Has MainView r, MonadLogger m, MonadThrow m, Alternative m) => m ()+myLoadFinishedHandler :: (ControlIO m, MonadReader r m, Has MainView r, MonadLogger m, MonadCatch m, Alternative m) => m () myLoadFinishedHandler = History.log -- Those key bindings are suited for an azerty keyboard@@ -55,7 +55,7 @@ -- Browse [ [_Control .| _Left] >: goBackList >>= load , [_Control .| _Right] >: goForwardList >>= load- , [_Control .| _g] >: promptM "DuckDuckGo search" "" >>= parseURIReference . ("http://duckduckgo.com/html?q=" ++) . pack . escapeURIString isAllowedInURI . unpack >>= load+ , [_Control .| _g] >: promptM "DuckDuckGo search" "" >>= parseURIReference . ("http://duckduckgo.com/html?q=" <>) . pack . escapeURIString isAllowedInURI . unpack >>= load -- Bookmarks , [_Control .| _d] >: promptM "Bookmark with tags:" "" >>= Bookmarks.addCurrent . words -- , [_Control .| _D] >: promptM "Bookmark all instances with tag:" "" >>= \tags -> do@@ -64,7 +64,7 @@ -- void . Bookmarks.addCustom . (`Bookmarks.Entry` words tags) =<< getURI , [_Alt .| _d] >: Bookmarks.deleteByTag , [_Control .| _l] >: Bookmarks.select >>= load- , [_Control .| _L] >: Bookmarks.selectByTag >>= void . mapM (\uri -> spawn "hbro" ["-u", tshow uri])+ , [_Control .| _L] >: Bookmarks.selectByTag >>= void . mapM (\uri -> spawn "hbro" ["-u", show uri]) -- History , [_Alt .| _h] >: load . History._uri =<< History.select -- Settings@@ -76,11 +76,11 @@ -- Setup run at start-up myStartUp :: (God r m, MonadCatch m) => m () myStartUp = do- Config.set homePageL myHomePage+ Config.set homePage_ myHomePage mainView <- ask- addHandler (mainView^.downloadHandlerL) myDownloadHandler- addHandler (mainView^.loadFinishedHandlerL) $ const myLoadFinishedHandler+ addHandler (mainView^.downloadHandler_) myDownloadHandler+ addHandler (mainView^.loadFinishedHandler_) $ const myLoadFinishedHandler -- Web settings (cf Graphic.Gtk.WebKit.WebSettings) s <- getWebSettings
hbro-contrib.cabal view
@@ -1,5 +1,5 @@ Name: hbro-contrib-Version: 1.6.0.0+Version: 1.7.0.0 Synopsis: Third-party extensions to hbro. Description: Cf README Homepage: https://github.com/k0ral/hbro-contrib@@ -32,8 +32,8 @@ filepath, glib, gtk3 >= 0.12.3,- hbro >= 1.6,- lens,+ hbro >= 1.7,+ microlens, monad-control, mono-traversable, mtl,@@ -62,3 +62,37 @@ Hbro.Settings Hbro.StatusBar Ghc-options: -Wall -fno-warn-unused-do-bind++Executable example+ Build-depends:+ aeson,+ aeson-pretty,+ base == 4.*,+ bytestring,+ chunked-data,+ containers,+ directory,+ filepath,+ glib,+ gtk3 >= 0.12.3,+ hbro >= 1.6,+ microlens,+ monad-control,+ mono-traversable,+ mtl,+ network-uri,+ pango,+ parsec,+ process,+ -- random-extras,+ -- random-fu,+ resourcet,+ safe,+ safe-exceptions,+ -- taggy-lens,+ text,+ time,+ transformers-base,+ unix,+ webkitgtk3+ Main-is: examples/hbro.hs