From 4041539cde8fec354aace254b67889e3cdea9a2d Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Mon, 10 Aug 2020 14:06:15 -0400 Subject: improvements fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=598659 --- stack.yaml | 2 +- xmonad-config.cabal | 2 +- xmonad.hs | 25 ++++++++++++++++++------- 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/stack.yaml b/stack.yaml index 422176c..f7151d0 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,4 +1,4 @@ -resolver: lts-16.0 +resolver: lts-16.8 packages: - '.' extra-deps: diff --git a/xmonad-config.cabal b/xmonad-config.cabal index 6b890b8..bce3773 100644 --- a/xmonad-config.cabal +++ b/xmonad-config.cabal @@ -7,5 +7,5 @@ cabal-version: >=1.10 executable xmonad-config-exe main-is: xmonad.hs ghc-options: -threaded -rtsopts -with-rtsopts=-N -W -Wall -O2 - build-depends: base, xmonad, xmonad-contrib + build-depends: base, xmonad, xmonad-contrib, data-default default-language: Haskell2010 diff --git a/xmonad.hs b/xmonad.hs index b26e45c..e77f0eb 100644 --- a/xmonad.hs +++ b/xmonad.hs @@ -2,23 +2,34 @@ import XMonad import XMonad.Config.Desktop import XMonad.Layout.NoBorders import XMonad.Layout.Tabbed +import XMonad.Layout.AvoidFloats +import XMonad.Layout.Monitor +import XMonad.Util.EZConfig (additionalKeys) +import XMonad.Actions.PhysicalScreens main :: IO () -main = xmonad - desktopConfig { +main = xmonad $ desktopConfig { terminal = "xterm" --- , layoutHook = noBorders Full ||| noBorders (tabbed shrinkText def) ||| layoutHook desktopConfig , layoutHook = desktopLayoutModifiers layouts - , modMask = mod4Mask - } + , modMask = theModMask + } `additionalKeys` myKeys where + theModMask = mod4Mask + modm = theModMask + + myKeys = [((theModMask, xK_u ), broadcastMessage ToggleMonitor >> refresh)] ++ fixScreenOrder + + fixScreenOrder = [((modm .|. mask, key), f sc) | (key, sc) <- zip [xK_w, xK_e, xK_r] [0..], + (f, mask) <- [(viewScreen def, 0), (sendToScreen def, shiftMask)]] + layouts = noBorders Full ||| noBorders (tabbed shrinkText def) ||| smartBorders tiled ||| smartBorders (Mirror tiled) - tiled = Tall nmaster delta ratio + tiled = avoidFloats $ Tall nmaster delta ratio nmaster = 1 -- The default number of windows in the master pane - ratio = 1 / 2 -- Default proportion of screen occupied by master pane + ratio = 2 / 3 -- Default proportion of screen occupied by master pane delta = 3 / 100 -- Percent of screen to increment by when resizing panes + -- cgit v1.2.3