aboutsummaryrefslogtreecommitdiff
path: root/waybar/custom_modules/custom-kdeconnect.sh
diff options
context:
space:
mode:
authorBlaster4385 <[email protected]>2025-08-15 15:09:35 +0530
committerBlaster4385 <[email protected]>2025-08-15 15:09:35 +0530
commit5690fffa9360180dcf79738cde27b918e09e6273 (patch)
treeb999d0a1f875791652bcec1a80ad8d575ad55d9a /waybar/custom_modules/custom-kdeconnect.sh
parentaddbb7a93bf327b3f4f445805722039df457c145 (diff)
feat: added waybar and kitty configsHEADmain
Diffstat (limited to 'waybar/custom_modules/custom-kdeconnect.sh')
-rwxr-xr-xwaybar/custom_modules/custom-kdeconnect.sh85
1 files changed, 85 insertions, 0 deletions
diff --git a/waybar/custom_modules/custom-kdeconnect.sh b/waybar/custom_modules/custom-kdeconnect.sh
new file mode 100755
index 0000000..5b2c3a8
--- /dev/null
+++ b/waybar/custom_modules/custom-kdeconnect.sh
@@ -0,0 +1,85 @@
+#
+# Shamefully massacred from haideralipunjabi's polybar-kdeconnect
+# (https://github.com/haideralipunjabi/polybar-kdeconnect/)
+#
+
+# Color Settings of Icon shown in Waybar
+COLOR_DISCONNECTED='#655b53' # Device Disconnected
+COLOR_BATTERY_90='#ebdbb2' # Battery >= 90
+COLOR_BATTERY_80='#a89985' # Battery >= 80
+COLOR_BATTERY_70='#448488' # Battery >= 70
+COLOR_BATTERY_60='#83a597' # Battery >= 60
+COLOR_BATTERY_50='#b16185' # Battery >= 50
+COLOR_BATTERY_LOW='#BF616A' # Battery < 50
+
+# Icons shown in Polybar
+ICON_SMARTPHONE=''
+ICON_TABLET=''
+
+devices=""
+
+get_icon () {
+ if [ "$2" = "tablet" ]
+ then
+ icon=$ICON_TABLET
+ else
+ icon=$ICON_SMARTPHONE
+ fi
+ case $1 in
+ "-1") ICON="<span foreground=\"$COLOR_DISCONNECTED\">$icon</span>" ;;
+ "-2") ICON="<span foreground=\"$COLOR_NEWDEVICE\">$icon</span>" ;;
+ 5*) ICON="<span foreground=\"$COLOR_BATTERY_50\">$icon</span>" ;;
+ 6*) ICON="<span foreground=\"$COLOR_BATTERY_60\">$icon</span>" ;;
+ 7*) ICON="<span foreground=\"$COLOR_BATTERY_70\">$icon</span>" ;;
+ 8*) ICON="<span foreground=\"$COLOR_BATTERY_80\">$icon</span>" ;;
+ 9*|100) ICON="<span foreground=\"$COLOR_BATTERY_90\">$icon</span>" ;;
+ *) ICON="<span foreground=\"$COLOR_BATTERY_LOW\">$icon</span>" ;;
+ esac
+ echo $ICON
+}
+
+get_status() {
+ for device in $(qdbus --literal org.kde.kdeconnect /modules/kdeconnect org.kde.kdeconnect.daemon.devices); do
+ deviceid=$(echo "$device" | awk -F'["|"]' '{print $2}')
+ isreach="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid" org.kde.kdeconnect.device.isReachable)"
+ istrust="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid" org.kde.kdeconnect.device.isTrusted)"
+ if [ "$isreach" = "true" ] && [ "$istrust" = "true" ]
+ then
+ battery="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid/battery" org.kde.kdeconnect.device.battery.charge)%"
+ icon=$(get_icon "$battery" "$devicetype")
+ devices+="$battery $icon"
+ elif [ "$isreach" = "false" ] && [ "$istrust" = "true" ]
+ then
+ devices+="$(get_icon -1 "$devicetype")"
+ fi
+ done
+
+ echo $devices
+}
+
+send_ring() {
+ for device in $(qdbus --literal org.kde.kdeconnect /modules/kdeconnect org.kde.kdeconnect.daemon.devices); do
+ deviceid=$(echo "$device" | awk -F'["|"]' '{print $2}')
+ isreach="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid" org.kde.kdeconnect.device.isReachable)"
+ istrust="$(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid" org.kde.kdeconnect.device.isTrusted)"
+ if [ "$isreach" = "true" ] && [ "$istrust" = "true" ]
+ then
+ $(qdbus org.kde.kdeconnect "/modules/kdeconnect/devices/$deviceid/findmyphone" org.kde.kdeconnect.device.findmyphone.ring)
+ fi
+ done
+
+ echo $devices
+}
+
+
+option="${1}"
+ case "${option}" in
+ ring) send_ring
+ ;;
+ battery) get_status
+ ;;
+ *) echo "Use with ./custom-kdeconnect.sh battery or ring"
+ ;;
+ esac
+
+exit 0 \ No newline at end of file