X.A.CopyWindow: fix copiesPP

Related: https://github.com/xmonad/xmonad-contrib/issues/557

Co-authored-by: Tomáš Janoušek <tomi@nomi.cz>
This commit is contained in:
Yecine Megdiche 2021-09-19 12:16:14 +02:00 committed by Tomas Janousek
parent 2d849cc0b7
commit 16b9f0f96d

View File

@ -1,4 +1,5 @@
{-# LANGUAGE PatternGuards #-} {-# LANGUAGE PatternGuards #-}
{-# LANGUAGE RecordWildCards #-}
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
-- | -- |
-- Module : XMonad.Actions.CopyWindow -- Module : XMonad.Actions.CopyWindow
@ -25,11 +26,12 @@ module XMonad.Actions.CopyWindow (
) where ) where
import XMonad import XMonad
import XMonad.Prelude
import Control.Arrow ((&&&)) import Control.Arrow ((&&&))
import qualified Data.List as L import qualified Data.List as L
import XMonad.Actions.WindowGo import XMonad.Actions.WindowGo
import XMonad.Hooks.StatusBar.PP (PP(..)) import XMonad.Hooks.StatusBar.PP (PP(..), WS(..), isHidden)
import qualified XMonad.StackSet as W import qualified XMonad.StackSet as W
-- $usage -- $usage
@ -92,9 +94,9 @@ import qualified XMonad.StackSet as W
copiesPP :: (WorkspaceId -> String) -> PP -> X PP copiesPP :: (WorkspaceId -> String) -> PP -> X PP
copiesPP wtoS pp = do copiesPP wtoS pp = do
copies <- wsContainingCopies copies <- wsContainingCopies
let check ws | ws `elem` copies = wtoS ws let check WS{..} = W.tag wsWS `elem` copies
| otherwise = ppHidden pp ws let printer = (asks (isHidden <&&> check) >>= guard) $> wtoS
return pp { ppHidden = check } return pp{ ppPrinters = printer <|> ppPrinters pp }
-- | Copy the focused window to a workspace. -- | Copy the focused window to a workspace.
copy :: (Eq s, Eq i, Eq a) => i -> W.StackSet i l a s sd -> W.StackSet i l a s sd copy :: (Eq s, Eq i, Eq a) => i -> W.StackSet i l a s sd -> W.StackSet i l a s sd