Сегодняшний пост посвятим проекту Minimalistic Wallpaper Collection (тык). Автор этого проекта заливает в репозиторий понравившиеся арты в стиле цифрового минимализма и с помощью ссылки-рандомайзера выдаёт случайный фон рабочего стола. Ничего не надо парсить или возиться с JSON. Достаточно только скачать файл по ссылке с помощью wget. Отдельно предлагаю ознакомиться с readme.md репозитория.
Для установки изображения фоном рабочего стола был применён класс C#, описанный здесь.
Итого:
function SetMinimalisticWallpaper
{
$url = "https://minimalistic-wallpaper.demolab.com/?random"
$file = 'wallpaper.jpg'
wget -Uri $url -OutFile $file
$wallpaperpath = (Get-ChildItem -Path $PSScriptRoot -Filter $file).FullName
$sharpcode = @'
using System.Runtime.InteropServices;
namespace Win32
{
public class Wallpaper
{
[DllImport("user32.dll", CharSet=CharSet.Auto)]
static extern int SystemParametersInfo (int uAction, int uParam, string lpvParam, int fuWinIni);
public static void SetWallpaper(string thePath)
{
SystemParametersInfo(20,0,thePath,3);
}
}
}
'@
add-type $sharpcode
[Win32.Wallpaper]::SetWallpaper($wallpaperpath)
}
Чтобы вызвать функцию в коде скрипта:
SetMinimalisticWallpaper
После скачивания файл wallpaper.jpg можно будет найти в папке со скриптом.