Regenerated
This commit is contained in:
@@ -1,19 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Get active workspace ID
|
||||
ws=$(hyprctl activeworkspace -j | jq -r '.id')
|
||||
|
||||
# Format number with leading zero (01, 02, ...)
|
||||
num=$(printf "%02d" "$ws")
|
||||
|
||||
# Build wallpaper path
|
||||
wall="$HOME/Wallpapers/pictures/${num}.jpg"
|
||||
|
||||
# Check if file exists
|
||||
if [ -f "$wall" ]; then
|
||||
# Set wallpaper with smooth transition
|
||||
awww img "$wall" \
|
||||
--transition-type wipe \
|
||||
--transition-duration 0.5 \
|
||||
--transition-fps 60
|
||||
fi
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# -------------------------------
|
||||
# Config
|
||||
# -------------------------------
|
||||
HOME_DIR="$HOME"
|
||||
PICTURES_DIR="$HOME_DIR/Wallpapers/pictures"
|
||||
STATE_DIR="$HOME_DIR/.cache/hypr-wallpapers"
|
||||
NAMESPACE="main"
|
||||
|
||||
CURRENTPATH=/run/current-system/sw/bin
|
||||
|
||||
# Required environment variables
|
||||
: "${XDG_RUNTIME_DIR:?XDG_RUNTIME_DIR is not set}"
|
||||
: "${HYPRLAND_INSTANCE_SIGNATURE:?HYPRLAND_INSTANCE_SIGNATURE is not set}"
|
||||
: "${WAYLAND_DISPLAY:?WAYLAND_DISPLAY is not set}"
|
||||
|
||||
IPC_SOCKET="$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
|
||||
|
||||
# -------------------------------
|
||||
# Wait for Hyprland IPC socket
|
||||
# -------------------------------
|
||||
until [ -S "$IPC_SOCKET" ]; do
|
||||
echo "Waiting for Hyprland IPC socket..."
|
||||
sleep 1
|
||||
done
|
||||
|
||||
# -------------------------------
|
||||
# Start awww-daemon if not already running
|
||||
# -------------------------------
|
||||
awww_SOCKET="$XDG_RUNTIME_DIR/awww/$NAMESPACE.sock"
|
||||
|
||||
if [ ! -S "$awww_SOCKET" ]; then
|
||||
if ! pgrep -f "awww-daemon.*--namespace $NAMESPACE" >/dev/null; then
|
||||
echo "Starting awww-daemon for namespace $NAMESPACE..."
|
||||
"$CURRENTPATH/awww-daemon" --namespace "$NAMESPACE" &
|
||||
sleep 0.5
|
||||
else
|
||||
echo "awww-daemon already running for namespace $NAMESPACE"
|
||||
fi
|
||||
fi
|
||||
|
||||
# -------------------------------
|
||||
# Load wallpapers
|
||||
# -------------------------------
|
||||
mapfile -t IMAGES < <(find "$PICTURES_DIR" -type f \( -iname '*.png' -o -iname '*.jpg' -o -iname '*.jpeg' \))
|
||||
[ "${#IMAGES[@]}" -eq 0 ] && { echo "No wallpapers found in $PICTURES_DIR"; exit 1; }
|
||||
|
||||
mkdir -p "$STATE_DIR"
|
||||
|
||||
get_wallpaper() {
|
||||
local ws="$1"
|
||||
local mon="$2"
|
||||
local key="$STATE_DIR/ws${ws}_mon${mon}.txt"
|
||||
|
||||
if [ -f "$key" ]; then
|
||||
cat "$key"
|
||||
else
|
||||
local image="${IMAGES[RANDOM % ${#IMAGES[@]}]}"
|
||||
echo "$image" > "$key"
|
||||
echo "$image"
|
||||
fi
|
||||
}
|
||||
|
||||
# -------------------------------
|
||||
# Subscribe to workspace events
|
||||
# -------------------------------
|
||||
{
|
||||
echo '{"subscribe":["workspace"]}'
|
||||
"$CURRENTPATH/socat" - UNIX-CONNECT:"$IPC_SOCKET"
|
||||
} | while read -r line; do
|
||||
[[ "$line" =~ ^\{ ]] || continue
|
||||
|
||||
WS_NUM=$("$CURRENTPATH/jq" -r 'select(.type=="workspace" and .active==true) | .workspace' <<< "$line" 2>/dev/null || true)
|
||||
MONITOR=$("$CURRENTPATH/jq" -r '.monitor' <<< "$line" 2>/dev/null || true)
|
||||
|
||||
if [ -n "$WS_NUM" ] && [ -n "$MONITOR" ]; then
|
||||
WALLPAPER=$(get_wallpaper "$WS_NUM" "$MONITOR")
|
||||
echo "Setting wallpaper for workspace $WS_NUM on monitor $MONITOR: $WALLPAPER"
|
||||
"$CURRENTPATH/awww" img "$WALLPAPER" --resize stretch --namespace "$WS_NUM"
|
||||
fi
|
||||
done
|
||||
@@ -1,36 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
WS=$1
|
||||
|
||||
case "$WS" in
|
||||
0)
|
||||
awww img /home/henrov/Wallpapers/pictures/10.jpg --transition-type fade
|
||||
;;
|
||||
1)
|
||||
awww img /home/henrov/Wallpapers/pictures/01.jpg --transition-type fade
|
||||
;;
|
||||
2)
|
||||
awww img /home/henrov/Wallpapers/pictures/02.jpg --transition-type fade
|
||||
;;
|
||||
3)
|
||||
awww img /home/henrov/Wallpapers/pictures/03.jpg --transition-type fade
|
||||
;;
|
||||
4)
|
||||
awww img /home/henrov/Wallpapers/pictures/04.jpg --transition-type fade
|
||||
;;
|
||||
5)
|
||||
awww img /home/henrov/Wallpapers/pictures/05.jpg --transition-type fade
|
||||
;;
|
||||
6)
|
||||
awww img /home/henrov/Wallpapers/pictures/06.jpg --transition-type fade
|
||||
;;
|
||||
7)
|
||||
awww img /home/henrov/Wallpapers/pictures/07.jpg --transition-type fade
|
||||
;;
|
||||
8)
|
||||
awww img /home/henrov/Wallpapers/pictures/08.jpg --transition-type fade
|
||||
;;
|
||||
9)
|
||||
awww img /home/henrov/Wallpapers/pictures/09.jpg --transition-type fade
|
||||
;;
|
||||
esac
|
||||
+4
-3
@@ -1,12 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SOCK="$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
|
||||
|
||||
socat -U - UNIX-CONNECT:"$SOCK" | while read -r line; do
|
||||
exec socat -U - UNIX-CONNECT:"$SOCK" | while IFS= read -r line; do
|
||||
case "$line" in
|
||||
workspace>>*)
|
||||
workspace\>\>*)
|
||||
WS="${line#workspace>>}"
|
||||
~/Wallpapers/scripts/ws-wallpaper.sh "$WS"
|
||||
"$HOME/Wallpapers/scripts/ws-wallpaper.sh" "$WS"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
Reference in New Issue
Block a user