Eu não recomendaria, porque não é 'o jeito' que o XMonad deve ser usado, mas eu sei duas soluções possíveis para conseguir o que você quer.
A maneira que eu faria isso não é para esconder tudo em seu espaço de trabalho, mas apenas para trocar para um espaço de trabalho diferente que está vazio e há uma ação realmente útil em xmonad-contrib para fazer exatamente isso chamado FindEmptyWorpace . Essencialmente você apenas usa assim:
((AltMask, xK_space), viewEmptyWorkspace)
Mesmo recomendando a outra maneira, responderei à pergunta que você fez. Existem as funções de ocultar e revelar que foram feitas exatamente para essa finalidade. Eu nunca os usei antes porque eu não quero esconder nada nas minhas telas, mas a definição da função é suficiente para explicar que elas são ações do X Monad que atuam em janelas únicas, então se você quiser minimizá-las, então você terá que pegue a tela atual do StackSet e, em seguida, pegue a área de trabalho na tela e, em seguida, mapM hide em todas as janelas da pilha de janelas dessa área de trabalho. Por exemplo, em ghci:
:m + XMonad.StackSet
$ :t stack . workspace . current
:: StackSet i l a sid sd -> Maybe (Stack a)
Então, isso poderia ser feito. Eu não ficaria incomodado quando pudesse ir a uma janela livre.