From b1bf33d6eb172fb5b879db63ed7cbdce955c9dee Mon Sep 17 00:00:00 2001 From: m1mir Date: Sat, 8 Feb 2025 17:20:40 +0100 Subject: [PATCH] X.H.IndependentScreens: Added screenOnMonitor to the export list. --- CHANGES.md | 1 + XMonad/Hooks/EwmhDesktops.hs | 5 ++--- XMonad/Layout/IndependentScreens.hs | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index ec9533b4..4264ba4d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -54,6 +54,7 @@ belong to. - Added `doFocus'` hook as an alternative for `doFocus` when using IndependentScreens. + - Added `screenOnMonitor` for getting the active screen for a monitor. * `XMonad.Util.NamedScratchPad` diff --git a/XMonad/Hooks/EwmhDesktops.hs b/XMonad/Hooks/EwmhDesktops.hs index f281bd79..f7238647 100644 --- a/XMonad/Hooks/EwmhDesktops.hs +++ b/XMonad/Hooks/EwmhDesktops.hs @@ -335,11 +335,10 @@ disableEwmhManageDesktopViewport = XC.modifyDef $ \c -> c{ manageDesktopViewport -- > import XMonad.Layout.IndependentScreens -- > -- > customMapper :: WindowSet -> (WindowSpace -> WindowScreen) --- > customMapper winset (Workspace wsid _ _) = fromMaybe (W.current winset) screenOnMonitor +-- > customMapper winset (Workspace wsid _ _) = fromMaybe (W.current winset) maybeMappedScreen -- > where -- > screenId = unmarshallS wsid --- > screenOnMonitor :: Maybe WindowScreen --- > screenOnMonitor = find ((screenId ==) . W.screen) (W.current winset : W.visible winset) +-- > maybeMappedScreen = screenOnMonitor screenId winset -- > -- > -- > main = xmonad $ ... . setEwmhHiddenWorkspaceToScreenMapping customMapper . ewmh . ... $ def{...} diff --git a/XMonad/Layout/IndependentScreens.hs b/XMonad/Layout/IndependentScreens.hs index 62e2de2a..92abf6f0 100644 --- a/XMonad/Layout/IndependentScreens.hs +++ b/XMonad/Layout/IndependentScreens.hs @@ -26,7 +26,7 @@ module XMonad.Layout.IndependentScreens ( marshallPP, whenCurrentOn, countScreens, - workspacesOn, + workspacesOn, screenOnMonitor, workspaceOnScreen, focusWindow', doFocus', focusScreen, focusWorkspace, nthWorkspace, withWspOnScreen, -- * Converting between virtual and physical workspaces -- $converting @@ -148,7 +148,7 @@ withWspOnScreen screenId operation ws = case workspaceOnScreen screenId ws of Just wsp -> operation wsp ws Nothing -> ws --- | Get the workspace that is active on a given screen. +-- | Get the screen that is active on a given monitor. screenOnMonitor :: ScreenId -> WindowSet -> Maybe WindowScreen screenOnMonitor screenId ws = find ((screenId ==) . W.screen) (W.current ws : W.visible ws)