diff --git a/CHANGES.md b/CHANGES.md index 1d626dc..0f5bf10 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -65,6 +65,11 @@ it easier for us to clean up the codebase. These can still be suppressed manually using an `OPTIONS_GHC` pragma with `-Wno-deprecations`. + * `runOnWorkspaces` changed to first run the action on the current + workspace, then the visible workspaces and then hidden, to match the order + of processing messages in `broadcastMessage`. Previously, + `runOnWorkspaces` processed the hidden workspaces first. + ## 0.15 (September 30, 2018) * Reimplement `sendMessage` to deal properly with windowset changes made diff --git a/src/XMonad/Core.hs b/src/XMonad/Core.hs index 46a0939..4468963 100644 --- a/src/XMonad/Core.hs +++ b/src/XMonad/Core.hs @@ -470,9 +470,9 @@ xmessage msg = void . xfork $ do runOnWorkspaces :: (WindowSpace -> X WindowSpace) -> X () runOnWorkspaces job = do ws <- gets windowset - h <- mapM job $ hidden ws c:v <- mapM (\s -> (\w -> s { workspace = w}) <$> job (workspace s)) $ current ws : visible ws + h <- mapM job $ hidden ws modify $ \s -> s { windowset = ws { current = c, visible = v, hidden = h } } -- | All the directories that xmonad will use. They will be used for