Comando para determinar se um aplicativo de tela cheia está sendo executado?

5

Eu tenho um pequeno script de shell que reproduz um jingle e exibe uma notificação sempre que recebo um novo e-mail.

O problema é que esse script de shell pode ser chamado anytime - inclusive quando estou assistindo a um DVD / vídeo no modo de tela cheia com o som um pouco alto - o que é bastante irritante. / p>

Gostaria de aprimorar esse script com a capacidade de detectar se um aplicativo está no modo de tela cheia. Eu sei que isso deve ser possível porque as notificações não são exibidas nessas circunstâncias.

Qual comando eu posso usar?

    
por Nathan Osman 13.03.2011 / 08:09

1 resposta

5

Tipo de excesso extremo como um script de shell, mas deve ser o truque:

#!/bin/bash
WINDOW=$(echo $(xwininfo -id $(xdotool getactivewindow) -stats | \
                egrep '(Width|Height):' | \
                awk '{print $NF}') | \
         sed -e 's/ /x/')
SCREEN=$(xdpyinfo | grep -m1 dimensions | awk '{print }')
if [ "$WINDOW" = "$SCREEN" ]; then
    exit 0
else
    exit 1
fi

Então você pode verificar:

if is-full-screen ; then echo yup, full screen ; fi

Como apontado abaixo, você precisará instalar o xdotool primeiro:

sudo apt-get install xdotool
    
por Kees Cook 15.03.2011 / 04:12