Sim, é possível. Verifique os sinais do cliente !
O código da minha ideia principal (talvez não seja perfeito):
client.connect_signal("tagged",function(c,new_tag)
if ( #(new_tag:clients())==1 ) then
c.maximized_horizontal = true
c.maximized_vertical = true
end
end)
client.connect_signal("untagged",function(c,old_tag)
if ( #(old_tag:clients())==1 ) then
local myclients = old_tag:clients()
for _,cl in ipairs(myclients) do
cl.maximized_horizontal = true
cl.maximized_vertical = true
end
end
end)