mirror of
https://github.com/xmonad/xmonad-contrib.git
synced 2025-08-14 03:35:54 -07:00
Adding use case for namedScratchpad.
This commit is contained in:
@@ -24,12 +24,14 @@ module XMonad.Util.NamedScratchpad (
|
|||||||
namedScratchpadAction,
|
namedScratchpadAction,
|
||||||
allNamedScratchpadAction,
|
allNamedScratchpadAction,
|
||||||
namedScratchpadManageHook,
|
namedScratchpadManageHook,
|
||||||
namedScratchpadFilterOutWorkspace
|
namedScratchpadFilterOutWorkspace,
|
||||||
|
namedScratchpadFilterOutWorkspacePP
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import XMonad
|
import XMonad
|
||||||
import XMonad.Hooks.ManageHelpers (doRectFloat)
|
import XMonad.Hooks.ManageHelpers (doRectFloat)
|
||||||
import XMonad.Actions.DynamicWorkspaces (addHiddenWorkspace)
|
import XMonad.Actions.DynamicWorkspaces (addHiddenWorkspace)
|
||||||
|
import XMonad.Hooks.DynamicLog (PP, ppSort)
|
||||||
|
|
||||||
import Control.Monad (filterM)
|
import Control.Monad (filterM)
|
||||||
import Data.Maybe (listToMaybe)
|
import Data.Maybe (listToMaybe)
|
||||||
@@ -160,4 +162,20 @@ namedScratchpadManageHook = composeAll . fmap (\c -> query c --> hook c)
|
|||||||
namedScratchpadFilterOutWorkspace :: [WindowSpace] -> [WindowSpace]
|
namedScratchpadFilterOutWorkspace :: [WindowSpace] -> [WindowSpace]
|
||||||
namedScratchpadFilterOutWorkspace = filter (\(W.Workspace tag _ _) -> tag /= scratchpadWorkspaceTag)
|
namedScratchpadFilterOutWorkspace = filter (\(W.Workspace tag _ _) -> tag /= scratchpadWorkspaceTag)
|
||||||
|
|
||||||
|
-- | Transforms a pretty-printer into one not displaying the NSP workspace.
|
||||||
|
--
|
||||||
|
-- A simple use could be:
|
||||||
|
--
|
||||||
|
-- > logHook = dynamicLogWithPP . namedScratchpadFilterOutWorkspace $ defaultPP
|
||||||
|
--
|
||||||
|
-- Here is another example, when using "XMonad.Layout.IndependentScreens".
|
||||||
|
-- If you have handles @hLeft@ and @hRight@ for bars on the left and right screens, respectively, and @pp@ is a pretty-printer function that takes a handle, you could write
|
||||||
|
--
|
||||||
|
-- > logHook = let log screen handle = dynamicLogWithPP . namedScratchpadFilterOutWorkspacePP . marshallPP screen . pp $ handle
|
||||||
|
-- > in log 0 hLeft >> log 1 hRight
|
||||||
|
namedScratchpadFilterOutWorkspacePP :: PP -> PP
|
||||||
|
namedScratchpadFilterOutWorkspacePP pp = pp {
|
||||||
|
ppSort = fmap (. namedScratchpadFilterOutWorkspace) (ppSort pp)
|
||||||
|
}
|
||||||
|
|
||||||
-- vim:ts=4:shiftwidth=4:softtabstop=4:expandtab:foldlevel=20:
|
-- vim:ts=4:shiftwidth=4:softtabstop=4:expandtab:foldlevel=20:
|
||||||
|
Reference in New Issue
Block a user