aboutsummaryrefslogtreecommitdiffstats
path: root/config/hypr/UserScripts
diff options
context:
space:
mode:
authorJa.KooLit <85185940+JaKooLit@users.noreply.github.com>2024-05-24 13:52:30 +0900
committerGitHub <noreply@github.com>2024-05-24 13:52:30 +0900
commit5acf937b57fd0c25baf26cae45e0f15862ab7d52 (patch)
treedbcae5ec4d6c9199dcb482f313bef2bf461edb4f /config/hypr/UserScripts
parent912f18dd534ea7244b7e453e65a84344b34b15b0 (diff)
parent06d66be192eeb6f844d7069d05ffc34653352791 (diff)
Merge pull request #300 from JaKooLit/development
Pre-release stage: Development to Main
Diffstat (limited to 'config/hypr/UserScripts')
-rwxr-xr-xconfig/hypr/UserScripts/RofiBeats.sh41
-rwxr-xr-xconfig/hypr/UserScripts/RofiCalc.sh31
-rwxr-xr-xconfig/hypr/UserScripts/WallpaperSelect.sh46
-rwxr-xr-xconfig/hypr/UserScripts/Weather.py16
4 files changed, 95 insertions, 39 deletions
diff --git a/config/hypr/UserScripts/RofiBeats.sh b/config/hypr/UserScripts/RofiBeats.sh
index 1cf2a445..7fed687f 100755
--- a/config/hypr/UserScripts/RofiBeats.sh
+++ b/config/hypr/UserScripts/RofiBeats.sh
@@ -1,12 +1,14 @@
#!/bin/bash
+# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
+# For Rofi Beats to play online Music or Locally save media files
-# Directory music folder
+# Directory local music folder
mDIR="$HOME/Music/"
# Directory for icons
iDIR="$HOME/.config/swaync/icons"
-# Online Stations
+# Online Stations. Edit as required
declare -A online_music=(
["AfroBeatz 2024 🎧"]="https://www.youtube.com/watch?v=7uB-Eh9XVZQ"
["Lofi Girl ☕️🎶"]="https://play.streamafrica.net/lofiradio"
@@ -22,7 +24,6 @@ declare -A online_music=(
["Korean Drama OST 📻🎶"]="https://youtube.com/playlist?list=PLUge_o9AIFp4HuA-A3e3ZqENh63LuRRlQ"
)
-# Local Music
# Populate local_music array with files from music directory and subdirectories
populate_local_music() {
local_music=()
@@ -49,18 +50,33 @@ play_local_music() {
exit 1
fi
- # Find the corresponding file path based on user's choice
- for (( i=0; i<"${#filenames[@]}"; i++ )); do
+ # Find the corresponding file path based on user's choice and set that to play the song then continue on the list
+ for (( i=0; i<"${#filenames[@]}"; ++i )); do
if [ "${filenames[$i]}" = "$choice" ]; then
- file="${local_music[$i]}"
+
+ notification "$choice"
+
+ # For some reason wont start playlist at 0
+ if [[ $i -eq 0 ]]; then
+ # Play the selected local music file using mpv
+ mpv --loop-playlist --vid=no "$mDIR"
+
+ else
+ file=$i
+ # Play the selected local music file using mpv
+ mpv --playlist-start="$file" --loop-playlist --vid=no "$mDIR"
+ fi
break
fi
done
+}
- notification "$choice"
+# Main function for shuffling local music
+shuffle_local_music() {
+ notification "Shuffle local music"
- # Play the selected local music file using mpv
- mpv --shuffle --vid=no "$file"
+ # Play music in $mDIR on shuffle
+ mpv --shuffle --loop-playlist --vid=no "$mDIR"
}
# Main function for playing online music
@@ -80,10 +96,10 @@ play_online_music() {
}
# Check if an online music process is running and send a notification, otherwise run the main function
-pkill mpv && notify-send -u low -i "$iDIR/music.png" "Online Music stopped" || {
+pkill mpv && notify-send -u low -i "$iDIR/music.png" "Music stopped" || {
# Prompt the user to choose between local and online music
-user_choice=$(printf "Play from Online Stations\nPlay from Music Folder" | rofi -dmenu -config ~/.config/rofi/config-rofi-Beats-menu.rasi -p "Select music source")
+user_choice=$(printf "Play from Online Stations\nPlay from Music Folder\nShuffle Play from Music Folder" | rofi -dmenu -config ~/.config/rofi/config-rofi-Beats-menu.rasi -p "Select music source")
case "$user_choice" in
"Play from Music Folder")
@@ -92,6 +108,9 @@ user_choice=$(printf "Play from Online Stations\nPlay from Music Folder" | rofi
"Play from Online Stations")
play_online_music
;;
+ "Shuffle Play from Music Folder")
+ shuffle_local_music
+ ;;
*)
echo "Invalid choice"
;;
diff --git a/config/hypr/UserScripts/RofiCalc.sh b/config/hypr/UserScripts/RofiCalc.sh
new file mode 100755
index 00000000..355130de
--- /dev/null
+++ b/config/hypr/UserScripts/RofiCalc.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
+# /* Calculator (using qalculate) and rofi */
+# /* Submitted by: https://github.com/JosephArmas */
+
+rofi_config="$HOME/.config/rofi/config-calc.rasi"
+
+# Kill Rofi if already running before execution
+if pgrep -x "rofi" >/dev/null; then
+ pkill rofi
+ exit 0
+fi
+
+# main function
+
+while true; do
+ result=$(
+ rofi -i -dmenu \
+ -config "$rofi_config" \
+ -mesg "$result = $calc_result"
+ )
+
+ if [ $? -ne 0 ]; then
+ exit
+ fi
+
+ if [ -n "$result" ]; then
+ calc_result=$(qalc -t "$result")
+ echo "$calc_result" | wl-copy
+ fi
+done
diff --git a/config/hypr/UserScripts/WallpaperSelect.sh b/config/hypr/UserScripts/WallpaperSelect.sh
index 9a087c7d..06859112 100755
--- a/config/hypr/UserScripts/WallpaperSelect.sh
+++ b/config/hypr/UserScripts/WallpaperSelect.sh
@@ -1,18 +1,18 @@
#!/bin/bash
-# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */ ##
+# /* ---- 💫 https://github.com/JaKooLit 💫 ---- */
# This script for selecting wallpapers (SUPER W)
-SCRIPTSDIR="$HOME/.config/hypr/scripts"
-
-focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}')
-
# WALLPAPERS PATH
wallDIR="$HOME/Pictures/wallpapers"
-# Transition config
-FPS=30
-TYPE="wipe"
-DURATION=1
+# variables
+SCRIPTSDIR="$HOME/.config/hypr/scripts"
+focused_monitor=$(hyprctl monitors | awk '/^Monitor/{name=$2} /focused: yes/{print name}')
+
+# swww transition config
+FPS=60
+TYPE="any"
+DURATION=2
BEZIER=".43,1.19,1,.4"
SWWW_PARAMS="--transition-fps $FPS --transition-type $TYPE --transition-duration $DURATION"
@@ -22,31 +22,36 @@ if pidof swaybg > /dev/null; then
fi
# Retrieve image files
-PICS=($(ls "${wallDIR}" | grep -E ".jpg$|.jpeg$|.png$|.gif$"))
+PICS=($(find "${wallDIR}" -type f \( -iname \*.jpg -o -iname \*.jpeg -o -iname \*.png -o -iname \*.gif \)))
RANDOM_PIC="${PICS[$((RANDOM % ${#PICS[@]}))]}"
-RANDOM_PIC_NAME="${#PICS[@]}. random"
+RANDOM_PIC_NAME=". random"
# Rofi command
rofi_command="rofi -i -show -dmenu -config ~/.config/rofi/config-wallpaper.rasi"
+
+# Sorting Wallpapers
menu() {
- for i in "${!PICS[@]}"; do
+ sorted_options=($(printf '%s\n' "${PICS[@]}" | sort))
+ # Place ". random" at the beginning
+ printf "%s\n" "$RANDOM_PIC_NAME"
+ for pic_path in "${sorted_options[@]}"; do
+ pic_name=$(basename "$pic_path")
# Displaying .gif to indicate animated images
- if [[ -z $(echo "${PICS[$i]}" | grep .gif$) ]]; then
- printf "$(echo "${PICS[$i]}" | cut -d. -f1)\x00icon\x1f${wallDIR}/${PICS[$i]}\n"
+ if [[ -z $(echo "$pic_name" | grep -i "\.gif$") ]]; then
+ printf "%s\x00icon\x1f%s\n" "$(echo "$pic_name" | cut -d. -f1)" "$pic_path"
else
- printf "${PICS[$i]}\n"
+ printf "%s\n" "$pic_name"
fi
done
-
- printf "$RANDOM_PIC_NAME\n"
}
+# initiate swww if not running
swww query || swww-daemon --format xrgb
+# Choice of wallpapers
main() {
choice=$(menu | ${rofi_command})
-
# No choice case
if [[ -z $choice ]]; then
exit 0
@@ -54,7 +59,8 @@ main() {
# Random choice case
if [ "$choice" = "$RANDOM_PIC_NAME" ]; then
- swww img "${wallDIR}/${RANDOM_PIC}" $SWWW_PARAMS
+ RANDOM_PIC="${PICS[$((RANDOM % ${#PICS[@]}))]}"
+ swww img -o $focused_monitor "${RANDOM_PIC}" $SWWW_PARAMS
exit 0
fi
@@ -69,7 +75,7 @@ main() {
done
if [[ $pic_index -ne -1 ]]; then
- swww img -o $focused_monitor "${wallDIR}/${PICS[$pic_index]}" $SWWW_PARAMS
+ swww img -o $focused_monitor "${PICS[$pic_index]}" $SWWW_PARAMS
else
echo "Image not found."
exit 1
diff --git a/config/hypr/UserScripts/Weather.py b/config/hypr/UserScripts/Weather.py
index 5cd11a66..1d2ea30b 100755
--- a/config/hypr/UserScripts/Weather.py
+++ b/config/hypr/UserScripts/Weather.py
@@ -8,12 +8,12 @@ import os
# original code https://gist.github.com/Surendrajat/ff3876fd2166dd86fb71180f4e9342d7
# weather icons
weather_icons = {
- "sunnyDay": "",
- "clearNight": "",
- "cloudyFoggyDay": "",
- "cloudyFoggyNight": "",
- "rainyDay": "",
- "rainyNight": "",
+ "sunnyDay": "󰖙",
+ "clearNight": "󰖔",
+ "cloudyFoggyDay": "",
+ "cloudyFoggyNight": "",
+ "rainyDay": "",
+ "rainyNight": "",
"snowyIcyDay": "",
"snowyIcyNight": "",
"severe": "",
@@ -116,14 +116,14 @@ tooltip_text = str.format(
# print waybar module data
out_data = {
- "text": f"{icon} {temp}",
+ "text": f"{icon} {temp}",
"alt": status,
"tooltip": tooltip_text,
"class": status_code,
}
print(json.dumps(out_data))
-simple_weather =f"{icon} {status}\n" + \
+simple_weather =f"{icon} {status}\n" + \
f" {temp} ({temp_feel_text})\n" + \
f"{wind_text} \n" + \
f"{humidity_text} \n" + \
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage