Xmonad moved from 0.15 to 0.17. Several critical changes!

This commit is contained in:
Derek Taylor
2022-07-10 13:53:32 -05:00
parent 68dd26a9a8
commit fa32d93dc4
2 changed files with 30 additions and 48 deletions
+15 -24
View File
@@ -71,10 +71,12 @@ import qualified Data.Map as M
-- Hooks -- Hooks
import XMonad.Hooks.DynamicLog (dynamicLogWithPP, wrap, xmobarPP, xmobarColor, shorten, PP(..)) import XMonad.Hooks.DynamicLog (dynamicLogWithPP, wrap, xmobarPP, xmobarColor, shorten, PP(..))
import XMonad.Hooks.EwmhDesktops -- for some fullscreen events, also for xcomposite in obs. import XMonad.Hooks.EwmhDesktops -- for some fullscreen events, also for xcomposite in obs.
import XMonad.Hooks.ManageDocks (avoidStruts, docksEventHook, manageDocks, ToggleStruts(..)) import XMonad.Hooks.ManageDocks (avoidStruts, docks, manageDocks, ToggleStruts(..))
import XMonad.Hooks.ManageHelpers (isFullscreen, doFullFloat, doCenterFloat) import XMonad.Hooks.ManageHelpers (isFullscreen, doFullFloat, doCenterFloat)
import XMonad.Hooks.ServerMode import XMonad.Hooks.ServerMode
import XMonad.Hooks.SetWMName import XMonad.Hooks.SetWMName
import XMonad.Hooks.StatusBar
import XMonad.Hooks.StatusBar.PP
import XMonad.Hooks.WorkspaceHistory import XMonad.Hooks.WorkspaceHistory
-- Layouts -- Layouts
@@ -89,7 +91,6 @@ import XMonad.Layout.ThreeColumns
-- Layouts modifiers -- Layouts modifiers
import XMonad.Layout.LayoutModifier import XMonad.Layout.LayoutModifier
import XMonad.Layout.LimitWindows (limitWindows, increaseLimit, decreaseLimit) import XMonad.Layout.LimitWindows (limitWindows, increaseLimit, decreaseLimit)
import XMonad.Layout.Magnifier
import XMonad.Layout.MultiToggle (mkToggle, single, EOT(EOT), (??)) import XMonad.Layout.MultiToggle (mkToggle, single, EOT(EOT), (??))
import XMonad.Layout.MultiToggle.Instances (StdTransformers(NBFULL, MIRROR, NOBORDERS)) import XMonad.Layout.MultiToggle.Instances (StdTransformers(NBFULL, MIRROR, NOBORDERS))
import XMonad.Layout.NoBorders import XMonad.Layout.NoBorders
@@ -431,15 +432,6 @@ tall = renamed [Replace "tall"]
$ subLayout [] (smartBorders Simplest) $ subLayout [] (smartBorders Simplest)
$ mySpacing 8 $ mySpacing 8
$ ResizableTall 1 (3/100) (1/2) [] $ ResizableTall 1 (3/100) (1/2) []
magnify = renamed [Replace "magnify"]
$ limitWindows 5
$ smartBorders
$ windowNavigation
$ addTabs shrinkText myTabTheme
$ subLayout [] (smartBorders Simplest)
$ magnifier
$ mySpacing 8
$ ResizableTall 1 (3/100) (1/2) []
monocle = renamed [Replace "monocle"] monocle = renamed [Replace "monocle"]
$ smartBorders $ smartBorders
$ windowNavigation $ windowNavigation
@@ -519,16 +511,15 @@ myLayoutHook = avoidStruts
$ mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout $ mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout
where where
myDefaultLayout = withBorder myBorderWidth tall myDefaultLayout = withBorder myBorderWidth tall
||| magnify ||| noBorders monocle
||| noBorders monocle ||| floats
||| floats ||| noBorders tabs
||| noBorders tabs ||| grid
||| grid ||| spirals
||| spirals ||| threeCol
||| threeCol ||| threeRow
||| threeRow ||| tallAccordion
||| tallAccordion ||| wideAccordion
||| wideAccordion
#+END_SRC #+END_SRC
* Workspaces * Workspaces
@@ -844,9 +835,9 @@ main = do
xmproc1 <- spawnPipe ("xmobar -x 1 $HOME/.config/xmobar/" ++ colorScheme ++ "-xmobarrc") xmproc1 <- spawnPipe ("xmobar -x 1 $HOME/.config/xmobar/" ++ colorScheme ++ "-xmobarrc")
xmproc2 <- spawnPipe ("xmobar -x 2 $HOME/.config/xmobar/" ++ colorScheme ++ "-xmobarrc") xmproc2 <- spawnPipe ("xmobar -x 2 $HOME/.config/xmobar/" ++ colorScheme ++ "-xmobarrc")
-- the xmonad, ya know...what the WM is named after! -- the xmonad, ya know...what the WM is named after!
xmonad $ addDescrKeys' ((mod4Mask, xK_F1), showKeybindings) myKeys $ ewmh def xmonad $ addDescrKeys' ((mod4Mask, xK_F1), showKeybindings) myKeys $ ewmh $ docks $ def
{ manageHook = myManageHook <+> manageDocks { manageHook = myManageHook <+> manageDocks
, handleEventHook = docksEventHook --, handleEventHook = docks
-- Uncomment this line to enable fullscreen support on things like YouTube/Netflix. -- Uncomment this line to enable fullscreen support on things like YouTube/Netflix.
-- This works perfect on SINGLE monitor systems. On multi-monitor systems, -- This works perfect on SINGLE monitor systems. On multi-monitor systems,
-- it adds a border around the window if screen does not have focus. So, my solution -- it adds a border around the window if screen does not have focus. So, my solution
@@ -860,7 +851,7 @@ main = do
, borderWidth = myBorderWidth , borderWidth = myBorderWidth
, normalBorderColor = myNormColor , normalBorderColor = myNormColor
, focusedBorderColor = myFocusColor , focusedBorderColor = myFocusColor
, logHook = dynamicLogWithPP $ namedScratchpadFilterOutWorkspacePP $ xmobarPP , logHook = dynamicLogWithPP $ filterOutWsPP [scratchpadWorkspaceTag] $ xmobarPP
{ ppOutput = \x -> hPutStrLn xmproc0 x -- xmobar on monitor 1 { ppOutput = \x -> hPutStrLn xmproc0 x -- xmobar on monitor 1
>> hPutStrLn xmproc1 x -- xmobar on monitor 2 >> hPutStrLn xmproc1 x -- xmobar on monitor 2
>> hPutStrLn xmproc2 x -- xmobar on monitor 3 >> hPutStrLn xmproc2 x -- xmobar on monitor 3
+15 -24
View File
@@ -27,10 +27,12 @@ import qualified Data.Map as M
-- Hooks -- Hooks
import XMonad.Hooks.DynamicLog (dynamicLogWithPP, wrap, xmobarPP, xmobarColor, shorten, PP(..)) import XMonad.Hooks.DynamicLog (dynamicLogWithPP, wrap, xmobarPP, xmobarColor, shorten, PP(..))
import XMonad.Hooks.EwmhDesktops -- for some fullscreen events, also for xcomposite in obs. import XMonad.Hooks.EwmhDesktops -- for some fullscreen events, also for xcomposite in obs.
import XMonad.Hooks.ManageDocks (avoidStruts, docksEventHook, manageDocks, ToggleStruts(..)) import XMonad.Hooks.ManageDocks (avoidStruts, docks, manageDocks, ToggleStruts(..))
import XMonad.Hooks.ManageHelpers (isFullscreen, doFullFloat, doCenterFloat) import XMonad.Hooks.ManageHelpers (isFullscreen, doFullFloat, doCenterFloat)
import XMonad.Hooks.ServerMode import XMonad.Hooks.ServerMode
import XMonad.Hooks.SetWMName import XMonad.Hooks.SetWMName
import XMonad.Hooks.StatusBar
import XMonad.Hooks.StatusBar.PP
import XMonad.Hooks.WorkspaceHistory import XMonad.Hooks.WorkspaceHistory
-- Layouts -- Layouts
@@ -45,7 +47,6 @@ import XMonad.Layout.ThreeColumns
-- Layouts modifiers -- Layouts modifiers
import XMonad.Layout.LayoutModifier import XMonad.Layout.LayoutModifier
import XMonad.Layout.LimitWindows (limitWindows, increaseLimit, decreaseLimit) import XMonad.Layout.LimitWindows (limitWindows, increaseLimit, decreaseLimit)
import XMonad.Layout.Magnifier
import XMonad.Layout.MultiToggle (mkToggle, single, EOT(EOT), (??)) import XMonad.Layout.MultiToggle (mkToggle, single, EOT(EOT), (??))
import XMonad.Layout.MultiToggle.Instances (StdTransformers(NBFULL, MIRROR, NOBORDERS)) import XMonad.Layout.MultiToggle.Instances (StdTransformers(NBFULL, MIRROR, NOBORDERS))
import XMonad.Layout.NoBorders import XMonad.Layout.NoBorders
@@ -344,15 +345,6 @@ tall = renamed [Replace "tall"]
$ subLayout [] (smartBorders Simplest) $ subLayout [] (smartBorders Simplest)
$ mySpacing 8 $ mySpacing 8
$ ResizableTall 1 (3/100) (1/2) [] $ ResizableTall 1 (3/100) (1/2) []
magnify = renamed [Replace "magnify"]
$ limitWindows 5
$ smartBorders
$ windowNavigation
$ addTabs shrinkText myTabTheme
$ subLayout [] (smartBorders Simplest)
$ magnifier
$ mySpacing 8
$ ResizableTall 1 (3/100) (1/2) []
monocle = renamed [Replace "monocle"] monocle = renamed [Replace "monocle"]
$ smartBorders $ smartBorders
$ windowNavigation $ windowNavigation
@@ -432,16 +424,15 @@ myLayoutHook = avoidStruts
$ mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout $ mkToggle (NBFULL ?? NOBORDERS ?? EOT) myDefaultLayout
where where
myDefaultLayout = withBorder myBorderWidth tall myDefaultLayout = withBorder myBorderWidth tall
||| magnify ||| noBorders monocle
||| noBorders monocle ||| floats
||| floats ||| noBorders tabs
||| noBorders tabs ||| grid
||| grid ||| spirals
||| spirals ||| threeCol
||| threeCol ||| threeRow
||| threeRow ||| tallAccordion
||| tallAccordion ||| wideAccordion
||| wideAccordion
-- myWorkspaces = [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "] -- myWorkspaces = [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "] myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
@@ -692,9 +683,9 @@ main = do
xmproc1 <- spawnPipe ("xmobar -x 1 $HOME/.config/xmobar/" ++ colorScheme ++ "-xmobarrc") xmproc1 <- spawnPipe ("xmobar -x 1 $HOME/.config/xmobar/" ++ colorScheme ++ "-xmobarrc")
xmproc2 <- spawnPipe ("xmobar -x 2 $HOME/.config/xmobar/" ++ colorScheme ++ "-xmobarrc") xmproc2 <- spawnPipe ("xmobar -x 2 $HOME/.config/xmobar/" ++ colorScheme ++ "-xmobarrc")
-- the xmonad, ya know...what the WM is named after! -- the xmonad, ya know...what the WM is named after!
xmonad $ addDescrKeys' ((mod4Mask, xK_F1), showKeybindings) myKeys $ ewmh def xmonad $ addDescrKeys' ((mod4Mask, xK_F1), showKeybindings) myKeys $ ewmh $ docks $ def
{ manageHook = myManageHook <+> manageDocks { manageHook = myManageHook <+> manageDocks
, handleEventHook = docksEventHook --, handleEventHook = docks
-- Uncomment this line to enable fullscreen support on things like YouTube/Netflix. -- Uncomment this line to enable fullscreen support on things like YouTube/Netflix.
-- This works perfect on SINGLE monitor systems. On multi-monitor systems, -- This works perfect on SINGLE monitor systems. On multi-monitor systems,
-- it adds a border around the window if screen does not have focus. So, my solution -- it adds a border around the window if screen does not have focus. So, my solution
@@ -708,7 +699,7 @@ main = do
, borderWidth = myBorderWidth , borderWidth = myBorderWidth
, normalBorderColor = myNormColor , normalBorderColor = myNormColor
, focusedBorderColor = myFocusColor , focusedBorderColor = myFocusColor
, logHook = dynamicLogWithPP $ namedScratchpadFilterOutWorkspacePP $ xmobarPP , logHook = dynamicLogWithPP $ filterOutWsPP [scratchpadWorkspaceTag] $ xmobarPP
{ ppOutput = \x -> hPutStrLn xmproc0 x -- xmobar on monitor 1 { ppOutput = \x -> hPutStrLn xmproc0 x -- xmobar on monitor 1
>> hPutStrLn xmproc1 x -- xmobar on monitor 2 >> hPutStrLn xmproc1 x -- xmobar on monitor 2
>> hPutStrLn xmproc2 x -- xmobar on monitor 3 >> hPutStrLn xmproc2 x -- xmobar on monitor 3