Files
MinOS-prime/home/.config/fish/functions/airplane_mode_toggle.fish
2025-07-11 18:08:12 +03:00

34 lines
1.1 KiB
Fish

function airplane_mode_toggle
set backup_file ~/.cache/airplane_backup
if test -e $backup_file
# Read network states from the backup file
set -l wifi_status (cat $backup_file | grep -o 'wifi:\(on\|off\)$' | cut -d':' -f2)
set -l bluetooth_status (cat $backup_file | grep -o 'bluetooth:\(on\|off\)$' | cut -d':' -f2)
# Restore network states
if test "$wifi_status" = on
rfkill unblock wifi
# else
# rfkill block wifi
end
if test "$bluetooth_status" = on
rfkill unblock bluetooth
# else
# rfkill block bluetooth
end
# Remove the backup file
rm $backup_file
else
# Backup the current network states and turn off all networks
echo "wifi:$(rfkill list wifi | grep -q "Soft blocked: no" && echo "on" || echo "off")" >$backup_file
echo "bluetooth:$(rfkill list bluetooth | grep -qi "Soft blocked: no" && echo "on" || echo "off")" >>$backup_file
# Add more lines to backup other network types if needed
rfkill block wifi
rfkill block bluetooth
end
end