Вам, вероятно, придется сделать свою собственную функцию.Если вы посмотрите, как реализован greedyView:
greedyView :: (Eq s, Eq i) => i -> StackSet i l a s sd -> StackSet i l a s sd
greedyView w ws
| any wTag (hidden ws) = view w ws
| (Just s) <- L.find (wTag . workspace) (visible ws)
= ws { current = (current ws) { workspace = workspace s }
, visible = s { workspace = workspace (current ws) }
: L.filter (not . wTag . workspace) (visible ws) }
| otherwise = ws
where wTag = (w == ) . tag
Итак, соответствующие строки:
ws {
current = (current ws) { workspace = workspace s }
, visible = s { workspace = workspace (current ws) } : L.filter (not . wTag . workspace) (visible ws)
}