Existem vários problemas com o script:
-
bash
testes são feitos comtest
,[ .. ]
ou[[ .. ]]
;(
..)
significa sub-shell -
As designações são feitas sem espaços,
x = 1920
chamará o comandox
com os parâmetros=
e1920
. Usex=1920
em 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