Заметки · 15.05.2023

Минимализм фоном

Сегодняшний пост посвятим проекту 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 можно будет найти в папке со скриптом.