|
|
@ -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`
|
|
|
|