Eu descobri então vou responder minha própria pergunta. Isso pode não ser o melhor ou mais eficiente, mas faz o trabalho. Esta questão pode caber mais no stackoverflow, uma vez que é mais focado na programação.
Eu escrevi essa função, que concentra o foco no primeiro cliente na tela (exceto no Conky, o monitor do sistema que eu uso).
-- Grab focus on first client on screen
function grab_focus()
local all_clients = client.get()
for i, c in pairs(all_clients) do
if c:isvisible() and c.class ~= "Conky" then
client.focus = c
end
end
end
Eu agora chamo essa função em rc.lua onde as chaves numeradas são mapeadas:
-- Bind all key numbers to tags.
...
if tags[screen][i] then
awful.tag.viewonly(tags[screen][i])
grab_focus()
end