Skip to content

Commit

Permalink
Merge branch 'main' of github.com:iiztp/hyprdots
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthieu AMET committed Oct 8, 2024
2 parents a2b8cb2 + 35f3f1b commit 8d3aeb0
Show file tree
Hide file tree
Showing 6 changed files with 144 additions and 16 deletions.
28 changes: 28 additions & 0 deletions Configs/.config/hyde/hyde.conf
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,31 @@ rofiScale=9
#// available styles - 1 (default) , 2
wlogoutStyle=1

# waybar

# // waybar_cava_bar - bar for waybar cava - default "▁▂▃▄▅▆▇█"
# waybar_cava_bar="░▒▓█"
# waybar_cava_bar="▖▗▘▙▚▛▜▝▞▟"
# waybar_cava_bar="▂▃▄▅▆▇█"
# waybar_cava_bar="▕▏▎▍▌▋▊▉"
# waybar_cava_bar="⣀⣄⣤⣦⣶⣷⣿"
# waybar_cava_bar="⠁⠂⠄⡀⢀⠠⠐⠈"
# waybar_cava_bar="⠋⠙⠹⢸⣰⣤⣦⣶"
# waybar_cava_bar="🌑🌒🌓🌔🌕🌖🌗🌘"
# waybar_cava_bar="🌕🌖🌗🌘🌒🌓🌔🌕"
# waybar_cava_bar="★☆★☆★☆★☆"
# waybar_cava_bar="⣾⣽⣻⢿⡿⣟⣯⣷"
# waybar_cava_bar="ᗧᗣᗤᗥᗦᗧᗣᗤᗥᗦ"

# // waybar_cava_width - width for waybar cava - default 8
# waybar_cava_width=10

# // waybar_cava_range - range for waybar cava - default 7
# waybar_cava_range=7

# // waybar_cava_stbmode - standby mode for waybar cava - default 0
# 0: clean - totally hides the module
# 1: blank - makes module expand as spaces
# 2: full - occupies the module with full bar
# 3: low - makes the module display the lowest set bar
# waybar_cava_stbmode=0
6 changes: 4 additions & 2 deletions Configs/.config/waybar/modules/cava.jsonc
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
"custom/cava": {
"format": "{}",
"exec": "waybar_cava.sh",
"format": "{}"
},
"restart-interval": 1,
"hide-empty": true
},
10 changes: 10 additions & 0 deletions Configs/.local/share/bin/logoutlaunch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,16 @@ export fntSize=$(( y_mon * 2 / 100 ))
#// detect wallpaper brightness

[ -f "${cacheDir}/wall.dcol" ] && source "${cacheDir}/wall.dcol"
# Theme mode: detects the color-scheme set in hypr.theme and falls back if nothing is parsed.
if [ "${enableWallDcol}" -eq 0 ]; then
colorScheme="$({ grep -q "^[[:space:]]*\$COLOR[-_]SCHEME\s*=" "${hydeThemeDir}/hypr.theme" && grep "^[[:space:]]*\$COLOR[-_]SCHEME\s*=" "${hydeThemeDir}/hypr.theme" | cut -d '=' -f2 | sed 's/^[[:space:]]*//;s/[[:space:]]*$//' ;} ||
grep 'gsettings set org.gnome.desktop.interface color-scheme' "${hydeThemeDir}/hypr.theme" | awk -F "'" '{print $((NF - 1))}')"
colorScheme=${colorScheme:-$(gsettings get org.gnome.desktop.interface color-scheme)}
# should be declared explicitly so we can easily debug
grep -q "dark" <<< "${colorScheme}" && dcol_mode="dark"
grep -q "light" <<< "${colorScheme}" && dcol_mode="light"
[ -f "${hydeThemeDir}/theme.dcol" ] && source "${hydeThemeDir}/theme.dcol"
fi
[ "${dcol_mode}" == "dark" ] && export BtnCol="white" || export BtnCol="black"


Expand Down
10 changes: 6 additions & 4 deletions Configs/.local/share/bin/swwwallbash.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#!/usr/bin/env bash


#// set variables

export scrDir="$(dirname "$(realpath "$0")")"
Expand All @@ -14,7 +13,6 @@ if [ -z "${wallbashImg}" ] || [ ! -f "${wallbashImg}" ] ; then
echo "Error: Input wallpaper not found!"
exit 1
fi

wallbashOut="${dcolDir}/$(set_hash "${wallbashImg}").dcol"

if [ ! -f "${wallbashOut}" ] ; then
Expand All @@ -23,6 +21,11 @@ fi

set -a
source "${wallbashOut}"
if [ -f "${hydeThemeDir}/theme.dcol" ] && [ "${enableWallDcol}" -eq 0 ] ; then
source "${hydeThemeDir}/theme.dcol"
echo "[theme] Overriding dominant colors from \"${hydeTheme}\""
echo "[note] Remove \"${hydeThemeDir}/theme.dcol\" to use wallpaper dominant colors"
fi
[ "${dcol_mode}" == "dark" ] && dcol_invt="light" || dcol_invt="dark"
set +a

Expand Down Expand Up @@ -263,5 +266,4 @@ if [ "${enableWallDcol}" -eq 0 ]; then
grep -q "light" <<< "${colorScheme}" && enableWallDcol=3
fi

find "${wallbashDir}/Wall-Ways" -type f -name "*.dcol" | parallel fn_wallbash {}

find "${wallbashDir}/Wall-Ways" -type f -name "*.dcol" | parallel fn_wallbash {}
102 changes: 92 additions & 10 deletions Configs/.local/share/bin/waybar_cava.sh
Original file line number Diff line number Diff line change
@@ -1,35 +1,117 @@
#!/bin/env bash
#----- Optimized bars animation without much CPU usage increase --------
bar="▁▂▃▄▅▆▇█"
#----- Optimized bars animation without much CPU usage increase pt2 --------

scrDir=$(dirname "$(realpath "$0")")
# shellcheck source=/dev/null
. "${scrDir}/globalcontrol.sh"
usage() {
cat <<HELP
Usage: $(basename "$0") [OPTIONS]
Options:
--bar <waybar_cava_bar> Specify the characters to use for the bar animation (default: ▁▂▃▄▅▆▇█).
--width <waybar_cava_width> Specify the width of the bar.
--range <waybar_cava_range> Specify the range of the bar.
--help Display this help message and exit.
--restart Restart the waybar_cava.
--mode <waybar_cava_stbmode> Specify the standby mode for waybar cava (default: 0).
HELP
exit 1
}

# Parse command line arguments using getopt
if ! ARGS=$(getopt -o "hr" -l "help,bar:,width:,range:,restart,mode:" -n "$0" -- "$@"); then
usage
fi

eval set -- "$ARGS"
while true; do
case "$1" in
--help | -h)
usage
;;
--bar)
waybar_cava_bar="$2"
shift 2
;;
--width)
waybar_cava_width="$2"
shift 2
;;
--range)
waybar_cava_range="$2"
shift 2
;;
--restart) # restart the waybar_cava
pkill -f "cava -p /tmp/bar_cava_config"
exit 0
;;
--mode)
waybar_cava_stbmode="$2"
shift 2
;;
--)
shift
break
;;
*)
usage
;;
esac
done

bar="${waybar_cava_bar:-▁▂▃▄▅▆▇█}"
dict="s/;//g"

# Calculate the length of the bar outside the loop
bar_length=${#bar}
bar_width=${waybar_cava_width:-${bar_length}}
bar_range=${waybar_cava_range:-$((bar_length - 1))}

standby_mode=${waybar_cava_stbmode:-0} # 0:clean, 1:blank, 2:full,3:last
if [ "${standby_mode}" -le 0 ]; then unset standby_bar; fi
# Create dictionary to replace char with bar
for ((i = 0; i < bar_length; i++)); do
dict+=";s/$i/${bar:$i:1}/g"
i=0
while [ $i -lt "${bar_length}" ] || [ $i -lt "${bar_width}" ]; do
if [ $i -lt "${bar_length}" ]; then
dict="$dict;s/$i/${bar:$i:1}/g"
fi
if [ $i -lt "${bar_width}" ] && [ "${standby_mode}" -gt 0 ]; then
if [ "${standby_mode}" -eq 2 ]; then
standby_bar="$standby_bar${bar:$i:1}"
elif [ "${standby_mode}" -eq 1 ]; then
standby_bar="$standby_bar "
fi
fi
((i++))
done

# Create cava config
config_file="/tmp/bar_cava_config"
cat >"$config_file" <<EOF
[general]
bars = 10
bars = ${bar_width}
sleep_timer = 1
[input]
method = pulse
source = auto
[output]
method = raw
raw_target = /dev/stdout
data_format = ascii
ascii_max_range = 7
ascii_max_range = ${bar_range}
EOF

# Kill cava if it's already running
pkill -f "cava -p $config_file"
listen_to_cava() {
echo ""
while IFS= read -r line; do
if grep -qE "^0;(0;)*$" <<<"$line" && [ "${standby_mode}" -ne 3 ]; then echo "${standby_bar}" && continue; fi
sed -u "$dict" <<<"${line}"
done < <(cava -p "$config_file")
}

# Read stdout from cava and perform substitution in a single sed command
cava -p "$config_file" | sed -u "$dict"
# Call the function
listen_to_cava &
disown # saves a tiny bit of memory
4 changes: 4 additions & 0 deletions Scripts/themepatcher.sh
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,10 @@ while IFS= read -r fchk; do
print_prompt -y "[!!] " "${fchk} --> do not exist in ${Theme_Dir}/Configs/"
fi
done <<< "$config"
if [ -f "${Fav_Theme_Dir}/theme.dcol" ];then
print_prompt -n "[ok] " "found theme.dcol to override wallpaper dominant colors"
restore_list+="Y|Y|\${HOME}/.config/hyde/themes/${Fav_Theme}|theme.dcol|hyprland\n"
fi
readonly restore_list

# Get Wallpapers
Expand Down

0 comments on commit 8d3aeb0

Please sign in to comment.