27 lines
862 B
Bash
Executable File
27 lines
862 B
Bash
Executable File
#!/bin/zsh
|
|
|
|
|
|
set_wallpaper_linux() {
|
|
echo "TODO: theme_update_wallpaper_linux not yet implemented"
|
|
}
|
|
|
|
set_wallpaper_macos() {
|
|
# after back and forth with gpt and failing approaches, landing on this swift snippet
|
|
swift <(cat << NESTED_SWIFT_BLOCK
|
|
import AppKit
|
|
let url = URL(fileURLWithPath: "$1")
|
|
try NSWorkspace.shared.setDesktopImageURL(url, for: NSScreen.main!, options: [:])
|
|
NESTED_SWIFT_BLOCK
|
|
)
|
|
}
|
|
|
|
wallpaper_dir=$DIR_THEME_SETTINGS/.current-theme/wallpaper
|
|
image_paths=($(find $wallpaper_dir -type f | sort)) 2> /dev/null
|
|
|
|
[[ $1 = "zz-default-for-theme" ]] && target_wallpaper=${image_paths[@]:0:1} ||
|
|
target_wallpaper=$(printf '%s\n' ${image_paths[@]} | fzf)
|
|
[[ -z $target_wallpaper ]] && exit 0
|
|
|
|
[[ "$OSTYPE" = *"darwin"* ]] && set_wallpaper_macos $target_wallpaper ||
|
|
set_wallpaper_linux $target_wallpaper
|