|
|
|
@ -1,7 +1,8 @@
|
|
|
|
|
{-# LANGUAGE DataKinds #-}
|
|
|
|
|
{-# LANGUAGE OverloadedStrings #-}
|
|
|
|
|
{-# LANGUAGE RecordWildCards #-}
|
|
|
|
|
{-# LANGUAGE TypeApplications #-}
|
|
|
|
|
{-# LANGUAGE DataKinds #-}
|
|
|
|
|
{-# LANGUAGE OverloadedStrings #-}
|
|
|
|
|
{-# LANGUAGE RecordWildCards #-}
|
|
|
|
|
{-# LANGUAGE ScopedTypeVariables #-}
|
|
|
|
|
{-# LANGUAGE TypeApplications #-}
|
|
|
|
|
module XMonad.Config.MasseR where
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -23,7 +24,7 @@ import XMonad.Layout.Decoration (Decoration,
|
|
|
|
|
import XMonad.Layout.DwmStyle
|
|
|
|
|
import XMonad.Layout.LayoutModifier (ModifiedLayout)
|
|
|
|
|
import XMonad.Layout.Master
|
|
|
|
|
import XMonad.Layout.NoBorders (smartBorders)
|
|
|
|
|
import XMonad.Layout.NoBorders (noBorders, smartBorders)
|
|
|
|
|
import XMonad.Layout.PerWorkspace (onWorkspace)
|
|
|
|
|
import XMonad.Layout.Renamed
|
|
|
|
|
import XMonad.Layout.Simplest (Simplest)
|
|
|
|
@ -31,9 +32,11 @@ import XMonad.Layout.Spiral
|
|
|
|
|
import XMonad.Layout.Tabbed (TabbedDecoration,
|
|
|
|
|
Theme (..), shrinkText,
|
|
|
|
|
tabbed)
|
|
|
|
|
import XMonad.Layout.ToggleLayouts (ToggleLayout (..))
|
|
|
|
|
import XMonad.Layout.ToggleLayouts (ToggleLayout (..),
|
|
|
|
|
toggleLayouts)
|
|
|
|
|
import XMonad.Password
|
|
|
|
|
import XMonad.Prompt.RunOrRaise (runOrRaisePrompt)
|
|
|
|
|
import XMonad.Prompt.Shell (shellPrompt)
|
|
|
|
|
import qualified XMonad.StackSet as W
|
|
|
|
|
import XMonad.TopicSpace
|
|
|
|
|
import XMonad.Util.EZConfig
|
|
|
|
@ -47,6 +50,7 @@ import XMonad.Util.SpawnOnce
|
|
|
|
|
|
|
|
|
|
import System.IO (hClose, hPutStr)
|
|
|
|
|
import XMonad.Actions.Navigation2D
|
|
|
|
|
import XMonad.Actions.UpdatePointer (updatePointer)
|
|
|
|
|
import XMonad.Util.NamedActions
|
|
|
|
|
import XMonad.Util.Run (spawnPipe)
|
|
|
|
|
|
|
|
|
@ -79,11 +83,12 @@ searchSubmaps :: ExtraConfig -> XConfig l -> NamedAction
|
|
|
|
|
searchSubmaps extraConfig conf =
|
|
|
|
|
let mkBrowser = promptSearchBrowser def (extraConfig ^. field @"applications" . field @"browser")
|
|
|
|
|
_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=")
|
|
|
|
|
searx = addName "Search searx" $ mkBrowser (searchEngine "searx" "https://searx.me/?q=")
|
|
|
|
|
extras = [(key, addName name $ mkBrowser (searchEngine name url)) | Search{..} <- searchEndpoints extraConfig]
|
|
|
|
|
in submapName . mkNamedKeymap conf $
|
|
|
|
|
[ ("d", ddgP) -- Training to use ddg again
|
|
|
|
|
, ("g", ddgP) -- training to use ddg again
|
|
|
|
|
[ ("d", searx) -- Training to use ddg again
|
|
|
|
|
, ("g", searx) -- training to use ddg again
|
|
|
|
|
] ++ extras
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -184,13 +189,12 @@ myKeys extraConfig conf =
|
|
|
|
|
, ("M-<Backspace>", addName "Kill window" kill)
|
|
|
|
|
-- scrot requires `unGrab`
|
|
|
|
|
, ("M-<Print>", addName "Take screenshot" $ spawn (screenshot . applications $ extraConfig))] ^++^
|
|
|
|
|
subKeys "Launchers" [ ("M-S-y", addName "Open youtube" $ spawn "mpv $(clip -o)")
|
|
|
|
|
, ("M-S-<Return>", addName "Open terminal" $ spawn $ XMonad.terminal conf)
|
|
|
|
|
subKeys "Launchers" [ ("M-S-<Return>", addName "Open terminal" $ spawn $ XMonad.terminal conf)
|
|
|
|
|
, ("M-n", scratchSubmaps conf)
|
|
|
|
|
, ("M-s", searchSubmaps extraConfig conf)
|
|
|
|
|
, ("M-p", addName "Retrieve password" $ passPrompt def)
|
|
|
|
|
, ("M-S-e", addName "Open with app" xdgOpen)
|
|
|
|
|
, ("M-e", addName "Run app" $ runOrRaisePrompt def)] ^++^
|
|
|
|
|
, ("M-e", addName "Run app" $ runOrRaisePrompt def)
|
|
|
|
|
, ("M-S-e", addName "Run shell command" $ shellPrompt def)] ^++^
|
|
|
|
|
subKeys "Windows" [ ("M-j", addName "Go down" $ windowGo D False)
|
|
|
|
|
, ("M-k", addName "Go up" $ windowGo U False)
|
|
|
|
|
, ("M-h", addName "Go left" $ windowGo L False)
|
|
|
|
@ -205,10 +209,11 @@ myKeys extraConfig conf =
|
|
|
|
|
] ^++^
|
|
|
|
|
subKeys "Projects & Workspaces" (topicKeys' extraConfig conf) ^++^
|
|
|
|
|
subKeys "Layout management" [ ("M-C-<Space>", addName "Toggle layout" $ sendMessage ToggleLayout)
|
|
|
|
|
, ("M-z", addName "Toggle zoom" $ sendMessage (Toggle "Zoom"))
|
|
|
|
|
, ("M-<Space>", addName "Next layout" $ sendMessage NextLayout)] ^++^
|
|
|
|
|
subKeys "Resize" []
|
|
|
|
|
where
|
|
|
|
|
locker = "sh ~/scripts/lock.sh"
|
|
|
|
|
locker = "xset s activate"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -238,15 +243,18 @@ masser extraConfig = xmonad =<< statusBar (bar extraConfig) zenburnPP toggleStru
|
|
|
|
|
, normalBorderColor = "#262626"
|
|
|
|
|
, focusedBorderColor = "#7F9F7F"
|
|
|
|
|
, manageHook = myManageHook
|
|
|
|
|
, focusFollowsMouse = False
|
|
|
|
|
, focusFollowsMouse = True
|
|
|
|
|
, logHook = updatePointer (0.25, 0.25) (0.25, 0.25)
|
|
|
|
|
}
|
|
|
|
|
myLayout = onWorkspace "web" webLayout $
|
|
|
|
|
onWorkspace "dynamics" webLayout $
|
|
|
|
|
onWorkspace "pdf" pdfLayout $
|
|
|
|
|
onWorkspace "documents" documentLayout $
|
|
|
|
|
onWorkspace "mail" mailLayout
|
|
|
|
|
defLayout
|
|
|
|
|
myLayout = toggleLayouts zoom workspaceLayouts
|
|
|
|
|
where
|
|
|
|
|
zoom = renamed [Replace "Zoom"] (noBorders Full)
|
|
|
|
|
workspaceLayouts = onWorkspace "web" webLayout $
|
|
|
|
|
onWorkspace "dynamics" webLayout $
|
|
|
|
|
onWorkspace "pdf" pdfLayout $
|
|
|
|
|
onWorkspace "documents" documentLayout $
|
|
|
|
|
onWorkspace "mail" mailLayout
|
|
|
|
|
defLayout
|
|
|
|
|
-- Default layout
|
|
|
|
|
defLayout = tiled ||| tabLayout ||| readLayout ||| bspLayout ||| vimLayout ||| spiral (6/7) ||| Full
|
|
|
|
|
-- Pdfs are restricted to tabs
|
|
|
|
|