diff --git a/scripts/.local/bin/usb-unlock.sh b/scripts/.local/bin/usb-unlock.sh index 256fbf0..eb392d4 100755 --- a/scripts/.local/bin/usb-unlock.sh +++ b/scripts/.local/bin/usb-unlock.sh @@ -1,3 +1,8 @@ #!/usr/bin/env dash -pkexec --disable-internal-agent usbctl temporary +if usbctl check; then + MODE="$([ "$1" = "--permanent" ] && printf "unprotect" || printf "temporary")" + pkexec --disable-internal-agent usbctl "$MODE" +else + pkexec --disable-internal-agent usbctl protect +fi diff --git a/waybar/.config/waybar/config b/waybar/.config/waybar/config index c1cc2cb..ee44048 100644 --- a/waybar/.config/waybar/config +++ b/waybar/.config/waybar/config @@ -86,6 +86,7 @@ "exec": "usb-status.sh", "return-type": "json", "interval": 1, - "on-click": "usb-unlock.sh" + "on-click": "usb-unlock.sh", + "on-click-right": "usb-unlock.sh --permanent" } }