Cleanup xmonad config

This commit is contained in:
Leon Kowarschick 2020-05-29 11:00:20 +02:00
parent 5490ced857
commit c86377ccfe
3 changed files with 166 additions and 152 deletions

View file

@ -21,6 +21,8 @@ SINK_ICON=""
# the names of your active sinks, use `pactl list sinks short`. # the names of your active sinks, use `pactl list sinks short`.
SINK_BLACKLIST=( SINK_BLACKLIST=(
"alsa_output.pci-0000_00_1f.3.iec958-stereo" "alsa_output.pci-0000_00_1f.3.iec958-stereo"
"alsa_output.pci-0000_28_00.4.iec958-stereo"
"alsa_output.pci-0000_26_00.1.hdmi-stereo-extra2"
) )
# Maps PulseAudio sink names to human-readable names # Maps PulseAudio sink names to human-readable names

View file

@ -59,6 +59,7 @@ import XMonad.Util.SpawnOnce (spawnOnce)
import XMonad.Util.WorkspaceCompare ( getSortByXineramaPhysicalRule , getSortByIndex) import XMonad.Util.WorkspaceCompare ( getSortByXineramaPhysicalRule , getSortByIndex)
import qualified Data.Monoid import qualified Data.Monoid
import Data.Traversable ( for )
import qualified System.IO as SysIO import qualified System.IO as SysIO
import qualified XMonad.Actions.Navigation2D as Nav2d import qualified XMonad.Actions.Navigation2D as Nav2d
import qualified XMonad.Config.Desktop as Desktop import qualified XMonad.Config.Desktop as Desktop
@ -231,20 +232,23 @@ multiMonitorOperation operation n = do
-- Default mappings that need to be removed -- Default mappings that need to be removed
removedKeys :: [String] removedKeys :: [String]
removedKeys = ["M-<Tab>", "M-S-c", "M-S-q", "M-h", "M-l", "M-j", "M-k", "M-S-<Return>"] removedKeys = ["M-<Tab>", "M-S-c", "M-S-q", "M-h", "M-l", "M-j", "M-k", "M-S-<Return>"]
++ if useSharedWorkspaces then [key ++ show n | key <- ["M-", "M-S-", "M-C-"], n <- [1..9 :: Int]] else [] ++ if useSharedWorkspaces then [] else [key ++ show n | key <- ["M-", "M-S-", "M-C-"], n <- [1..9 :: Int]]
myKeys :: [(String, X ())] myKeys :: [(String, X ())]
myKeys = myKeys = concat [ zoomRowBindings, tabbedBindings, multiMonitorBindings, programLaunchBindings, miscBindings, windowControlBindings, workspaceBindings ]
-- ZoomRow where
keyDirPairs = [("h", L), ("j", D), ("k", U), ("l", R)]
zoomRowBindings :: [(String, X ())]
zoomRowBindings =
[ ("M-+", sendMessage zoomIn) [ ("M-+", sendMessage zoomIn)
, ("M--", sendMessage zoomOut) , ("M--", sendMessage zoomOut)
, ("M-#", sendMessage zoomReset) , ("M-#", sendMessage zoomReset)
]
, ("M-S-<Space>", for_ [1..6 :: Int] $ \_ -> sendMessage $ NextLayout) tabbedBindings :: [(String, X ())]
tabbedBindings =
-- Tabs [ ("M-j", ifLayoutName ("Tabbed" `isPrefixOf`) (BoringWindows.focusDown) (windows W.focusDown))
, ("M-j", ifLayoutName ("Tabbed" `isPrefixOf`) (BoringWindows.focusDown) (windows W.focusDown))
, ("M-k", ifLayoutName ("Tabbed" `isPrefixOf`) (BoringWindows.focusUp) (windows W.focusUp)) , ("M-k", ifLayoutName ("Tabbed" `isPrefixOf`) (BoringWindows.focusUp) (windows W.focusUp))
, ("M-C-S-h", sendMessage $ pullGroup L) , ("M-C-S-h", sendMessage $ pullGroup L)
, ("M-C-S-j", sendMessage $ pullGroup D) , ("M-C-S-j", sendMessage $ pullGroup D)
@ -261,16 +265,38 @@ myKeys =
BoringWindows.focusDown BoringWindows.focusDown
onGroup W.focusDown' onGroup W.focusDown'
windows W.focusMaster) windows W.focusMaster)
]
multiMonitorBindings :: [(String, X ())]
multiMonitorBindings =
[ ("M-s", multiMonitorOperation W.view 1)
, ("M-d", multiMonitorOperation W.view 0)
, ("M-S-s", (multiMonitorOperation W.shift 1) >> multiMonitorOperation W.view 1)
, ("M-S-d", (multiMonitorOperation W.shift 0) >> multiMonitorOperation W.view 0)
]
, ("M-f", do sendMessage $ MTog.Toggle MTog.FULL programLaunchBindings :: [(String, X ())]
sendMessage ToggleStruts) programLaunchBindings =
[ ("M-p", spawn myLauncher)
, ("M-C-S-w", sendMessage $ MTog.Toggle WINDOWDECORATION) , ("M-S-p", Rofi.showCombi (def { Rofi.theme = Rofi.bigTheme }) [ "drun", "window", "ssh" ])
, ("M-S-e", Rofi.showNormal (def { Rofi.theme = Rofi.bigTheme, Rofi.fuzzy = False }) "emoji")
--, ("M-s", spawn $ scriptFile "rofi-search.sh")
, ("M-S-o", spawn $ scriptFile "rofi-open.sh")
, ("M-n", scratchpadSubmap)
, ("M-e", Rofi.promptRunCommand def specialCommands)
, ("M-o", Rofi.promptRunCommand def withSelectionCommands)
, ("M-S-C-g", spawn "killall -INT -g giph" >> notify "gif" "saved gif in ~/Bilder/gifs") -- stop gif recording
--, ("M-b", launchWithBackgroundInstance (className =? "qutebrowser") "bwrap --bind / / --dev-bind /dev /dev --tmpfs /tmp --tmpfs /run qutebrowser") --, ("M-b", launchWithBackgroundInstance (className =? "qutebrowser") "bwrap --bind / / --dev-bind /dev /dev --tmpfs /tmp --tmpfs /run qutebrowser")
, ("M-b", safeSpawnProg "qutebrowser") , ("M-b", safeSpawnProg "qutebrowser")
, ("M-S-<Return>", launchWithBackgroundInstance (className =? "Alacritty") "alacritty") , ("M-S-<Return>", launchWithBackgroundInstance (className =? "Alacritty") "alacritty")
]
miscBindings :: [(String, X ())]
miscBindings =
[ ("M-f", do sendMessage (MTog.Toggle MTog.FULL)
sendMessage ToggleStruts)
, ("M-C-S-w", sendMessage $ MTog.Toggle WINDOWDECORATION)
, ("M-S-C-c", kill1) , ("M-S-C-c", kill1)
, ("M-S-C-q", io exitSuccess) , ("M-S-C-q", io exitSuccess)
@ -282,42 +308,29 @@ myKeys =
-- Media -- Media
, ("<XF86AudioRaiseVolume>", spawn "amixer sset Master 5%+") , ("<XF86AudioRaiseVolume>", spawn "amixer sset Master 5%+")
, ("<XF86AudioLowerVolume>", spawn "amixer sset Master 5%-") , ("<XF86AudioLowerVolume>", spawn "amixer sset Master 5%-")
, ("M-S-C-,", (notify "hi" (show $ map (\(a, _) -> show a) workspaceBindings)) >> (notify "ho" (show removedKeys)))
-- Multi monitor
, ("M-s", multiMonitorOperation W.view 1)
, ("M-d", multiMonitorOperation W.view 0)
, ("M-S-s", (multiMonitorOperation W.shift 1) >> multiMonitorOperation W.view 1)
, ("M-S-d", (multiMonitorOperation W.shift 0) >> multiMonitorOperation W.view 0)
-- programs
, ("M-p", spawn myLauncher)
, ("M-S-p", Rofi.showCombi (def { Rofi.theme = Rofi.bigTheme }) [ "drun", "window", "ssh" ])
, ("M-S-e", Rofi.showNormal (def { Rofi.theme = Rofi.bigTheme, Rofi.fuzzy = False }) "emoji")
--, ("M-s", spawn $ scriptFile "rofi-search.sh")
, ("M-S-o", spawn $ scriptFile "rofi-open.sh")
, ("M-n", scratchpadSubmap)
, ("M-e", Rofi.promptRunCommand def specialCommands)
, ("M-o", Rofi.promptRunCommand def withSelectionCommands)
, ("M-S-C-g", spawn "killall -INT -g giph" >> notify "gif" "saved gif in ~/Bilder/gifs") -- stop gif recording
] ++ generatedMappings
where
generatedMappings :: [(String, X ())]
generatedMappings = windowGoMappings ++ windowSwapMappings ++ resizeMappings ++ workspaceMappings
where
workspaceMappings =
if useSharedWorkspaces then [] else
[ (mappingPrefix ++ show wspNum,
do
-- get all workspaces from the config by running an X action to query the config
wsps <- workspaces' <$> asks config
windows $ onCurrentScreen action (wsps !! (wspNum - 1))
)
| (wspNum) <- [1..9 :: Int]
, (mappingPrefix, action) <- [("M-", W.view), ("M-S-", W.shift), ("M-C-", copy)]
] ]
keyDirPairs = [("h", L), ("j", D), ("k", U), ("l", R)] workspaceBindings :: [(String, X ())]
workspaceBindings =
if useSharedWorkspaces
then []
else concat $
[ [ ("M-" ++ show wspNum, runActionOnWorkspace W.view wspNum)
, ("M-S-" ++ show wspNum, runActionOnWorkspace W.shift wspNum)
, ("M-C-" ++ show wspNum, runActionOnWorkspace copy wspNum)
]
| wspNum <- [1..9 :: Int]
]
where
runActionOnWorkspace action wspNum = do
wsps <- workspaces' <$> asks config
windows $ onCurrentScreen action (wsps !! (wspNum - 1))
windowControlBindings :: [(String, X ())]
windowControlBindings = windowGoMappings ++ windowSwapMappings ++ resizeMappings
where
windowGoMappings = [ ("M-M1-" ++ key, Nav2d.windowGo dir False) | (key, dir) <- keyDirPairs ] windowGoMappings = [ ("M-M1-" ++ key, Nav2d.windowGo dir False) | (key, dir) <- keyDirPairs ]
windowSwapMappings = [ ("M-S-M1-" ++ key, Nav2d.windowSwap dir False) | (key, dir) <- keyDirPairs ] windowSwapMappings = [ ("M-S-M1-" ++ key, Nav2d.windowSwap dir False) | (key, dir) <- keyDirPairs ]
resizeMappings = resizeMappings =
@ -328,18 +341,6 @@ myKeys =
] ]
scratchpadSubmap :: X ()
scratchpadSubmap = DescribedSubmap.describedSubmap "Scratchpads"
[ ("M-n", "terminal", namedScratchpadAction scratchpads "terminal")
, ("M-w", "whatsapp", namedScratchpadAction scratchpads "whatsapp")
, ("M-s", "slack", namedScratchpadAction scratchpads "slack")
, ("M-m", "spotify", namedScratchpadAction scratchpads "spotify")
, ("M-d", "discord", namedScratchpadAction scratchpads "discord")
]
-- | toggle tabbed Tall layout, merging all non-master windows -- | toggle tabbed Tall layout, merging all non-master windows
-- into a single tab group when initializing the tabbed layout. -- into a single tab group when initializing the tabbed layout.
toggleTabbedLayout :: X () toggleTabbedLayout :: X ()
@ -367,6 +368,8 @@ myKeys =
spawnOn "NSP" commandToRun spawnOn "NSP" commandToRun
(winId:_) -> windows $ W.shiftWin (W.currentTag winSet) winId (winId:_) -> windows $ W.shiftWin (W.currentTag winSet) winId
withSelectionCommands :: [(String, X ())] withSelectionCommands :: [(String, X ())]
withSelectionCommands = withSelectionCommands =
[ ("Google", XSel.transformPromptSelection ("https://google.com/search?q=" ++) "qutebrowser") [ ("Google", XSel.transformPromptSelection ("https://google.com/search?q=" ++) "qutebrowser")
@ -389,6 +392,19 @@ myKeys =
, ("toggle polybar", sendMessage ToggleStruts >> safeSpawn "polybar-msg" ["cmd", "toggle"]) , ("toggle polybar", sendMessage ToggleStruts >> safeSpawn "polybar-msg" ["cmd", "toggle"])
] ]
scratchpadSubmap :: X ()
scratchpadSubmap = DescribedSubmap.describedSubmap "Scratchpads"
[ ("M-n", "terminal", namedScratchpadAction scratchpads "terminal")
, ("M-w", "whatsapp", namedScratchpadAction scratchpads "whatsapp")
, ("M-s", "slack", namedScratchpadAction scratchpads "slack")
, ("M-m", "spotify", namedScratchpadAction scratchpads "spotify")
, ("M-d", "discord", namedScratchpadAction scratchpads "discord")
]
-- }}} -- }}}
-- ManageHook -------------------------------{{{ -- ManageHook -------------------------------{{{
@ -420,7 +436,7 @@ main = do
let polybarLogHooks = composeAll $ map polybarLogHook monitorIndices let polybarLogHooks = composeAll $ map polybarLogHook monitorIndices
let myConfig = flip additionalKeysP myKeys let myConfig = flip additionalKeysP myKeys
. flip removeKeysP removedKeys $ flip removeKeysP removedKeys
$ Desktop.desktopConfig $ Desktop.desktopConfig
{ terminal = myTerminal { terminal = myTerminal
, workspaces = if useSharedWorkspaces , workspaces = if useSharedWorkspaces

View file

@ -18,15 +18,11 @@ def run_fan_check():
temp = float(re.findall(r"^Tdie:\s*\+(.*?)°C.+", temp)[0]) temp = float(re.findall(r"^Tdie:\s*\+(.*?)°C.+", temp)[0])
if temp < 50: if temp < 50:
fan_speed = 0 fan_speed = 0
elif temp < 60: if temp < 60:
fan_speed = 10
elif temp < 70:
fan_speed = 20
elif temp < 75:
fan_speed = 30 fan_speed = 30
elif temp < 80: elif temp < 70:
fan_speed = 50 fan_speed = 50
elif temp < 85: elif temp < 80:
fan_speed = 100 fan_speed = 100
print("applying fan curve to " + str(fan_speed) + "%, temp is " + str(temp)) print("applying fan curve to " + str(fan_speed) + "%, temp is " + str(temp))