mirror of
https://gitlab.com/dwt1/dotfiles.git
synced 2026-04-24 03:50:24 +10:00
Minor edits.
This commit is contained in:
@@ -17,7 +17,7 @@ import XMonad.Actions.WithAll (sinkAll, killAll)
|
||||
import qualified XMonad.Actions.Search as S
|
||||
|
||||
-- Data
|
||||
import Data.Char (isSpace)
|
||||
import Data.Char (isSpace, toUpper)
|
||||
import Data.Monoid
|
||||
import Data.Maybe (isJust)
|
||||
import Data.Tree
|
||||
@@ -48,9 +48,12 @@ import XMonad.Layout.Magnifier
|
||||
import XMonad.Layout.MultiToggle (mkToggle, single, EOT(EOT), (??))
|
||||
import XMonad.Layout.MultiToggle.Instances (StdTransformers(NBFULL, MIRROR, NOBORDERS))
|
||||
import XMonad.Layout.NoBorders
|
||||
import XMonad.Layout.Renamed (renamed, Rename(Replace))
|
||||
import XMonad.Layout.Renamed
|
||||
import XMonad.Layout.ShowWName
|
||||
import XMonad.Layout.Simplest
|
||||
import XMonad.Layout.Spacing
|
||||
import XMonad.Layout.SubLayouts
|
||||
import XMonad.Layout.WindowNavigation
|
||||
import XMonad.Layout.WindowArranger (windowArrange, WindowArrangerMsg(..))
|
||||
import qualified XMonad.Layout.ToggleLayouts as T (toggleLayouts, ToggleLayout(Toggle))
|
||||
import qualified XMonad.Layout.MultiToggle as MT (Toggle(..))
|
||||
@@ -61,7 +64,7 @@ import XMonad.Prompt.Input
|
||||
import XMonad.Prompt.FuzzyMatch
|
||||
import XMonad.Prompt.Man
|
||||
import XMonad.Prompt.Pass
|
||||
import XMonad.Prompt.Shell (shellPrompt)
|
||||
import XMonad.Prompt.Shell
|
||||
import XMonad.Prompt.Ssh
|
||||
import XMonad.Prompt.XMonad
|
||||
import Control.Arrow (first)
|
||||
@@ -96,7 +99,7 @@ myNormColor :: String
|
||||
myNormColor = "#282c34" -- Border color of normal windows
|
||||
|
||||
myFocusColor :: String
|
||||
myFocusColor = "#bbc5ff" -- Border color of focused windows
|
||||
myFocusColor = "#46d9ff" -- Border color of focused windows
|
||||
|
||||
altMask :: KeyMask
|
||||
altMask = mod1Mask -- Setting this for use in xprompts
|
||||
@@ -471,7 +474,7 @@ dtXPConfig = def
|
||||
, promptBorderWidth = 0
|
||||
, promptKeymap = dtXPKeymap
|
||||
, position = Top
|
||||
-- , position = CenteredAt { xpCenterY = 0.3, xpWidth = 0.3 }
|
||||
-- , position = CenteredAt { xpCenterY = 0.3, xpWidth = 0.3 }
|
||||
, height = 20
|
||||
, historySize = 256
|
||||
, historyFilter = id
|
||||
@@ -480,8 +483,11 @@ dtXPConfig = def
|
||||
, showCompletionOnTab = False
|
||||
-- , searchPredicate = isPrefixOf
|
||||
, searchPredicate = fuzzyMatch
|
||||
, defaultPrompter = id $ map toUpper -- change prompt to UPPER
|
||||
-- , defaultPrompter = unwords . map reverse . words -- reverse the prompt
|
||||
-- , defaultPrompter = drop 5 .id (++ "XXXX: ") -- drop first 5 chars of prompt and add XXXX:
|
||||
, alwaysHighlight = True
|
||||
, maxComplRows = Nothing -- set to Just 5 for 5 rows
|
||||
, maxComplRows = Nothing -- set to 'Just 5' for 5 rows
|
||||
}
|
||||
|
||||
-- The same config above minus the autocomplete feature which is annoying
|
||||
@@ -614,31 +620,55 @@ mySpacing' i = spacingRaw True (Border i i i i) True (Border i i i i) True
|
||||
|
||||
-- Defining a bunch of layouts, many that I don't use.
|
||||
tall = renamed [Replace "tall"]
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ limitWindows 12
|
||||
$ mySpacing 8
|
||||
$ ResizableTall 1 (3/100) (1/2) []
|
||||
magnify = renamed [Replace "magnify"]
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ magnifier
|
||||
$ limitWindows 12
|
||||
$ mySpacing 8
|
||||
$ ResizableTall 1 (3/100) (1/2) []
|
||||
monocle = renamed [Replace "monocle"]
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ limitWindows 20 Full
|
||||
floats = renamed [Replace "floats"]
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ limitWindows 20 simplestFloat
|
||||
grid = renamed [Replace "grid"]
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ limitWindows 12
|
||||
$ mySpacing 8
|
||||
$ mkToggle (single MIRROR)
|
||||
$ Grid (16/10)
|
||||
spirals = renamed [Replace "spirals"]
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ mySpacing' 8
|
||||
$ spiral (6/7)
|
||||
threeCol = renamed [Replace "threeCol"]
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ limitWindows 7
|
||||
$ mySpacing' 4
|
||||
$ ThreeCol 1 (3/100) (1/2)
|
||||
threeRow = renamed [Replace "threeRow"]
|
||||
$ windowNavigation
|
||||
$ addTabs shrinkText myTabTheme
|
||||
$ subLayout [] (smartBorders Simplest)
|
||||
$ limitWindows 7
|
||||
$ mySpacing' 4
|
||||
-- Mirror takes a layout and rotates it by 90 degrees.
|
||||
@@ -648,40 +678,43 @@ threeRow = renamed [Replace "threeRow"]
|
||||
tabs = renamed [Replace "tabs"]
|
||||
-- I cannot add spacing to this layout because it will
|
||||
-- add spacing between window and tabs which looks bad.
|
||||
$ tabbed shrinkText myTabConfig
|
||||
where
|
||||
myTabConfig = def { fontName = "xft:Mononoki Nerd Font:regular:pixelsize=11"
|
||||
, activeColor = "#282c34"
|
||||
, inactiveColor = "#3e445e"
|
||||
, activeBorderColor = "#282c34"
|
||||
, inactiveBorderColor = "#282c34"
|
||||
, activeTextColor = "#ffffff"
|
||||
, inactiveTextColor = "#d0d0d0"
|
||||
}
|
||||
$ tabbed shrinkText myTabTheme
|
||||
|
||||
myTabTheme = def { fontName = myFont
|
||||
, activeColor = "#46d9ff"
|
||||
, inactiveColor = "#313846"
|
||||
, activeBorderColor = "#46d9ff"
|
||||
, inactiveBorderColor = "#282c34"
|
||||
, activeTextColor = "#282c34"
|
||||
, inactiveTextColor = "#d0d0d0"
|
||||
}
|
||||
|
||||
-- Theme for showWName which prints current workspace when you change workspaces.
|
||||
myShowWNameTheme :: SWNConfig
|
||||
myShowWNameTheme = def
|
||||
{ swn_font = "xft:Sans:bold:size=60"
|
||||
{ swn_font = "xft:Ubuntu:bold:size=60"
|
||||
, swn_fade = 1.0
|
||||
, swn_bgcolor = "#000000"
|
||||
, swn_color = "#FFFFFF"
|
||||
, swn_bgcolor = "#1c1f24"
|
||||
, swn_color = "#ffffff"
|
||||
}
|
||||
|
||||
-- The layout hook
|
||||
myLayoutHook = avoidStruts $ mouseResize $ windowArrange $ T.toggleLayouts floats $
|
||||
mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout
|
||||
myLayoutHook = avoidStruts $ mouseResize $ windowArrange $ T.toggleLayouts floats
|
||||
$ mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout
|
||||
where
|
||||
-- I've commented out the layouts I don't use.
|
||||
myDefaultLayout = tall
|
||||
||| magnify
|
||||
||| noBorders monocle
|
||||
||| floats
|
||||
-- ||| grid
|
||||
||| noBorders tabs
|
||||
-- ||| spirals
|
||||
-- ||| threeCol
|
||||
-- ||| threeRow
|
||||
||| grid
|
||||
||| spirals
|
||||
||| threeCol
|
||||
||| threeRow
|
||||
|
||||
myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
|
||||
-- myWorkspaces = [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
|
||||
|
||||
xmobarEscape :: String -> String
|
||||
xmobarEscape = concatMap doubleLts
|
||||
@@ -689,24 +722,23 @@ xmobarEscape = concatMap doubleLts
|
||||
doubleLts '<' = "<<"
|
||||
doubleLts x = [x]
|
||||
|
||||
myWorkspaces :: [String]
|
||||
myWorkspaces = clickable . (map xmobarEscape)
|
||||
-- $ ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
|
||||
$ ["dev", "www", "sys", "doc", "vbox", "chat", "mus", "vid", "gfx"]
|
||||
myClickableWorkspaces :: [String]
|
||||
myClickableWorkspaces = clickable . (map xmobarEscape)
|
||||
-- $ [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
|
||||
$ [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
|
||||
where
|
||||
clickable l = [ "<action=xdotool key super+" ++ show (n) ++ "> " ++ ws ++ " </action>" |
|
||||
clickable l = [ "<action=xdotool key super+" ++ show (n) ++ ">" ++ ws ++ "</action>" |
|
||||
(i,ws) <- zip [1..9] l,
|
||||
let n = i ]
|
||||
|
||||
myManageHook :: XMonad.Query (Data.Monoid.Endo WindowSet)
|
||||
myManageHook = composeAll
|
||||
-- using 'doShift ( myWorkspaces !! 7)' sends program to workspace 8!
|
||||
-- I'm doing it this way because otherwise I would have to write out
|
||||
-- the full name of my workspaces.
|
||||
[ className =? "htop" --> doShift ( myWorkspaces !! 7 )
|
||||
, title =? "firefox" --> doShift ( myWorkspaces !! 1 )
|
||||
-- I'm doing it this way because otherwise I would have to write out the full
|
||||
-- name of my workspaces, and the names would very long if using clickable workspaces.
|
||||
[ title =? "Mozilla Firefox" --> doShift ( myWorkspaces !! 1 )
|
||||
, className =? "mpv" --> doShift ( myWorkspaces !! 7 )
|
||||
-- , className =? "vlc" --> doShift ( myWorkspaces !! 7 )
|
||||
, className =? "vlc" --> doShift ( myWorkspaces !! 7 )
|
||||
, className =? "Gimp" --> doShift ( myWorkspaces !! 8 )
|
||||
, className =? "Gimp" --> doFloat
|
||||
, title =? "Oracle VM VirtualBox Manager" --> doFloat
|
||||
@@ -721,63 +753,21 @@ myLogHook = fadeInactiveLogHook fadeAmount
|
||||
myKeys :: [(String, X ())]
|
||||
myKeys =
|
||||
-- Xmonad
|
||||
[ ("M-C-r", spawn "xmonad --recompile") -- Recompiles xmonad
|
||||
, ("M-S-r", spawn "xmonad --restart") -- Restarts xmonad
|
||||
, ("M-S-q", io exitSuccess) -- Quits xmonad
|
||||
|
||||
-- Open my preferred terminal
|
||||
, ("M-<Return>", spawn (myTerminal ++ " -e fish"))
|
||||
[ ("M-C-r", spawn "xmonad --recompile") -- Recompiles xmonad
|
||||
, ("M-S-r", spawn "xmonad --restart") -- Restarts xmonad
|
||||
, ("M-S-q", io exitSuccess) -- Quits xmonad
|
||||
|
||||
-- Run Prompt
|
||||
, ("M-S-<Return>", shellPrompt dtXPConfig) -- Shell Prompt
|
||||
, ("M-S-<Return>", shellPrompt dtXPConfig) -- Shell Prompt
|
||||
|
||||
-- Windows
|
||||
, ("M-S-c", kill1) -- Kill the currently focused client
|
||||
, ("M-S-a", killAll) -- Kill all windows on current workspace
|
||||
-- Useful programs to have a keybinding for launch
|
||||
, ("M-<Return>", spawn (myTerminal ++ " -e fish"))
|
||||
, ("M-b", spawn (myBrowser ++ " www.youtube.com/c/DistroTube/"))
|
||||
, ("M-M1-h", spawn (myTerminal ++ " -e htop"))
|
||||
|
||||
-- Floating windows
|
||||
, ("M-f", sendMessage (T.Toggle "floats")) -- Toggles my 'floats' layout
|
||||
, ("M-<Delete>", withFocused $ windows . W.sink) -- Push floating window back to tile
|
||||
, ("M-S-<Delete>", sinkAll) -- Push ALL floating windows to tile
|
||||
|
||||
-- Grid Select (CTRL-g followed by a key)
|
||||
, ("C-g g", spawnSelected' myAppGrid) -- grid select favorite apps
|
||||
, ("C-M1-g", spawnSelected' myAppGrid) -- grid select favorite apps
|
||||
, ("C-g t", goToSelected $ mygridConfig myColorizer) -- goto selected window
|
||||
, ("C-g b", bringSelected $ mygridConfig myColorizer) -- bring selected window
|
||||
|
||||
-- Tree Select/
|
||||
, ("C-t t", treeselectAction tsDefaultConfig)
|
||||
|
||||
-- Windows navigation
|
||||
, ("M-m", windows W.focusMaster) -- Move focus to the master window
|
||||
, ("M-j", windows W.focusDown) -- Move focus to the next window
|
||||
, ("M-k", windows W.focusUp) -- Move focus to the prev window
|
||||
--, ("M-S-m", windows W.swapMaster) -- Swap the focused window and the master window
|
||||
, ("M-S-j", windows W.swapDown) -- Swap focused window with next window
|
||||
, ("M-S-k", windows W.swapUp) -- Swap focused window with prev window
|
||||
, ("M-<Backspace>", promote) -- Moves focused window to master, others maintain order
|
||||
, ("M1-S-<Tab>", rotSlavesDown) -- Rotate all windows except master and keep focus in place
|
||||
, ("M1-C-<Tab>", rotAllDown) -- Rotate all the windows in the current stack
|
||||
--, ("M-S-s", windows copyToAll)
|
||||
, ("M-C-s", killAllOtherCopies)
|
||||
|
||||
-- Layouts
|
||||
, ("M-<Tab>", sendMessage NextLayout) -- Switch to next layout
|
||||
, ("M-C-M1-<Up>", sendMessage Arrange)
|
||||
, ("M-C-M1-<Down>", sendMessage DeArrange)
|
||||
, ("M-<Space>", sendMessage (MT.Toggle NBFULL) >> sendMessage ToggleStruts) -- Toggles noborder/full
|
||||
, ("M-S-<Space>", sendMessage ToggleStruts) -- Toggles struts
|
||||
, ("M-S-n", sendMessage $ MT.Toggle NOBORDERS) -- Toggles noborder
|
||||
, ("M-<KP_Multiply>", sendMessage (IncMasterN 1)) -- Increase number of clients in master pane
|
||||
, ("M-<KP_Divide>", sendMessage (IncMasterN (-1))) -- Decrease number of clients in master pane
|
||||
, ("M-S-<KP_Multiply>", increaseLimit) -- Increase number of windows
|
||||
, ("M-S-<KP_Divide>", decreaseLimit) -- Decrease number of windows
|
||||
|
||||
, ("M-h", sendMessage Shrink) -- Shrink horiz window width
|
||||
, ("M-l", sendMessage Expand) -- Expand horiz window width
|
||||
, ("M-C-j", sendMessage MirrorShrink) -- Shrink vert window width
|
||||
, ("M-C-k", sendMessage MirrorExpand) -- Exoand vert window width
|
||||
-- Kill windows
|
||||
, ("M-S-c", kill1) -- Kill the currently focused client
|
||||
, ("M-S-a", killAll) -- Kill all windows on current workspace
|
||||
|
||||
-- Workspaces
|
||||
, ("M-.", nextScreen) -- Switch focus to next monitor
|
||||
@@ -785,11 +775,73 @@ myKeys =
|
||||
, ("M-S-<KP_Add>", shiftTo Next nonNSP >> moveTo Next nonNSP) -- Shifts focused window to next ws
|
||||
, ("M-S-<KP_Subtract>", shiftTo Prev nonNSP >> moveTo Prev nonNSP) -- Shifts focused window to prev ws
|
||||
|
||||
-- Floating windows
|
||||
, ("M-f", sendMessage (T.Toggle "floats")) -- Toggles my 'floats' layout
|
||||
, ("M-t", withFocused $ windows . W.sink) -- Push floating window back to tile
|
||||
, ("M-S-t", sinkAll) -- Push ALL floating windows to tile
|
||||
|
||||
-- Increase/decrease spacing (gaps)
|
||||
, ("M-d", decWindowSpacing 4) -- Decrease window spacing
|
||||
, ("M-i", incWindowSpacing 4) -- Increase window spacing
|
||||
, ("M-S-d", decScreenSpacing 4) -- Decrease screen spacing
|
||||
, ("M-S-i", incScreenSpacing 4) -- Increase screen spacing
|
||||
|
||||
-- Grid Select (CTR-g followed by a key)
|
||||
, ("C-g g", spawnSelected' myAppGrid) -- grid select favorite apps
|
||||
, ("C-g t", goToSelected $ mygridConfig myColorizer) -- goto selected window
|
||||
, ("C-g b", bringSelected $ mygridConfig myColorizer) -- bring selected window
|
||||
|
||||
-- Tree Select
|
||||
, ("C-t t", treeselectAction tsDefaultConfig)
|
||||
|
||||
-- Windows navigation
|
||||
, ("M-m", windows W.focusMaster) -- Move focus to the master window
|
||||
, ("M-j", windows W.focusDown) -- Move focus to the next window
|
||||
, ("M-k", windows W.focusUp) -- Move focus to the prev window
|
||||
, ("M-S-m", windows W.swapMaster) -- Swap the focused window and the master window
|
||||
, ("M-S-j", windows W.swapDown) -- Swap focused window with next window
|
||||
, ("M-S-k", windows W.swapUp) -- Swap focused window with prev window
|
||||
, ("M-<Backspace>", promote) -- Moves focused window to master, others maintain order
|
||||
, ("M-S-<Tab>", rotSlavesDown) -- Rotate all windows except master and keep focus in place
|
||||
, ("M-C-<Tab>", rotAllDown) -- Rotate all the windows in the current stack
|
||||
|
||||
-- Layouts
|
||||
, ("M-<Tab>", sendMessage NextLayout) -- Switch to next layout
|
||||
, ("M-C-M1-<Up>", sendMessage Arrange)
|
||||
, ("M-C-M1-<Down>", sendMessage DeArrange)
|
||||
, ("M-<Space>", sendMessage (MT.Toggle NBFULL) >> sendMessage ToggleStruts) -- Toggles noborder/full
|
||||
, ("M-S-<Space>", sendMessage ToggleStruts) -- Toggles struts
|
||||
, ("M-S-n", sendMessage $ MT.Toggle NOBORDERS) -- Toggles noborder
|
||||
|
||||
-- Increase/decrease windows in the master pane or the stack
|
||||
, ("M-S-<Up>", sendMessage (IncMasterN 1)) -- Increase number of clients in master pane
|
||||
, ("M-S-<Down>", sendMessage (IncMasterN (-1))) -- Decrease number of clients in master pane
|
||||
, ("M-C-<Up>", increaseLimit) -- Increase number of windows
|
||||
, ("M-C-<Down>", decreaseLimit) -- Decrease number of windows
|
||||
|
||||
-- Window resizing
|
||||
, ("M-h", sendMessage Shrink) -- Shrink horiz window width
|
||||
, ("M-l", sendMessage Expand) -- Expand horiz window width
|
||||
, ("M-M1-j", sendMessage MirrorShrink) -- Shrink vert window width
|
||||
, ("M-M1-k", sendMessage MirrorExpand) -- Exoand vert window width
|
||||
|
||||
-- Sublayouts
|
||||
-- This is used to push windows to tabbed sublayouts, or pull them out of it.
|
||||
, ("M-C-h", sendMessage $ pullGroup L)
|
||||
, ("M-C-l", sendMessage $ pullGroup R)
|
||||
, ("M-C-k", sendMessage $ pullGroup U)
|
||||
, ("M-C-j", sendMessage $ pullGroup D)
|
||||
, ("M-C-m", withFocused (sendMessage . MergeAll))
|
||||
, ("M-C-u", withFocused (sendMessage . UnMerge))
|
||||
, ("M-C-/", withFocused (sendMessage . UnMergeAll))
|
||||
, ("M-C-.", onGroup W.focusUp') -- Switch focus to next tab
|
||||
, ("M-C-,", onGroup W.focusDown') -- Switch focus to prev tab
|
||||
|
||||
-- Scratchpads
|
||||
, ("M-C-<Return>", namedScratchpadAction myScratchPads "terminal")
|
||||
, ("M-C-c", namedScratchpadAction myScratchPads "mocp")
|
||||
|
||||
-- Controls for mocp music player.
|
||||
-- Controls for mocp music player (SUPER-u followed by a key)
|
||||
, ("M-u p", spawn "mocp --play")
|
||||
, ("M-u l", spawn "mocp --next")
|
||||
, ("M-u h", spawn "mocp --previous")
|
||||
@@ -808,45 +860,29 @@ myKeys =
|
||||
-- emms is an emacs audio player. I set it to auto start playing in a specific directory.
|
||||
, ("C-e a", spawn "emacsclient -c -a 'emacs' --eval '(emms)' --eval '(emms-play-directory-tree \"~/Music/Non-Classical/70s-80s/\")'")
|
||||
|
||||
--- My Applications (Super+Alt+Key)
|
||||
, ("M-M1-a", spawn (myTerminal ++ " -e ncpamixer"))
|
||||
, ("M-M1-b", spawn "surf www.youtube.com/c/DistroTube/")
|
||||
, ("M-M1-e", spawn (myTerminal ++ " -e neomutt"))
|
||||
, ("M-M1-f", spawn (myTerminal ++ " -e sh ./.config/vifm/scripts/vifmrun | bash"))
|
||||
, ("M-M1-i", spawn (myTerminal ++ " -e irssi"))
|
||||
, ("M-M1-j", spawn (myTerminal ++ " -e joplin"))
|
||||
, ("M-M1-l", spawn (myTerminal ++ " -e lynx https://distrotube.com"))
|
||||
, ("M-M1-m", spawn (myTerminal ++ " -e mocp"))
|
||||
, ("M-M1-n", spawn (myTerminal ++ " -e newsboat"))
|
||||
, ("M-M1-p", spawn (myTerminal ++ " -e pianobar"))
|
||||
, ("M-M1-r", spawn (myTerminal ++ " -e rtv"))
|
||||
, ("M-M1-t", spawn (myTerminal ++ " -e toot curses"))
|
||||
, ("M-M1-w", spawn (myTerminal ++ " -e wopr report.xml"))
|
||||
, ("M-M1-y", spawn (myTerminal ++ " -e youtube-viewer"))
|
||||
|
||||
-- Multimedia Keys
|
||||
, ("<XF86AudioPlay>", spawn "cmus toggle")
|
||||
, ("<XF86AudioPrev>", spawn "cmus prev")
|
||||
, ("<XF86AudioNext>", spawn "cmus next")
|
||||
, ("<XF86AudioPlay>", spawn (myTerminal ++ "mocp --play"))
|
||||
, ("<XF86AudioPrev>", spawn (myTerminal ++ "mocp --previous"))
|
||||
, ("<XF86AudioNext>", spawn (myTerminal ++ "mocp --next"))
|
||||
-- , ("<XF86AudioMute>", spawn "amixer set Master toggle") -- Bug prevents it from toggling correctly in 12.04.
|
||||
, ("<XF86AudioLowerVolume>", spawn "amixer set Master 5%- unmute")
|
||||
, ("<XF86AudioRaiseVolume>", spawn "amixer set Master 5%+ unmute")
|
||||
, ("<XF86HomePage>", spawn "firefox")
|
||||
, ("<XF86Search>", safeSpawn "firefox" ["https://www.google.com/"])
|
||||
, ("<XF86Search>", safeSpawn "firefox" ["https://www.duckduckgo.com/"])
|
||||
, ("<XF86Mail>", runOrRaise "geary" (resource =? "thunderbird"))
|
||||
, ("<XF86Calculator>", runOrRaise "gcalctool" (resource =? "gcalctool"))
|
||||
, ("<XF86Eject>", spawn "toggleeject")
|
||||
, ("<Print>", spawn "scrotd 0")
|
||||
]
|
||||
-- Appending search engine prompts to keybindings list.
|
||||
-- Look at "search engines" section of this config for values for "k".
|
||||
-- Appending search engine prompts to keybindings list.
|
||||
-- Look at "search engines" section of this config for values for "k".
|
||||
++ [("M-s " ++ k, S.promptSearch dtXPConfig' f) | (k,f) <- searchList ]
|
||||
++ [("M-S-s " ++ k, S.selectSearch f) | (k,f) <- searchList ]
|
||||
-- Appending some extra xprompts to keybindings list.
|
||||
-- Look at "xprompt settings" section this of config for values for "k".
|
||||
-- Appending some extra xprompts to keybindings list.
|
||||
-- Look at "xprompt settings" section this of config for values for "k".
|
||||
++ [("M-p " ++ k, f dtXPConfig') | (k,f) <- promptList ]
|
||||
++ [("M-p " ++ k, f dtXPConfig' g) | (k,f,g) <- promptList' ]
|
||||
-- The following lines are needed for named scratchpads.
|
||||
-- The following lines are needed for named scratchpads.
|
||||
where nonNSP = WSIs (return (\ws -> W.tag ws /= "nsp"))
|
||||
nonEmptyNonNSP = WSIs (return (\ws -> isJust (W.stack ws) && W.tag ws /= "nsp"))
|
||||
|
||||
@@ -870,7 +906,7 @@ main = do
|
||||
, modMask = myModMask
|
||||
, terminal = myTerminal
|
||||
, startupHook = myStartupHook
|
||||
, layoutHook = myLayoutHook
|
||||
, layoutHook = showWName' myShowWNameTheme $ myLayoutHook
|
||||
, workspaces = myWorkspaces
|
||||
, borderWidth = myBorderWidth
|
||||
, normalBorderColor = myNormColor
|
||||
@@ -882,7 +918,7 @@ main = do
|
||||
, ppHidden = xmobarColor "#82AAFF" "" . wrap "*" "" -- Hidden workspaces in xmobar
|
||||
, ppHiddenNoWindows = xmobarColor "#c792ea" "" -- Hidden workspaces (no windows)
|
||||
, ppTitle = xmobarColor "#b3afc2" "" . shorten 60 -- Title of active window in xmobar
|
||||
, ppSep = "<fc=#666666> <fn=2>|</fn> </fc>" -- Separators in xmobar
|
||||
, ppSep = "<fc=#666666> <fn=2>|</fn> </fc>" -- Separators in xmobar
|
||||
, ppUrgent = xmobarColor "#C45500" "" . wrap "!" "!" -- Urgent workspace
|
||||
, ppExtras = [windowCount] -- # of windows current workspace
|
||||
, ppOrder = \(ws:l:t:ex) -> [ws,l]++ex++[t]
|
||||
|
||||
Reference in New Issue
Block a user