Skip to content

Angelmaneuver/wallpaper-setting

Repository files navigation

Wallpaper Setting

VSCode like a crystal clear.


CODE, IMAGE, AND UI

Let’s be clear.
It’s brilliant.

Let’s be clear. It’s brilliant.

The Wallpaper Setting is a sight to behold, with support for can be transparent for only background and vividness unmatched by other background setting extensions. UI and images pop with rich contrast and sharp detail, and code appears supercrisp for easy reading.

Sacrificing nothing.

Wallpaper Setting
Opacity 0.4%
Other Extensions
Opacity 0.4% (0.6%)

As a result of research allowing only the background to be transparent, it provides a vivid editor that other extensions cannot reach.

It is a piece of cake.

It is a piece of cake.

Setting the background with Wallpaper Setting is a piece of cake. Press ⇧⌘P to bring up the command pallete and typing the Wallpaper Setting, and perform the Optimize, image or video setup.

As you like.

As you like.

With Wallpaper Setting, transparency can be set for VSCode parts. Set the transparency of the parts to your satisfaction!

Let's Install Wallpaper Setting and get your VSCode just the way you like it!

Detailed Specifications

Wallpaper - Image

Set the background image.

Name Required Description Remark
File path Path of the file to be used for the wallpaper.

Wallpaper - Slide

Set the background of images slide.

Name Required Description Remark
File paths Path of the files to be used for the images slide.
Interval time Image switching time. (Hour, Minute, Second, MilliSecond)
Randome play - Randomize image switching. Default False.
Effect fade in - Display Fade in effect when switching image. Default True.
Load wait complete - Wait for the screen to display until all images are loaded. Default False.
Depending on the images file size, startup may be slow.

Wallpaper - Movie

Set the background of movie.

Name Required Description Remark
Playback rate Movie playback rate. Default 1.0.

* Mute is a specification.

Favorite

Register and recall background settings.

Name Required Description Remark
Start up - Set a random background from the favorite settings when VSCode starts up.

Favorite - On demand

Switch images without having to install your favorite images each time.

* Only favorite image.

Watermark

Change the image of VSCode's watermark.

* Then, after set the watermark setting, run Set or Reset.

WebSocket

By preparing a dedicated server, wallpaper can be set via WebSocket.

otherwise, an application that sends image data when a client makes a WebSocket connection can be substituted.

* Please use only trusted server as we can't verify delivery data.

Q & A

Q. Why WebSocket instead of http ?

A. VSCode only allows https and ws in Content Security Policy

Sync

Background image can be shared between different machines.

Upload

Upload the background image.

Download

Download and setup the background image.

Delete

Delete uploaded image.

Warning

The Sync feature is achieved by converting image data to strings in Base64 and sharing them via Settings Sync.

Settings Sync backend is probably provided by Microsoft. And definitely not intended for image data sharing.

If you try to share an image file over MB (maybe even KB) with Settings Sync, Microsoft will be offended. They will reject the this extension and possibly disable the account of the user using the this extension from Settings Sync.

If you use it, please take its dangers into consideration.

About image data to be uploaded

The Base64 string uploaded to Settings Sync is encrypted in AES256 CTR mode.

Therefore, there is no fear of prying eye.

Unless you use poor values for password and salt, or I have made a mistake in the implementation of the cryptographic call.

Uninstall

Erase wallpaper from VSCode, and delete data related to Wallpaper Setting.

Environment Variables Support

Environment variables can be used in the path that specifies the image file.

Notation Description Remark
${userHome} Returns the string path of the current user's home directory. Implementation-wise, we use node.js os.homedir.
${<Environment Variables Name>} If the environment variable specified in ${~} exists, it is replaced by its value.
Required

Write permission

This extension modifies the following files in the VSCode installation directory, so requires write permission.

  1. /Resources/app/out/vs/code/electron-sandbox/workbench/workbench.js
  2. /Resources/app/out/vs/code/electron-sandbox/processExplorer/processExplorer.js (Only when setting the background color for Process Explorer)

Therefor, this extension cannot be used with VSCode installed from "Snap Store" App Store for Linux (Because write permission cannot be obtained).

Caution

How will this extension affect your environment ?

This extension modifies the following files in the VSCode installation directory.

  1. /Resources/app/out/vs/code/electron-sandbox/workbench/workbench.js
  2. /Resources/app/out/vs/code/electron-sandbox/processExplorer/processExplorer.js (Only when setting the background color for Process Explorer)

and following files.

  1. settings.json
  2. extensions.json (Only when using the Sync feature)

You will be warned that it is not supported

Prior to VSCode 1.72, the relevant message was not displayed. In fact, it is more correct to display.

The official explanation of this message is roughly as follows.

We are not trying to block VS Code patching, but we want to raise awareness that patching VS Code means you are running an unsupported version.

Respecting this assertion, this extension makes no attempt to prevent such messages from being displayed.

Even if we were to prevent it from being displayed, I believe the officials will block it.

Other

External libraries used by this extension

  1. vscode/l10n
  2. jsonc-parser
  3. clean-css
  4. terser