Existem vários problemas com o script:
-
bashtestes são feitos comtest,[ .. ]ou[[ .. ]];(..)significa sub-shell -
As designações são feitas sem espaços,
x = 1920chamará o comandoxcom os parâmetros=e1920. Usex=1920em vez disso. -
Os nomes das variáveis precisam ser prefixados com um cifrão quando você os usa. Então,
== xé ruim e== $xé bom. (Exceto em avaliações aritméticas ou expansões:(( ... ))ou$(( ... )), graças ao comentário de Kusalananda ). -
Os números devem ser comparados com
-eq,=é para comparação de string. No seu caso, também deve funcionar, pois é provável que os números sejam armazenados de forma idêntica, mas é melhor usar o operador conceitualmente correto.==é um equivalente não padrão para=. -
Você deve se acostumar a duplicar as variáveis em todos os lugares quando possível, o que impede a globulação, por exemplo.
Vou apenas corrigir as linhas a partir de x = 1920 , a versão corrigida é:
x=1920
if [ "$WIDTH" -eq "$x" ]
then
wmctrl -r :ACTIVE: -b toggle,maximized_vert,maximized_horz
else
xdotool key Ctrl+F12
fi