Skip to content

Commit 096fc24

Browse files
authored
Merge branch 'rc' into dev
2 parents afd341b + 5165a08 commit 096fc24

File tree

17 files changed

+226
-347
lines changed

17 files changed

+226
-347
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ All notable changes to `HyDE` will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to _Modified_ [CalVer](https://calver.org/). See [Versioning](https://github.com/HyDE-Project/HyDE/blob/master/RELEASE_POLICY.md#versioning-yymq) For more info
66

7-
## v25.8.3 (Unreleased)
7+
## v25.8.3
88

99
### Fixed
1010

@@ -33,6 +33,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
3333
- Added pyprland boilerplate, no configs for now
3434
- Hyprland: Graciously handle some of the issues hyprland config issues for unknown SHELL
3535
- Pyprland: Use nc or socat to communicate with pyprland instead of pure python
36+
- Pyprland: Add boilerplate config for pyprland
3637

3738
## v25.8.1
3839

Configs/.config/hyde/wallbash/scripts/spotify.sh

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,16 @@ configure_spicetify() {
2121
local cache_dir=$2
2222
local spotify_flags='--ozone-platform=wayland'
2323
local spotify_conf
24-
24+
2525
spicetify &>/dev/null
2626
mkdir -p ~/.config/spotify
2727
touch ~/.config/spotify/prefs
2828
spotify_conf=$(spicetify -c)
29-
29+
3030
sed -i -e "/^prefs_path/ s+=.*$+= $HOME/.config/spotify/prefs+g" \
31-
-e "/^spotify_path/ s+=.*$+= $spotify_path+g" \
32-
-e "/^spotify_launch_flags/ s+=.*$+= $spotify_flags+g" "$spotify_conf"
33-
31+
-e "/^spotify_path/ s+=.*$+= $spotify_path+g" \
32+
-e "/^spotify_launch_flags/ s+=.*$+= $spotify_flags+g" "$spotify_conf"
33+
3434
spicetify_themes_dir="$HOME/.config/spicetify/Themes"
3535
if [ ! -d "${spicetify_themes_dir}/Sleek" ]; then
3636
curl -L -o "${cache_dir}/landing/Spotify_Sleek.tar.gz" "https://github.com/HyDE-Project/HyDE/raw/master/Source/arcs/Spotify_Sleek.tar.gz"
@@ -59,29 +59,31 @@ if [ -n "${SPOTIFY_PATH}" ]; then
5959
6060
note: run with 'sudo' if only needed.
6161
EOF
62-
63-
elif [ -d "${XDG_DATA_HOME}/flatpak/app/com.spotify.Client/x86_64/stable/active/files/extra/share/spotify" ]; then
62+
63+
elif [ -d "${XDG_DATA_HOME}/flatpak/app/com.spotify.Client/x86_64/stable/active/files/extra/share/spotify" ]; then
6464
spotify_path="${XDG_DATA_HOME}/flatpak/app/com.spotify.Client/x86_64/stable/active/files/extra/share/spotify"
65-
elif [ -d /var/lib/flatpak/app/com.spotify.Client/x86_64/stable/active/files/extra/share/spotify ]; then
65+
print_log -sec "Spotify" " User Flatpak"
66+
elif [ -d /var/lib/flatpak/app/com.spotify.Client/x86_64/stable/active/files/extra/share/spotify ]; then
6667
spotify_path='/var/lib/flatpak/app/com.spotify.Client/x86_64/stable/active/files/extra/share/spotify'
67-
elif [ -f "${shareDir}/spotify-launcher/install/usr/bin/spotify" ]; then
68+
print_log -sec "Spotify" " System Flatpak"
69+
elif [ -f "${shareDir}/spotify-launcher/install/usr/bin/spotify" ]; then
6870
spotify_path="${shareDir}/spotify-launcher/install/usr/share/spotify"
69-
elif [ -d /opt/spotify ]; then
71+
print_log -sec "Spotify" " Spotify-launcher"
72+
elif [ -d /opt/spotify ]; then
7073
spotify_path='/opt/spotify'
74+
print_log -sec "Spotify" " System Package Manager"
7175
fi
7276

7377
if [ ! -w "${spotify_path}" ] || [ ! -w "${spotify_path}/Apps" ]; then
7478
notify_and_set_permissions "${spotify_path}"
75-
else
76-
printf "[info] using spotify path: %s\n" "${spotify_path}"
7779
fi
7880

79-
if (pkg_installed spotify && pkg_installed spicetify-cli) || [ -n "$spotify_path" ]; then
80-
81+
if (pkg_installed spotify && pkg_installed spicetify-cli) || [ -e "${spotify_path}" ]; then
82+
print_log -sec "Spotify" -stat "path" " ${spotify_path}"
8183
if [ "$(spicetify config | awk '{if ($1=="color_scheme") print $2}')" != "Wallbash" ] || [[ "${*}" == *"--reset"* ]]; then
8284
configure_spicetify "$spotify_path" "$cacheDir"
8385
fi
84-
86+
8587
if pgrep -x spotify >/dev/null; then
8688
pkill -x spicetify
8789
spicetify -q watch -s &

Configs/.config/hypr/keybindings.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ bindd = $mainMod, J, $d toggle split, togglesplit
7878
$l=Launcher
7979
$d=[$l|Apps]
8080
bindd = $mainMod, T, $d terminal emulator , exec, $TERMINAL
81-
bindd = $mainMod Alt, T, $d dropdown terminal , exec, [float; move 20% 5%; size 60% 60%] $TERMINAL
81+
bindd = $mainMod Alt, T, $d dropdown terminal , exec, hyde-shell pypr toggle console
8282
bindd = $mainMod, E, $d file explorer , exec, $EXPLORER
8383
bindd = $mainMod, C, $d text editor , exec, $EDITOR
8484
bindd = $mainMod, B, $d web browser , exec, $BROWSER

Configs/.config/hypr/pyprland.toml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Since Pyprland is very configurable, this is just a basic example config
2+
# to get you started. For more information, see the Pyprland documentation:
3+
# https://hyprland-community.github.io/pyprland/
4+
5+
6+
# Since You are using Hyde, you can use `hyde-shell` to run pypr commands
7+
# See 'hyde-shell pypr --help' for more information on how to use it!
8+
9+
[pyprland]
10+
# pypr has a lot of plugins, but this is just a basic example config
11+
# https://hyprland-community.github.io/pyprland/Plugins.html
12+
plugins = [ "scratchpads" ]
13+
14+
# using variables for demonstration purposes (not needed)
15+
[pyprland.variables]
16+
# term_with_class = "hyde-shell app -T" # You cannot set the class for this
17+
# term_with_class = "alacritty --class"
18+
# term_with_class = "foot --app-id"
19+
term_with_class = "kitty --class"
20+
21+
22+
[scratchpads.console]
23+
# This is a drop-down terminal configuration
24+
animation = "fromTop"
25+
class = "console-dropdown"
26+
command = "[term_with_class] console-dropdown"
27+
max_size = "90% 100%"
28+
size = "75% 60%"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
./*
1+
*
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
./*

Configs/.local/lib/hyde/color.set.sh

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -102,27 +102,34 @@ preprocess_substitutions() {
102102
}
103103

104104
fn_wallbash() {
105-
local template="${1}"
106-
local temp_target_file exec_command
105+
local temp_target_file exec_command template wallbash_dirs_array
106+
template="${1}"
107+
shift
108+
wallbash_dirs_array=("${@}")
107109
WALLBASH_SCRIPTS="${template%%/wallbash/*}/wallbash/scripts"
108-
110+
109111
if [[ "${template}" == *.theme ]]; then
110112
# This is approach is to handle the theme files
111113
# We don't want themes to launch the exec_command or any arbitrary codes
112114
# To enable this we should have a *.dcol file as a companion to the theme file
113-
IFS=':' read -r -a wallbashDirs <<<"$WALLBASH_DIRS"
115+
# IFS=':' read -r -a wallbash_dirs_array <<<"$wallbash_dirs"
116+
local template_name
114117
template_name="${template##*/}"
115118
template_name="${template_name%.*}"
116-
# echo "${wallbashDirs[@]}"
117-
dcolTemplate=$(find -H "${wallbashDirs[@]}" -type f -path "*/theme*" -name "${template_name}.dcol" 2>/dev/null | awk '!seen[substr($0, match($0, /[^/]+$/))]++')
119+
dcolTemplate=$(find -H "${wallbash_dirs_array[@]}" -type f -path "*/theme*" -name "${template_name}.dcol" 2>/dev/null | awk '!seen[substr($0, match($0, /[^/]+$/))]++')
120+
# dcolTemplate="$(find "${wallbash_dirs_array[@]}" -H -type f -path "*/theme*" -name "${template_name}.dcol" -print -quit)"
118121
if [[ -n "${dcolTemplate}" ]]; then
119122
eval target_file="$(head -1 "${dcolTemplate}" | awk -F '|' '{print $1}')"
120123
exec_command="$(head -1 "${dcolTemplate}" | awk -F '|' '{print $2}')"
121124
WALLBASH_SCRIPTS="${dcolTemplate%%/wallbash/*}/wallbash/scripts"
122125
fi
123126
fi
124127

125-
[[ "${LOG_LEVEL}" == "debug" ]] && print_log -sec "wallbash" -stat "Template:" " ${template}"
128+
if [[ "${LOG_LEVEL}" == "debug" ]];then
129+
print_log -sec "wallbash" -stat "Template:" " ${template}"
130+
print_log -sec "wallbash" -stat "Wallbash Directories:" " ${wallbash_dirs_array[*]}"
131+
print_log -sec "wallbash" -stat "Wallbash Scripts:" " ${WALLBASH_SCRIPTS}"
132+
fi
126133

127134
# shellcheck disable=SC1091
128135
# shellcheck disable=SC2154
@@ -166,8 +173,6 @@ fn_wallbash() {
166173
bash -c "${exec_command}" &
167174
disown
168175
}
169-
170-
unset WALLBASH_SCRIPTS
171176
}
172177

173178
scrDir="$(dirname "$(realpath "$0")")"
@@ -291,6 +296,8 @@ fi
291296

292297
#// switch theme <//> wall based colors
293298

299+
print_log -sec "wallbash" -stat "wallbash directories" " $WALLBASH_DIRS"
300+
294301
# shellcheck disable=SC2154
295302
if [ "${enableWallDcol}" -eq 0 ] && [[ "${reload_flag}" -eq 1 ]]; then
296303

@@ -303,13 +310,14 @@ if [ "${enableWallDcol}" -eq 0 ] && [[ "${reload_flag}" -eq 1 ]]; then
303310
done < <(find -H "${wallbashDirs[@]}" -type f -path "*/theme*" -name "*.dcol" 2>/dev/null | awk '!seen[substr($0, match($0, /[^/]+$/))]++')
304311

305312
# Process templates in parallel
306-
parallel fn_wallbash ::: "${deployList[@]}" || true
313+
parallel fn_wallbash {} "$wallbashDirs[@]" ::: "${deployList[@]}" || true
314+
307315

308316
elif [ "${enableWallDcol}" -gt 0 ]; then
309317
print_log -sec "wallbash" -stat "apply ${dcol_mode} colors" "Wallbash theme"
310318
# This is the reason we avoid SPACES for the wallbash template names
311-
find -H "${wallbashDirs[@]}" -type f -path "*/theme*" -name "*.dcol" 2>/dev/null | awk '!seen[substr($0, match($0, /[^/]+$/))]++' | parallel fn_wallbash {} || true
319+
find -H "${wallbashDirs[@]}" -type f -path "*/theme*" -name "*.dcol" 2>/dev/null | awk '!seen[substr($0, match($0, /[^/]+$/))]++' | parallel fn_wallbash {} "${wallbashDirs[@]}" || true
312320
fi
313321

314322
# Process "always" templates in parallel
315-
find -H "${wallbashDirs[@]}" -type f -path "*/always*" -name "*.dcol" 2>/dev/null | awk '!seen[substr($0, match($0, /[^/]+$/))]++' | parallel fn_wallbash {} || true
323+
find -H "${wallbashDirs[@]}" -type f -path "*/always*" -name "*.dcol" 2>/dev/null | awk '!seen[substr($0, match($0, /[^/]+$/))]++' | parallel fn_wallbash {} "${wallbashDirs[@]}" || true

Configs/.local/lib/hyde/lockscreen.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
#!/usr/bin/env bash
22

33
[[ "${HYDE_SHELL_INIT}" -ne 1 ]] && eval "$(hyde-shell init)"
4+
5+
lockscreen="${HYPRLAND_LOCKSCREEN:-$lockscreen}"
46
lockscreen="${LOCKSCREEN:-hyprlock}"
7+
lockscreen="${HYDE_LOCKSCREEN:-$lockscreen}"
58

69
case ${1} in
710
--get)

0 commit comments

Comments
 (0)