Uma maneira (reconhecidamente não perfeita) é adicionar o resultado de ps --no-headers -o comm $PPID
ao seu prompt de shell. Isto irá dizer-lhe o nome do processo que gerou o seu shell. Se você estiver dentro de um zsh aninhado, ele dirá "zsh". Se você estiver dentro de um zsh de nível superior, ele irá ler "xterm" ou "screen" ou qualquer que seja o seu shell executando.
Para saber se você está dentro de uma sessão ssh ou su, você pode simplesmente ver a parte do nome do host e nome de usuário do seu prompt.
Quando você está executando telas aninhadas (o que não imagino é uma situação comum), não há como pensar se você está no nível mais alto de uma tela aninhada ou no topo nível superior da tela de nível superior. Você poderia configurar a tela para exibir sempre uma linha de status, o que faria com que várias linhas de status fossem exibidas, se você estivesse em telas aninhadas.