From d77f207820cf7759607e986a2e3d828ad57fe52e Mon Sep 17 00:00:00 2001 From: wilou Date: Fri, 3 May 2024 13:19:16 +0000 Subject: [PATCH] =?UTF-8?q?T=C3=A9l=C3=A9verser=20les=20fichiers=20vers=20?= =?UTF-8?q?"polybar"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- polybar/system-bluetooth-bluetoothctl.sh | 76 ++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 polybar/system-bluetooth-bluetoothctl.sh diff --git a/polybar/system-bluetooth-bluetoothctl.sh b/polybar/system-bluetooth-bluetoothctl.sh new file mode 100644 index 0000000..f996827 --- /dev/null +++ b/polybar/system-bluetooth-bluetoothctl.sh @@ -0,0 +1,76 @@ +#!/bin/sh + +bluetooth_print() { + bluetoothctl | grep --line-buffered 'Device\|#' | while read -r REPLY; do + if [ "$(systemctl is-active "bluetooth.service")" = "active" ]; then + + devices_paired=$(bluetoothctl devices Paired | grep Device | cut -d ' ' -f 2) + counter=0 + + for device in $devices_paired; do + device_info=$(bluetoothctl info "$device") + + if echo "$device_info" | grep -q "Connected: yes"; then + device_output=$(echo "$device_info" | grep "Alias" | cut -d ' ' -f 2-) + device_battery_percent=$(echo "$device_info" | grep "Battery Percentage" | awk -F'[()]' '{print $2}') + + if [ -n "$device_battery_percent" ]; then + if [ "$device_battery_percent" -gt 90 ]; then + device_battery_icon="#25" + elif [ "$device_battery_percent" -gt 60 ]; then + device_battery_icon="#24" + elif [ "$device_battery_percent" -gt 35 ]; then + device_battery_icon="#23" + elif [ "$device_battery_percent" -gt 10 ]; then + device_battery_icon="#22" + else + device_battery_icon="#21" + fi + + device_output="$device_output $device_battery_icon $device_battery_percent%" + fi + + if [ $counter -gt 0 ]; then + printf ", %s" " $device_output" + else + printf " %s" " $device_output" + fi + + counter=$((counter + 1)) + fi + done + + printf '\n' + else + echo "#2" + fi + done +} + +bluetooth_toggle() { + if bluetoothctl show | grep -q "Powered: no"; then + bluetoothctl power on >> /dev/null + sleep 1 + + devices_paired=$(bluetoothctl devices Paired | grep Device | cut -d ' ' -f 2) + echo "$devices_paired" | while read -r line; do + bluetoothctl connect "$line" >> /dev/null + done + else + devices_paired=$(bluetoothctl devices Paired | grep Device | cut -d ' ' -f 2) + echo "$devices_paired" | while read -r line; do + bluetoothctl disconnect "$line" >> /dev/null + done + + bluetoothctl power off >> /dev/null + fi +} + +case "$1" in + --toggle) + bluetooth_toggle + ;; + *) + bluetooth_print + ;; +esac