Search endpoints

This commit is contained in:
Mats Rauhala 2019-03-21 23:36:00 +02:00
parent 41806dca67
commit bd4f5d7e30
2 changed files with 15 additions and 5 deletions

View File

@ -1,4 +1,5 @@
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
module XMonad.Config.MasseR where module XMonad.Config.MasseR where
@ -70,15 +71,17 @@ scratchSubmaps conf = submapName . mkNamedKeymap conf $ [
] ]
-- Search engines inside submaps -- Search engines inside submaps
searchSubmaps :: XConfig l -> NamedAction searchSubmaps :: ExtraConfig -> XConfig l -> NamedAction
searchSubmaps conf = searchSubmaps extraConfig conf =
let mkBrowser = promptSearchBrowser def "qutebrowser" let mkBrowser = promptSearchBrowser def "qutebrowser"
_googleP = addName "Search google" $ mkBrowser google _googleP = addName "Search google" $ mkBrowser google
ddgP = addName "Search duckduckgo" $ mkBrowser (searchEngine "duckduckgo" "http://duckduckgo.com/?q=") ddgP = addName "Search duckduckgo" $ mkBrowser (searchEngine "duckduckgo" "http://duckduckgo.com/?q=")
extras = [(key, addName name $ mkBrowser (searchEngine name url)) | Search{..} <- searchEndpoints extraConfig]
in submapName . mkNamedKeymap conf $ in submapName . mkNamedKeymap conf $
[ ("d", ddgP) -- Training to use ddg again [ ("d", ddgP) -- Training to use ddg again
, ("g", ddgP) -- training to use ddg again , ("g", ddgP) -- training to use ddg again
] ] ++ extras
myNav2d :: Navigation2DConfig myNav2d :: Navigation2DConfig
myNav2d = def { defaultTiledNavigation = lineNavigation } myNav2d = def { defaultTiledNavigation = lineNavigation }
@ -181,7 +184,7 @@ myKeys extraConfig conf =
subKeys "Launchers" [ ("M-S-y", addName "Open youtube" $ spawn "mpv $(clip -o)") subKeys "Launchers" [ ("M-S-y", addName "Open youtube" $ spawn "mpv $(clip -o)")
, ("M-S-<Return>", addName "Open terminal" $ spawn $ XMonad.terminal conf) , ("M-S-<Return>", addName "Open terminal" $ spawn $ XMonad.terminal conf)
, ("M-n", scratchSubmaps conf) , ("M-n", scratchSubmaps conf)
, ("M-s", searchSubmaps conf) , ("M-s", searchSubmaps extraConfig conf)
, ("M-p", addName "Retrieve password" $ passPrompt def) , ("M-p", addName "Retrieve password" $ passPrompt def)
, ("M-S-e", addName "Open with app" xdgOpen) , ("M-S-e", addName "Open with app" xdgOpen)
, ("M-e", addName "Run app" $ runOrRaisePrompt def)] ^++^ , ("M-e", addName "Run app" $ runOrRaisePrompt def)] ^++^

View File

@ -19,7 +19,14 @@ data TopicRule =
} }
deriving (Show, Generic) deriving (Show, Generic)
data Search = Search { name :: String
, key :: String
, url :: String
}
deriving (Show, Generic)
data ExtraConfig = data ExtraConfig =
ExtraConfig { applications :: Applications ExtraConfig { applications :: Applications
, topics :: [ TopicRule ] } , topics :: [ TopicRule ]
, searchEndpoints :: [Search] }
deriving (Show, Generic) deriving (Show, Generic)