Description
Use the chrome.wallpaper API to change the ChromeOS wallpaper.
Permissions
wallpaperAvailability
Manifest
You must declare the "wallpaper" permission in the app's manifest to use the wallpaper API. For example:
{
  "name": "My extension",
  ...
  "permissions": [
    "wallpaper"
  ],
  ...
}
Examples
For example, to set the wallpaper as the image at
https://example.com/a_file.png, you can call chrome.wallpaper.setWallpaper
this way:
chrome.wallpaper.setWallpaper(
  {
    'url': 'https://example.com/a_file.jpg',
    'layout': 'CENTER_CROPPED',
    'filename': 'test_wallpaper'
  },
  function() {}
);
Types
WallpaperLayout
The supported wallpaper layouts.
Enum
"STRETCH"  "CENTER"  "CENTER_CROPPED" 
 
 
 
Methods
setWallpaper()
chrome.wallpaper.setWallpaper(
details: object,
callback?: function,
): Promise<ArrayBuffer | undefined>
Sets wallpaper to the image at url or wallpaperData with the specified layout
Parameters
- 
    detailsobject - 
    dataArrayBuffer optional The jpeg or png encoded wallpaper image as an ArrayBuffer. 
- 
    filenamestring The file name of the saved wallpaper. 
- 
    layoutThe supported wallpaper layouts. 
- 
    thumbnailboolean optional True if a 128x60 thumbnail should be generated. Layout and ratio are not supported yet. 
- 
    urlstring optional The URL of the wallpaper to be set (can be relative). 
 
- 
    
- 
    callbackfunction optional The callbackparameter looks like:(thumbnail?: ArrayBuffer) => void - 
    thumbnailArrayBuffer optional The jpeg encoded wallpaper thumbnail. It is generated by resizing the wallpaper to 128x60. 
 
- 
    
Returns
- 
            Promise<ArrayBuffer | undefined> Chrome 96+Promises are only supported for Manifest V3 and later, other platforms need to use callbacks.