Como posso atualizar automaticamente o número de janelas no painel mestre para o mesmo ou próximo ao número de janelas no painel secundário, enquanto ainda suportam as chaves mod-,
e mod-.
padrão? Eu tentei configurar o XMonad para organizar as janelas como eu as quero automaticamente, e essa é a única área em que ainda me encontro fazendo ajustes manuais frequentes.
Acho que quero enviar IncMasterN
mensagens para abrir / fechar, dependendo de qual coluna tiver mais janelas (ou pelo menos isso seria o suficiente para começar), mas não estou claro sobre como encontrar nmaster
em tempo de execução, e minha tentativa anterior de enviar tal mensagem pareceu resultar em um loop infinito (veja o trecho abaixo; o uso da CPU foi para 100% e o XMonad parou de responder, como se ainda estivesse preso no gancho de log). Alguma dica?
main = do
xmonad $ gnomeConfig {
logHook = balancePanes
} where
balancePanes :: X()
balancePanes = do
ws <- gets windowset
let howMany = windowCount ws in do
when (howMany == 3) (sendMessage (IncMasterN 1))
Tags xmonad