diff options
author | Daniel Weipert <git@mail.dweipert.de> | 2024-02-18 11:15:35 +0100 |
---|---|---|
committer | Daniel Weipert <git@mail.dweipert.de> | 2024-02-18 11:15:35 +0100 |
commit | 2daa93b9985ecb8aba6531fdd93859a8dd451be3 (patch) | |
tree | f8e2dc4607e1f0c455e6fe252c8f40917303bf55 /.local | |
parent | 33aa89466214191dba6ac105a730b58757165342 (diff) |
[iwctl+waybar] add "soft" and "hard" modes to wlan reconnect script
Diffstat (limited to '.local')
-rwxr-xr-x | .local/bin/iwctl-re | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/.local/bin/iwctl-re b/.local/bin/iwctl-re index 4343b30..5fc494d 100755 --- a/.local/bin/iwctl-re +++ b/.local/bin/iwctl-re @@ -1,9 +1,40 @@ -#!/bin/zsh +#!/usr/bin/env python3 -notify-send "WLAN Reload" "Disconnect" -iwctl station wlan0 disconnect +import sys, os +import argparse +import subprocess +import time -sleep 5 -notify-send "WLAN Reload" "Reconnect" -iwctl --passphrase $(pass router/passphrase) station wlan0 connect "$(pass router/name)" $(pass router/security) +parser = argparse.ArgumentParser( + prog='iwctl-re' +) + +parser.add_argument( + '--mode', + default='soft', + choices=['soft', 'hard'] +) + +args = parser.parse_args() + + +def getSubprocessOutput(command): + return subprocess.run(command, capture_output=True, text=True).stdout.strip() + + +if args.mode == 'soft': + subprocess.run(['notify-send', 'WLAN Reload', 'Disconnect']) + subprocess.run(['iwctl', 'station', 'wlan0', 'disconnect']) + + time.sleep(5) + + subprocess.run(['notify-send', 'WLAN Reload', 'Reconnect']) + wlan_passphrase = getSubprocessOutput(['pass', 'router/passphrase']) + wlan_name = getSubprocessOutput(['pass', 'router/name']) + wlan_security = getSubprocessOutput(['pass', 'router/security']) + subprocess.run(['iwctl', '--passphrase', wlan_passphrase, 'station', 'wlan0', 'connect', wlan_name, wlan_security]) + +elif args.mode == 'hard': + subprocess.run(['notify-send', 'WLAN Reload', 'Restart iwd.service']) + subprocess.run(['sudo', 'systemctl', 'restart', 'iwd.service']) |