From 112be8fc8b7e7f64865b465ee8922fa5b328c565 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Sun, 25 Dec 2016 15:32:09 -0800 Subject: [PATCH 1/2] [XMonad] Refactor screen functions --- dotfiles/xmonad/xmonad.hs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/dotfiles/xmonad/xmonad.hs b/dotfiles/xmonad/xmonad.hs index c081a538..2383c023 100644 --- a/dotfiles/xmonad/xmonad.hs +++ b/dotfiles/xmonad/xmonad.hs @@ -587,17 +587,21 @@ bindBringAndRaiseMany = concatMap (\(a, b, c, d) -> bindBringAndRaise a b c d) -- Screen shift -shiftToNextScreen = withWindowSet $ \ws -> +shiftToNextScreen ws = case W.visible ws of - W.Screen i _ _:_ -> windows $ W.view (W.tag i) . W.shift (W.tag i) - _ -> return () + W.Screen i _ _:_ -> W.view (W.tag i) $ W.shift (W.tag i) ws + _ -> ws -goToNextScreen = windows $ \ws -> +shiftToNextScreenX = windows shiftToNextScreen + +goToNextScreen ws = case W.visible ws of newVisible:rest -> ws { W.current = newVisible , W.visible = W.current ws:rest } _ -> ws + +goToNextScreenX = windows goToNextScreen -- Key bindings @@ -642,12 +646,12 @@ addKeys conf@XConfig {modMask = modm} = -- Focus/Layout manipulation - , ((modm, xK_s), swapNextScreen >> goToNextScreen) - , ((modm, xK_e), goToNextScreen) + , ((modm, xK_s), swapNextScreen >> goToNextScreenX) + , ((modm, xK_e), goToNextScreenX) , ((modm, xK_slash), sendMessage $ Toggle MIRROR) , ((modm, xK_backslash), toggleWS) , ((modm, xK_space), deactivateFullOr $ sendMessage NextLayout) - , ((modm, xK_z), shiftToNextScreen) + , ((modm, xK_z), shiftToNextScreenX) , ((modm .|. shiftMask, xK_z), shiftToEmptyNextScreen) , ((modm .|. shiftMask, xK_h), shiftToEmptyAndView) -- These need to be rebound to support boringWindows From f5c3bfd74e672e845623fd4dbeff6196ac9614e8 Mon Sep 17 00:00:00 2001 From: Ivan Malison Date: Sun, 25 Dec 2016 15:59:55 -0800 Subject: [PATCH 2/2] [XMonad] Unminimize after doScratchpad --- dotfiles/xmonad/xmonad.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dotfiles/xmonad/xmonad.hs b/dotfiles/xmonad/xmonad.hs index 2383c023..49edfd63 100644 --- a/dotfiles/xmonad/xmonad.hs +++ b/dotfiles/xmonad/xmonad.hs @@ -562,7 +562,8 @@ scratchpads = , NS "volume" volumeCommand volumeSelector nonFloating ] -doScratchpad = deactivateFullAnd . namedScratchpadAction scratchpads +doScratchpad = + maybeUnminimizeAfter . deactivateFullAnd . namedScratchpadAction scratchpads -- Raise or spawn