Vá para o menu no seu monitor externo. Se houver uma opção que permita que um dispositivo alterne a energia do outro via HDMI, verifique se está desmarcada (honestamente, acho que isso não terá efeito porque o laptop está dirigindo, mas com o objetivo de solucionar problemas) ...)
Eu também uso um MBP Retina com monitor externo (via HDMI). Se eu desligar o monitor externo enquanto ele tiver janelas de aplicativos em sua área de trabalho, a tela do meu laptop será atualizada e as janelas serão movidas para a tela do meu laptop. No entanto, se eu ligar novamente o monitor externo, essas janelas de aplicativo "automaticamente" retornam para onde estavam (mesmo local e tamanho) na área de trabalho externa (desde que eu não desligue o computador nesse meio tempo) . Portanto, parece que uma solução (se você não estiver usando a tela do laptop) é deixar o laptop aberto, mas diminuir o brilho da tela para 0. Eu faço isso o tempo todo quando assisto a um filme no computador. tela grande e, verdadeiramente, o perfil do laptop não é menos "volumoso" do que seria se estivesse fechado. Um benefício adicional desse método é que o laptop permanece mais frio (do contrário, ao fechá-lo). Você pode verificar isso com qualquer aplicativo gratuito de monitoramento de temperatura.
Se o exposto acima não funcionar ou for intolerável, você está procurando alguns scripts pesados do Linux para que algo assim funcione (que, mesmo para um programador especialista, deve ser uma ótima experiência de aprendizado, se possível) .