diff --git a/xmonad/xmonad.hs b/xmonad/xmonad.hs index b629762..60f64c6 100644 --- a/xmonad/xmonad.hs +++ b/xmonad/xmonad.hs @@ -36,6 +36,9 @@ import XMonad.Actions.PerWindowKeys import XMonad.Actions.FindEmptyWorkspace import XMonad.Layout.Grid import XMonad.Layout.PerScreen (ifWider) +import XMonad.StackSet +import XMonad.Layout +import XMonad.Layout.Reflect main :: IO () @@ -80,6 +83,7 @@ myConfig = def , ("M-f", viewEmptyWorkspace) -- View an empty workspace , ("M-S-w", spawn "flameshot gui --path=/mnt/Data/mpv-screenshots/screenshots") , ("M-w", spawn "~/.local/bin/copy_image.sh") + , ("M-v", toggleLayout) ] @@ -97,13 +101,18 @@ myTheme = def -- Add other theme properties as needed } - - - myLayout = mouseResize $ spacingRaw True (Border 10 10 10 10) True (Border 10 10 10 10) True $ tallLayout ||| Full where - tallLayout = Tall 2 (3/100) (1/2) + tallLayout = reflectHoriz $ Tall 2 (3/100) (1/2) + +toggleLayout :: X () +toggleLayout = do + currentLayout <- gets (W.layout . W.workspace . W.current . windowset) + case description currentLayout of + "Tall" -> sendMessage $ JumpToLayout "Mirror Tall" + _ -> sendMessage $ JumpToLayout "Tall" + myXmobarPP :: PP myXmobarPP = def