feat: Add some more scripts
This commit is contained in:
parent
fd41590ca9
commit
29cafac682
83
bt.sh
Executable file
83
bt.sh
Executable file
@ -0,0 +1,83 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Check if first arg is colour
|
||||||
|
if [ "$1" = "colour" ]; then
|
||||||
|
RED='%{F#ff0000}'
|
||||||
|
GREEN='%{F#ff60d090}'
|
||||||
|
YELLOW='%{F#ffff00}'
|
||||||
|
BLUE='%{F#33fdfefe}'
|
||||||
|
NC='%{F-}'
|
||||||
|
else
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
YELLOW='\033[0;33m'
|
||||||
|
BLUE='\033[0;34m'
|
||||||
|
NC='\033[0m' # No Color
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if Bluetooth is powered on
|
||||||
|
bluetooth_status=$(bluetoothctl show | grep "Powered:" | awk '{print $2}')
|
||||||
|
|
||||||
|
if [ "$bluetooth_status" == "yes" ]; then
|
||||||
|
# Check if toggle is passed
|
||||||
|
if [ "$#" -eq 1 ] && [ "$1" = "toggle" ]; then
|
||||||
|
echo "Disabling Bluetooth"
|
||||||
|
bluetoothctl power off
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if any devices are connected
|
||||||
|
connected_devices=$(bluetoothctl devices Connected | grep Device | cut -d ' ' -f 2)
|
||||||
|
|
||||||
|
if [ -z "$connected_devices" ]; then
|
||||||
|
# No devices connected, show disconnected icon
|
||||||
|
echo -en "${GREEN}${NC}"
|
||||||
|
else
|
||||||
|
# Devices are connected, show connected icon
|
||||||
|
echo -en "${GREEN}${NC}"
|
||||||
|
|
||||||
|
# Loop through the connected devices
|
||||||
|
for device in $connected_devices; do
|
||||||
|
# Get the device info
|
||||||
|
device_info=$(bluetoothctl info "$device")
|
||||||
|
device_battery_percent=$(echo "$device_info" | grep "Battery Percentage" | awk -F'[()]' '{print $2}')
|
||||||
|
device_battery_icon=""
|
||||||
|
device_output=""
|
||||||
|
device_name=$(echo "$device_info" | grep "Alias" | cut -d ' ' -f 2-)
|
||||||
|
|
||||||
|
if [ -z "$device_name" ]; then
|
||||||
|
device_name=$(echo "$device_info" | grep "Name" | cut -d ' ' -f 2-)
|
||||||
|
if [ -z "$device_name" ]; then
|
||||||
|
device_name="Unknown Device"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$device_battery_percent" ]; then
|
||||||
|
if [ "$device_battery_percent" -gt 90 ]; then
|
||||||
|
device_battery_icon="${GREEN}"
|
||||||
|
elif [ "$device_battery_percent" -gt 60 ]; then
|
||||||
|
device_battery_icon="${GREEN}"
|
||||||
|
elif [ "$device_battery_percent" -gt 35 ]; then
|
||||||
|
device_battery_icon="${YELLOW}"
|
||||||
|
elif [ "$device_battery_percent" -gt 15 ]; then
|
||||||
|
device_battery_icon="${YELLOW}"
|
||||||
|
else
|
||||||
|
device_battery_icon="${RED}"
|
||||||
|
fi
|
||||||
|
device_output="$device_battery_icon $device_battery_percent%${NC}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Print the device info
|
||||||
|
echo -en " $device_name ($device_output)"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
else
|
||||||
|
# Check if toggle is passed
|
||||||
|
if [ "$#" -eq 1 ] && [ "$1" = "toggle" ]; then
|
||||||
|
echo "Enabling Bluetooth"
|
||||||
|
bluetoothctl power on
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
echo -en "${RED}${NC}"
|
||||||
|
fi
|
24
message.sh
Executable file
24
message.sh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
message() {
|
||||||
|
if tty -s; then
|
||||||
|
echo "$1" >/tmp/message
|
||||||
|
else
|
||||||
|
# Get from pipe
|
||||||
|
cat >/tmp/message
|
||||||
|
fi
|
||||||
|
output=$(polybar-msg action message hook 0)
|
||||||
|
# Check if the output contains Successfully
|
||||||
|
if [[ $output == *"Successfully"* ]]; then
|
||||||
|
echo "Message sent successfully"
|
||||||
|
else
|
||||||
|
echo "Error sending message"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Call the copy function with the provided arguments or from a pipe
|
||||||
|
if [ -t 0 ]; then
|
||||||
|
message "$@"
|
||||||
|
else
|
||||||
|
message
|
||||||
|
fi
|
24
music.sh
24
music.sh
@ -50,6 +50,9 @@ brave=""
|
|||||||
|
|
||||||
# Loop through each player and check its status
|
# Loop through each player and check its status
|
||||||
for player in $players; do
|
for player in $players; do
|
||||||
|
if [ "$verbose" -eq 1 ]; then
|
||||||
|
echo "Checking player $player"
|
||||||
|
fi
|
||||||
status=$(playerctl -p "$player" status 2>/dev/null)
|
status=$(playerctl -p "$player" status 2>/dev/null)
|
||||||
# Check if player name contains brave
|
# Check if player name contains brave
|
||||||
if [[ "$player" == *"brave"* ]]; then
|
if [[ "$player" == *"brave"* ]]; then
|
||||||
@ -60,6 +63,9 @@ for player in $players; do
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$status" == "Playing" || "$status" == "Paused" ]]; then
|
if [[ "$status" == "Playing" || "$status" == "Paused" ]]; then
|
||||||
|
if [[ $verbose -eq 1 ]]; then
|
||||||
|
echo "Player $player is active"
|
||||||
|
fi
|
||||||
active_players+=("$player:$status")
|
active_players+=("$player:$status")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@ -78,6 +84,10 @@ truncate_string() {
|
|||||||
# Check how many active players we found
|
# Check how many active players we found
|
||||||
active_count=${#active_players[@]}
|
active_count=${#active_players[@]}
|
||||||
|
|
||||||
|
if [[ $verbose -eq 1 ]]; then
|
||||||
|
echo "Active players: $active_count"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$active_count" -eq 1 ]; then
|
if [ "$active_count" -eq 1 ]; then
|
||||||
# If exactly one player is active, print its metadata
|
# If exactly one player is active, print its metadata
|
||||||
IFS=":" read -r player status <<<"${active_players[0]}"
|
IFS=":" read -r player status <<<"${active_players[0]}"
|
||||||
@ -123,7 +133,9 @@ elif [ "$active_count" -gt 1 ]; then
|
|||||||
truncated_artist=$(truncate_string "$artist" $MAX_ARTIST_LENGTH)
|
truncated_artist=$(truncate_string "$artist" $MAX_ARTIST_LENGTH)
|
||||||
output+="🎵 $truncated_title [$truncated_artist]"
|
output+="🎵 $truncated_title [$truncated_artist]"
|
||||||
fi
|
fi
|
||||||
|
if [ "$verbose" -eq 1 ]; then
|
||||||
|
echo "Player $player: $title - $artist"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [ "$playing_count" -eq 1 ]; then
|
if [ "$playing_count" -eq 1 ]; then
|
||||||
@ -142,8 +154,9 @@ elif [ "$active_count" -gt 1 ]; then
|
|||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
brave_status=$(playerctl -p "$brave" status 2>/dev/null)
|
brave_status=$(playerctl -p "$brave" status 2>/dev/null)
|
||||||
title=$(playerctl -p "$brave" metadata --format '{{title}}')
|
|
||||||
artist=$(playerctl -p "$brave" metadata --format '{{artist}}')
|
title=$(playerctl -p "$brave" metadata --format '{{title}}' 2>/dev/null)
|
||||||
|
artist=$(playerctl -p "$brave" metadata --format '{{artist}}' 2>/dev/null)
|
||||||
# Print the title and artist
|
# Print the title and artist
|
||||||
if [ "$verbose" -eq 1 ]; then
|
if [ "$verbose" -eq 1 ]; then
|
||||||
echo "Brave is playing"
|
echo "Brave is playing"
|
||||||
@ -153,6 +166,11 @@ elif [ "$active_count" -gt 1 ]; then
|
|||||||
|
|
||||||
# Check if artist is empty
|
# Check if artist is empty
|
||||||
if [ -z "$artist" ]; then
|
if [ -z "$artist" ]; then
|
||||||
|
if [ -z "$title" ]; then
|
||||||
|
echo "Multiple players playing"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
truncated_title=$(truncate_string "$title" $(($MAX_TITLE_LENGTH + $MAX_ARTIST_LENGTH)))
|
truncated_title=$(truncate_string "$title" $(($MAX_TITLE_LENGTH + $MAX_ARTIST_LENGTH)))
|
||||||
if [ "$brave_status" == "Playing" ]; then
|
if [ "$brave_status" == "Playing" ]; then
|
||||||
echo "🎵 $truncated_title"
|
echo "🎵 $truncated_title"
|
||||||
|
47
ts.sh
47
ts.sh
@ -10,6 +10,7 @@ if [ "$#" -eq 0 ]; then
|
|||||||
echo "List: Lists all nodes"
|
echo "List: Lists all nodes"
|
||||||
echo "EN: Exit node (clear)"
|
echo "EN: Exit node (clear)"
|
||||||
echo "EN {node}: Use node"
|
echo "EN {node}: Use node"
|
||||||
|
echo "Short: List info short"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -24,13 +25,59 @@ if [ "$1" = "en" ]; then
|
|||||||
tailscale set --exit-node=
|
tailscale set --exit-node=
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
if [ "$2" = "toggle" ]; then
|
||||||
|
output=$(tailscale status | grep "; exit node;")
|
||||||
|
hostname=$(echo "$output" | awk '{print $2}')
|
||||||
|
# Check if node is exit node
|
||||||
|
if [ -z "$hostname" ]; then
|
||||||
|
tailscale set --exit-node=docker01
|
||||||
|
else
|
||||||
|
tailscale set --exit-node=
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Enabling node $2"
|
echo "Enabling node $2"
|
||||||
tailscale set --exit-node="$2"
|
tailscale set --exit-node="$2"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
if [ "$1" = "short" ]; then
|
||||||
|
# Check if a third arg is sent
|
||||||
|
if [ -z "$2" ]; then
|
||||||
|
RED='\033[0;31m'
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
YELLOW='\033[0;33m'
|
||||||
|
BLUE='\033[0;34m'
|
||||||
|
NC='\033[0m' # No Color
|
||||||
|
else
|
||||||
|
RED='%{F#ff0000}'
|
||||||
|
GREEN='%{F#ff60d090}'
|
||||||
|
YELLOW='%{F#ffff00}'
|
||||||
|
BLUE='%{F#0000ff}'
|
||||||
|
NC='%{F-}'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if connected
|
||||||
|
output=$(tailscale status)
|
||||||
|
if [[ "$output" == *"stopped"* ]]; then
|
||||||
|
echo -e "${RED}${NC}"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
output=$(tailscale status | grep "; exit node;")
|
||||||
|
hostname=$(echo "$output" | awk '{print $2}')
|
||||||
|
# Check if node is exit node
|
||||||
|
if [ -z "$hostname" ]; then
|
||||||
|
echo -e "${GREEN}${NC}"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
echo -e "${BLUE}${NC} $hostname"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Usage: ts [list|en|en {node}]"
|
echo "Usage: ts [list|en|en {node}]"
|
||||||
echo "List: Lists all nodes"
|
echo "List: Lists all nodes"
|
||||||
echo "EN: Exit node (clear)"
|
echo "EN: Exit node (clear)"
|
||||||
echo "EN {node}: Use node"
|
echo "EN {node}: Use node"
|
||||||
|
echo "Short: List info short"
|
||||||
exit 1
|
exit 1
|
||||||
|
Loading…
Reference in New Issue
Block a user