Compare commits

...

3 Commits

Author SHA1 Message Date
7c27571ca7 Configurable music toggle 2019-05-13 08:48:16 +03:00
dbd3024d98 Fixup 2019-04-08 12:11:19 +03:00
9b16e074ef Use the provided browser for searching 2019-04-08 12:10:55 +03:00
3 changed files with 17 additions and 11 deletions

View File

@ -1,15 +1,17 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeApplications #-}
module XMonad.Config.MasseR where module XMonad.Config.MasseR where
import XMonad.Password import Control.Lens ((^.))
import XMonad.CustomPrompt import Data.Generics.Product (field)
import XMonad.TopicSpace
import qualified Data.List as List import qualified Data.List as List
import XMonad import XMonad
import XMonad.Actions.CycleWS (swapNextScreen) import XMonad.Actions.CycleWS (swapNextScreen)
import XMonad.Actions.Search import XMonad.Actions.Search
import XMonad.CustomPrompt
import XMonad.Hooks.EwmhDesktops (ewmh, ewmhDesktopsStartup) import XMonad.Hooks.EwmhDesktops (ewmh, ewmhDesktopsStartup)
import XMonad.Hooks.SetWMName (setWMName) import XMonad.Hooks.SetWMName (setWMName)
import XMonad.Hooks.UrgencyHook (args, dzenUrgencyHook, import XMonad.Hooks.UrgencyHook (args, dzenUrgencyHook,
@ -30,11 +32,13 @@ import XMonad.Layout.Tabbed (TabbedDecoration,
Theme (..), shrinkText, Theme (..), shrinkText,
tabbed) tabbed)
import XMonad.Layout.ToggleLayouts (ToggleLayout (..)) import XMonad.Layout.ToggleLayouts (ToggleLayout (..))
import XMonad.Password
import XMonad.Prompt.RunOrRaise (runOrRaisePrompt) import XMonad.Prompt.RunOrRaise (runOrRaisePrompt)
import qualified XMonad.StackSet as W import qualified XMonad.StackSet as W
import XMonad.TopicSpace
import XMonad.Util.EZConfig import XMonad.Util.EZConfig
import XMonad.XMobar (zenburnPP) import XMonad.XMobar (zenburnPP)
import Data.Monoid (Endo, (<>)) import Data.Monoid (Endo, (<>))
@ -55,9 +59,9 @@ import XMonad.Hooks.DynamicLog (statusBar)
import qualified Data.Set as S import qualified Data.Set as S
spotify :: XConfig l -> NamedAction spotify :: ExtraConfig -> XConfig l -> NamedAction
spotify conf = submapName . mkNamedKeymap conf $ spotify extraConf conf = submapName . mkNamedKeymap conf $
[ ("M-p", addName "Play" $ spawn "sp play") ] [ ("M-p", addName "Play" $ spawn (musicToggle . applications $ extraConf)) ]
scratchpads :: [NamedScratchpad] scratchpads :: [NamedScratchpad]
scratchpads = [ scratchpads = [
@ -73,7 +77,7 @@ scratchSubmaps conf = submapName . mkNamedKeymap conf $ [
-- Search engines inside submaps -- Search engines inside submaps
searchSubmaps :: ExtraConfig -> XConfig l -> NamedAction searchSubmaps :: ExtraConfig -> XConfig l -> NamedAction
searchSubmaps extraConfig conf = searchSubmaps extraConfig conf =
let mkBrowser = promptSearchBrowser def "qutebrowser" let mkBrowser = promptSearchBrowser def (extraConfig ^. field @"applications" . field @"browser")
_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] extras = [(key, addName name $ mkBrowser (searchEngine name url)) | Search{..} <- searchEndpoints extraConfig]
@ -174,9 +178,8 @@ myKeys extraConfig conf =
, ("<XF86AudioLowerVolume>", addName "Decrease volume" $ spawn "amixer set Master 2%-") , ("<XF86AudioLowerVolume>", addName "Decrease volume" $ spawn "amixer set Master 2%-")
, ("M-<plus>", addName "Increase volume" $ spawn "amixer set Master 2+") , ("M-<plus>", addName "Increase volume" $ spawn "amixer set Master 2+")
, ("M-<minus>", addName "Decrease volume" $ spawn "amixer set Master 2-") , ("M-<minus>", addName "Decrease volume" $ spawn "amixer set Master 2-")
-- , ("<XF86AudioPlay>", addName "Play/pause spotify" $ spawn "/home/masse/.local/bin/sp play")
, ("<XF86AudioPlay>", addName "Play/pause mopidy" $ spawn "mpc toggle") , ("<XF86AudioPlay>", addName "Play/pause mopidy" $ spawn "mpc toggle")
, ("M-m", spotify conf) , ("M-m", spotify extraConfig conf)
, ("M-S-<Space>", addName "Swap screens" swapNextScreen) , ("M-S-<Space>", addName "Swap screens" swapNextScreen)
, ("M-<Backspace>", addName "Kill window" kill) , ("M-<Backspace>", addName "Kill window" kill)
-- scrot requires `unGrab` -- scrot requires `unGrab`

View File

@ -10,6 +10,7 @@ data Applications =
, prompt :: FilePath , prompt :: FilePath
, screenshot :: FilePath , screenshot :: FilePath
, urxvt :: FilePath , urxvt :: FilePath
, musicToggle :: FilePath
} deriving (Show, Generic) } deriving (Show, Generic)
data TopicRule = data TopicRule =

View File

@ -34,5 +34,7 @@ library
, unix , unix
, containers , containers
, text , text
, lens
, generic-lens
hs-source-dirs: src hs-source-dirs: src
default-language: Haskell2010 default-language: Haskell2010