Depois de pesquisar documentos do módulo horrível , encontrei uma solução. É hacky, mas funciona como eu queria que funcionasse.
awful.key({ modkey, }, "Tab",
function ()
awful.client.focus.byidx(1)
if awful.client.ismarked() then
awful.screen.focus_relative(-1)
awful.client.getmarked()
end
if client.focus then
client.focus:raise()
end
awful.client.togglemarked()
end),
Esta função percorre os clientes na tela atual, marcando-os e quando todos estiverem marcados, salta para a próxima tela. Aqui está o que acontece passo a passo:
- nos concentramos no próximo cliente
- verificamos se ele está marcado e, se for, passamos para a próxima tela e limpe o status marcado de todos os clientes
- nós aumentamos o cliente atual
- e marque
É engraçado porque eu não sei o que "marcado" significa. Clientes marcados não parecem diferir de clientes não marcados visualmente ou por comportamento.
É estranho que eu tenha que escrever uma função de 10 linhas para obter algo tão trivial quanto o multiscreen alt-tab. Eu poderia ter feito algo excessivo)