O script de alternância Wifi não está funcionando corretamente no i3

O script de alternância Wifi não está funcionando corretamente no i3

Eu tenho a seguinte linha no meu ~/.i3/config:

bindsym XF86WLAN exec ~/.i3/i3-scripts/toggle-wifi.sh

toggle-wifi.sh:

#!/bin/bash

if nmcli nm wifi | grep -q "disabled" ; then
    nmcli nm wifi on
    notify-send -i network-wireless-full "Wireless enabled" "Your wireless adaptor has been enabled."
else
    nmcli nm wifi off
    notify-send -i network-wireless-disconnected "Wireless disabled" "Your wireless adaptor has been disabled."
fi

O script funciona bem ao executar a partir do terminal, ./toggle-wifi.shmas quando o executo usando a ligação do teclado com o i3, ele só funcionahabilitaWi-Fi, nuncadesabilita.

O estranho é que se eu pressionar a tecla para executar o script muitas vezes rapidamente, ele diz Wireless disableduma vez. Caso contrário, sempre diz Wireless enabled.

Alguém pode ajudar ou oferecer scripts alternativos para fazer a mesma coisa?

Responder1

Isso soa como uma condição de corrida: outro aplicativo pode estar analisando a mesma chave para alternar o Wifi.

Isso pode ser verificado vinculando seu script a uma chave não relacionada: se essa outra chave fizer seu script funcionar conforme o esperado, então você terá uma condição de corrida no XF86WLAN.

informação relacionada