mirror of
				https://github.com/tiyn/dotfiles.git
				synced 2025-10-31 12:31:15 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| # Adapted from a script by lukesmithxyz, checkout github.com/lukesmithxyz/voidrice
 | |
| 
 | |
| wall_desk=${WALLPAPER_DESKTOP:-$XDG_DATA_HOME/bg}
 | |
| wall_lock=${WALLPAPER_LOCK:-$XDG_DATA_HOME/lock}
 | |
| 
 | |
| case "$1" in
 | |
|   desktop) trueloc="$(readlink -f "$2")" &&
 | |
|       case "$(file --mime-type -b "$trueloc")" in
 | |
|           image/* ) ln -f "$(readlink -f "$2")" "$wall_desk" && notify-send -i "$wall_desk" "Desktop wallpaper has been changed." ;;
 | |
|           inode/directory ) ln -f "$(find "$trueloc" -iregex '.*.\(jpg\|jpeg\|png\|gif\)' -type f | shuf -n 1)" "$wall_desk" && notify-send -i "$wall_desk" "Random desktop wallpaper chosen." ;;
 | |
|           *) notify-send "🖼️ Error" "Not a valid image or directory." ; exit 1;;
 | |
|       esac
 | |
|       xwallpaper --stretch "$wall_desk" ;;
 | |
|   lock) trueloc="$(readlink -f "$2")" &&
 | |
|       case "$(file --mime-type -b "$trueloc")" in
 | |
|           image/* ) ln -f "$(readlink -f "$2")" "$wall_lock" && notify-send -i "$wall_lock" "Lock screen wallpaper has been changed." ;;
 | |
|           inode/directory ) ln -f "$(find "$trueloc" -iregex '.*.\(jpg\|jpeg\|png\|gif\)' -type f | shuf -n 1)" "$wall_lock" && notify-send -i "$wall_lock" "Random lock screen wallpaper chosen." ;;
 | |
|           *) notify-send "🖼️ Error" "Not a valid image or directory." ; exit 1;;
 | |
|       esac ;;
 | |
|   both) wallpaper desktop "$2" &&
 | |
|         wallpaper lock "$2";;
 | |
|   *) cat << EOF
 | |
| wallpaper: cli script to set and reset the wallpaper of the desktop and lock
 | |
|            screen.
 | |
| 
 | |
| Allowed options:
 | |
|   desktop [PATH]    Set the wallpaper of the desktop to the specified path.
 | |
|                     If no path is given reset it.
 | |
|   lock [PATH]       Set the wallpaper of the lock screen to the specified path.
 | |
|                     If no path is given reset it.
 | |
|   both [PATH]       Set wallpaper for both lock screen and dektop to a
 | |
|                     specified path.
 | |
|                     If no path is given reset it.
 | |
|   all else          Print this message
 | |
| 
 | |
| EOF
 | |
| esac
 |