Add a button to copy a background image into the Terminal's settings directory #17356

Open
opened 2026-01-31 05:40:10 +00:00 by claunia · 5 comments
Owner

Originally created by @xiaofanshifu on GitHub (Apr 28, 2022).

Description of the new feature/enhancement

when setting the background image, click save and copy the image to the configuration (setting.json) directory of terminal.

image

Originally created by @xiaofanshifu on GitHub (Apr 28, 2022). # Description of the new feature/enhancement when setting the background image, click save and copy the image to the configuration (setting.json) directory of terminal. ![image](https://user-images.githubusercontent.com/57950591/165728494-34fd977e-d7e7-4303-aaa9-1f24de451c07.png)
claunia added the Help WantedIssue-TaskProduct-TerminalArea-SettingsUI labels 2026-01-31 05:40:11 +00:00
Author
Owner

@zadjii-msft commented on GitHub (May 2, 2022):

I suppose this isn't a bad idea. Probably not one that we'd get to any time soon, but wouldn't be hard to implement, I'd think. Probably just need to copy the file to %localappdata% and then rewrite the path to the image in the settings.

Might want to do some extra logic that disables the button:

  • When set to desktopWallpaper
  • When it's a ms-appx path (from the package)
@zadjii-msft commented on GitHub (May 2, 2022): I suppose this isn't a bad idea. Probably not one that we'd get to any time soon, but wouldn't be hard to implement, I'd think. Probably just need to copy the file to `%localappdata%` and then rewrite the path to the image in the settings. Might want to do some extra logic that disables the button: * When set to `desktopWallpaper` * When it's a `ms-appx` path (from the package)
Author
Owner

@hanpuliu-charles commented on GitHub (Jun 9, 2023):

Hi, I would like to try and take up this issue, but before that, is there more that I should know about the behavior of the button(for example, should it rename the file when it copies it), should it create a folder for these backgrounds in the localappdata directory)? Thanks!

@hanpuliu-charles commented on GitHub (Jun 9, 2023): Hi, I would like to try and take up this issue, but before that, is there more that I should know about the behavior of the button(for example, should it rename the file when it copies it), should it create a folder for these backgrounds in the localappdata directory)? Thanks!
Author
Owner

@jkellogg01 commented on GitHub (Jun 11, 2023):

I have some questions about this feature as well.

  • Is this just going to copy the path of the image into a line in the config file for later use, or is it actually making a copy of the image?
  • Is whoever works on this feature also adding some sort of menu to select from previously-saved images, or just developing a way to save them in the first place?
@jkellogg01 commented on GitHub (Jun 11, 2023): I have some questions about this feature as well. - Is this just going to copy the _path_ of the image into a line in the config file for later use, or is it actually making a copy of the image? - Is whoever works on this feature also adding some sort of menu to select from previously-saved images, or just developing a way to save them in the first place?
Author
Owner

@jkellogg01 commented on GitHub (Jun 12, 2023):

Probably just need to copy the file to %localappdata% and then rewrite the path to the image in the settings.

Ah, I missed this part.

@jkellogg01 commented on GitHub (Jun 12, 2023): >Probably just need to copy the file to `%localappdata%` and then rewrite the path to the image in the settings. Ah, I missed this part.
Author
Owner

@zadjii-msft commented on GitHub (Aug 28, 2023):

Moving some notes:


We discussed this feature as a team, and here's where we ended up:

We think that this is somewhere in the right direction (making the background image part of the settings, so that users can move it around or move their settings files around without losing the background image file.) However, due to some poor specification on our side, it's not along the path to reality.

We recently introduced portable mode--a mode where settings are stored alongside the .exe file rather than in a central location--and that revealed a number of other "relative" file paths that no longer work properly like experimental.pixelShaderPath and icon.

I think a full solution to the problem would require two design changes for Terminal:

  • The ability to specify settings-relative paths for anything in the Settings file that uses paths.
  • A better Background and Icon picker experience that automatically saves the background image in a settings-relative location.

The first is annoying because we don't have full control over every place those paths (background, icon, pixelShaderPath) are used. We would need to audit every use. Some of them support environment variables, and some do not. It is all over the place!

The second is a "nice to have," in my opinion. The team may not agree. I think it would be very helpful if the Background and Icon pickers automatically copied the images into the settings folder. If a user wanted an absolute path, they could of course set it themselves!

I think we mis-fired a little bit when we called this an "easy" issue. I believe that tag was assigned before we added portable mode, and before we had to really think about how it fits into our ecosystem.

@zadjii-msft commented on GitHub (Aug 28, 2023): Moving some notes: --- We discussed this feature as a team, and here's where we ended up: We think that this is somewhere in the right direction (making the background image part of the settings, so that users can move it around or move their settings files around without losing the background image file.) However, due to some poor specification _on our side,_ it's not along the path to reality. We recently introduced portable mode--a mode where settings are stored alongside the `.exe` file rather than in a central location--and that revealed a number of other "relative" file paths that no longer work properly like `experimental.pixelShaderPath` and `icon`. I think a full solution to the problem would require two design changes for Terminal: - The ability to specify settings-relative paths for _anything in the Settings file that uses paths_. - A better Background and Icon picker experience that _automatically_ saves the background image in a settings-relative location. The first is annoying because we don't have full control over every place those paths (background, icon, pixelShaderPath) are used. We would need to audit every use. Some of them support environment variables, and some do not. It is all over the place! The second is a "nice to have," in my opinion. The team may not agree. I think it would be very helpful if the Background and Icon pickers automatically copied the images into the settings folder. _If a user wanted an absolute path, they could of course set it themselves!_ I think we mis-fired a little bit when we called this an "easy" issue. I believe that tag was assigned before we added portable mode, and before we had to really think about how it fits into our ecosystem.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#17356