macos-wallpaper

Manage the desktop wallpaper on macOS

Github stars Tracking Chart

macos-wallpaper

Manage the desktop wallpaper on macOS

This is both a command-line app and a Swift package.

It correctly handles getting the active wallpaper even when the wallpaper is set to a directory.

Requires macOS 10.12 or later.

CLI

Install

Homebrew
$ brew install wallpaper
Manually

Download the binary and put it in /usr/local/bin.

Usage

By default, it sets and gets the wallpaper for all screens. Use the --screen flag to change this.

$ wallpaper help

Usage: wallpaper <command> [options]

Manage the desktop wallpaper

Commands:
  set             Set wallpaper image
  get             Get current wallpaper image
  screens         List screens
  help            Prints help information
  version         Prints the current version of this app
$ wallpaper get --help

Usage: wallpaper get [options]

Get current wallpaper image

Options:
  --screen <value>    Values: all, main, <index> [Default: all]
  -h, --help          Show help information
$ wallpaper set --help

Usage: wallpaper set <path> [options]

Set wallpaper image

Options:
  --scale <value>     Values: auto, fill, fit, stretch, center [Default: auto]
  --screen <value>    Values: all, main, <index> [Default: all]
  -h, --help          Show help information
Set
$ wallpaper set unicorn.jpg
Get
$ wallpaper get
/Users/sindresorhus/unicorn.jpg

API

Install

With SwiftPM:

.package(url: "https://github.com/sindresorhus/macos-wallpaper", from: "2.0.0")

Usage

import Wallpaper

let imageURL = URL(fileURLWithPath: "<path>")

try! Wallpaper.set(imageURL, screen: .main, scale: .fill)

print(try! Wallpaper.get(screen: .main))

See the source for more.

Dev

Run

swift run wallpaper

Build

swift build --configuration=release

Generate Xcode project

swift package generate-xcodeproj --xcconfig-overrides=Config.xcconfig

Main metrics

Overview
Name With Ownersindresorhus/macos-wallpaper
Primary LanguageSwift
Program languageSwift (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2015-04-03 06:10:14
Pushed At2024-09-16 15:44:45
Last Commit At
Release Count11
Last Release Namev2.3.2 (Posted on 2024-09-16 22:44:44)
First Release Name1.0.0 (Posted on 2015-04-03 13:13:07)
用户参与
Stargazers Count657
Watchers Count14
Fork Count39
Commits Count51
Has Issues Enabled
Issues Count40
Issue Open Count14
Pull Requests Count6
Pull Requests Open Count0
Pull Requests Close Count3
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private