X.H.WorkspaceHistory: Fix hlint nits, strictness

There is no reason why the used maps should not be strict, as we are
definitely traversing.
This commit is contained in:
slotThe 2021-02-12 10:55:41 +01:00
parent 62e9941d3d
commit 280c1a8ed5
2 changed files with 5 additions and 5 deletions

View File

@ -60,7 +60,7 @@ where
import XMonad
import qualified Data.Map as M
import qualified Data.Map.Strict as M
import qualified XMonad.Hooks.DynamicLog as DL
import qualified XMonad.StackSet as W

View File

@ -34,7 +34,7 @@ import Prelude
import XMonad
import XMonad.StackSet hiding (delete, filter, new)
import Data.List (delete, find, groupBy, nub, sortBy)
import Data.List (delete, find, foldl', groupBy, nub, sortBy)
import qualified XMonad.Util.ExtensibleState as XS
-- $usage
@ -61,7 +61,7 @@ import qualified XMonad.Util.ExtensibleState as XS
--
-- To make use of the collected data, a query function is provided.
data WorkspaceHistory = WorkspaceHistory
newtype WorkspaceHistory = WorkspaceHistory
{ history :: [(ScreenId, WorkspaceId)] -- ^ Workspace Screens in
-- reverse-chronological order.
} deriving (Typeable, Read, Show)
@ -101,7 +101,7 @@ workspaceHistoryTransaction :: X () -> X ()
workspaceHistoryTransaction action = do
startingHistory <- XS.gets history
action
new <- (flip updateLastActiveOnEachScreen $ WorkspaceHistory startingHistory) <$> gets windowset
new <- flip updateLastActiveOnEachScreen (WorkspaceHistory startingHistory) <$> gets windowset
XS.put new
-- | Update the last visible workspace on each monitor if needed
@ -113,7 +113,7 @@ updateLastActiveOnEachScreen = updateLastActiveOnEachScreenExclude []
-- exclude certain workspaces.
updateLastActiveOnEachScreenExclude :: [WorkspaceId] -> WindowSet -> WorkspaceHistory -> WorkspaceHistory
updateLastActiveOnEachScreenExclude ws StackSet {current = cur, visible = vis} wh =
WorkspaceHistory { history = doUpdate cur $ foldl updateLastForScreen (history wh) $ vis ++ [cur] }
WorkspaceHistory { history = doUpdate cur $ foldl' updateLastForScreen (history wh) $ vis ++ [cur] }
where
firstOnScreen sid = find ((== sid) . fst)
doUpdate Screen {workspace = Workspace { tag = wid }, screen = sid} curr =