From 9171212406c0a2a46c443f963406d7414fe253a8 Mon Sep 17 00:00:00 2001 From: andrzej Date: Wed, 16 Oct 2024 12:24:58 +0200 Subject: [PATCH] move hyprland-related scripts --- .../.config/hypr/bg-scripts/bg_slideshow.pid | 1 + .../hypr/bg-scripts/hyprland-slideshow.sh | 61 +++++++++++++++++++ .../hypr/bg-scripts/hyprland-switch-bg.sh | 48 +++++++++++++++ hyprland/.config/hypr/hyprland.conf | 4 +- zsh/.zsh_aliases | 2 +- 5 files changed, 113 insertions(+), 3 deletions(-) create mode 100644 hyprland/.config/hypr/bg-scripts/bg_slideshow.pid create mode 100755 hyprland/.config/hypr/bg-scripts/hyprland-slideshow.sh create mode 100755 hyprland/.config/hypr/bg-scripts/hyprland-switch-bg.sh diff --git a/hyprland/.config/hypr/bg-scripts/bg_slideshow.pid b/hyprland/.config/hypr/bg-scripts/bg_slideshow.pid new file mode 100644 index 0000000..6138853 --- /dev/null +++ b/hyprland/.config/hypr/bg-scripts/bg_slideshow.pid @@ -0,0 +1 @@ +2854 diff --git a/hyprland/.config/hypr/bg-scripts/hyprland-slideshow.sh b/hyprland/.config/hypr/bg-scripts/hyprland-slideshow.sh new file mode 100755 index 0000000..22d0050 --- /dev/null +++ b/hyprland/.config/hypr/bg-scripts/hyprland-slideshow.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash + +##set working directory to location of this script +cd "$(dirname "$0")" + +PIDFILE=bg_slideshow.pid +remove_pidfile() +{ + rm -f "$PIDFILE" +} + +if [ -f "$PIDFILE" ]; then + kill -9 "$(cat $PIDFILE)" +fi + +if [[ ${1} == kill ]]; then +echo "killing myslef, byeeee" +exit +fi + + +echo $$ > "$PIDFILE" + + +bgsDirectory="/home/andrzej/bgs/" +path=${1} +duration=${2} + + +echo "path: ${path}, duration: ${duration}" + +#ARGS $1:directory e.g. chsck +chooseRandom(){ + shopt -s nullglob + files=("${bgsDirectory}${1}/"*) + length=$((${#files[@]})) + echo "length: ${length}" + randomIndex=$(($RANDOM % $length)) + echo "random index: ${randomIndex}" + ##re-roll if the result is a directory + while [[ -d ${files[$randomIndex]} ]] + do + echo "${files[randomIndex]} is a directory!" +randomIndex=$(($RANDOM % $length)) + done + image="${files[$randomIndex]}" + echo ${image} +} + + + +while true; do +chooseRandom ${path} +hyprctl hyprpaper preload "${image}" +hyprctl hyprpaper wallpaper ",contain:${image}" +sleep $duration +hyprpaper unload all +done + + + diff --git a/hyprland/.config/hypr/bg-scripts/hyprland-switch-bg.sh b/hyprland/.config/hypr/bg-scripts/hyprland-switch-bg.sh new file mode 100755 index 0000000..adf05c4 --- /dev/null +++ b/hyprland/.config/hypr/bg-scripts/hyprland-switch-bg.sh @@ -0,0 +1,48 @@ +bgsDirectory="${HOME}/bgs/" + +##set working directory to location of this script +cd "$(dirname "$0")" + +##stop slideshow if running +sh ./hyprland-slideshow.sh kill + + +preloadImage(){ +hyprctl hyprpaper preload "${image}" +} + +setImage() { +hyprctl hyprpaper wallpaper ",contain:${image}" +} + +#ARGS $1:directory e.g. chsck +chooseRandom(){ + shopt -s nullglob + files=("${bgsDirectory}${1}/"*) + length=$((${#files[@]})) + echo "length: ${length}" + randomIndex=$(($RANDOM % $length)) + echo "random index: ${randomIndex}" + ##re-roll if the result is a directory + while [[ -d ${files[$randomIndex]} ]] + do + echo "${files[randomIndex]} is a directory!" + randomIndex=$(($RANDOM % $length)) + done + image="${files[$randomIndex]}" + echo ${image} +} + +if [ $# -eq 0 ]; then + image="${bgsDirectory}default.jpg" + preloadImage image + setImage image + else + chooseRandom ${1} + preloadImage + setImage +fi + +sleep 1 + +hyprctl hyprpaper unload all diff --git a/hyprland/.config/hypr/hyprland.conf b/hyprland/.config/hypr/hyprland.conf index cd9dddc..82e7d62 100644 --- a/hyprland/.config/hypr/hyprland.conf +++ b/hyprland/.config/hypr/hyprland.conf @@ -187,8 +187,8 @@ bind = $mainMod, k, movefocus, u bind = $mainMod, j, movefocus, d #background bg switcheroo -bind = $mainMod SHIFT, W, exec, /home/andrzej/scripts/hyprland-switch-bg.sh chsck -bind = $mainMod , W, exec, /home/andrzej/scripts/hyprland-switch-bg.sh +bind = $mainMod SHIFT, W, exec, $HOME/.config/hypr/bg-scripts/hyprland-switch-bg.sh chsck +bind = $mainMod , W, exec, $HOME/.config/hypr/bg-scripts/hyprland-switch-bg.sh # Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 diff --git a/zsh/.zsh_aliases b/zsh/.zsh_aliases index 27d33b2..c05345d 100644 --- a/zsh/.zsh_aliases +++ b/zsh/.zsh_aliases @@ -1,7 +1,7 @@ alias update="apt update && apt upgrade -y" alias tidal="/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=com.mastermindzh.tidal-hifi com.mastermindzh.tidal-hifi &" alias devsesh="$HOME/scripts/tmux-dev-session.sh" -alias slides="nohup ${HOME}/scripts/hyprland-slideshow.sh" +alias slides="nohup ${HOME}/.config/hypr/bg-scripts/hyprland-slideshow.sh" alias ls="ls --color=auto" export SUDO_EDITOR="nvim"