One-stop font color (theme) tweak-through-app-layers feasibility at config.json #18678

Closed
opened 2026-01-31 06:21:06 +00:00 by claunia · 2 comments
Owner

Originally created by @kazuf3 on GitHub (Oct 13, 2022).

Description of the new feature/enhancement

TL; DR
Make color theme tweaks one-stop at config.json.

Currently there are many choices where user make the font color selection in Terminal.
For example, an user may pick font color in their CUI text editor, shell config, Tmux config or Terminal config.
Let's say a user picks solarized dark theme in one's config.json, but his different layers of apps overwrite them respectively, so one won't see solarized dark theme in his editor.

Proposed technical implementation details (optional)

Pass current color theme variables from config.json into corresponding environment variables to WSL2.

Originally created by @kazuf3 on GitHub (Oct 13, 2022). <!-- 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING: 1. If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement. 2. If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement. 3. If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number). 4. If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement. 5. If I file something completely blank in the body, the core team may close my issue without further explanation or engagement. All good? Then proceed! --> # Description of the new feature/enhancement TL; DR Make color theme tweaks one-stop at `config.json`. Currently there are many choices where user make the font color selection in Terminal. For example, an user may pick font color in their CUI text editor, shell config, Tmux config or Terminal config. Let's say a user picks solarized dark theme in one's `config.json`, but his different layers of apps overwrite them respectively, so one won't see solarized dark theme in his editor. <!-- A clear and concise description of what the problem is that the new feature would solve. Describe why and how a user would use this new functionality (if applicable). --> # Proposed technical implementation details (optional) Pass current color theme variables from `config.json` into corresponding environment variables to WSL2. <!-- A clear and concise description of what you want to happen. -->
claunia added the Issue-FeatureArea-OutputNeeds-Tag-FixProduct-Terminal labels 2026-01-31 06:21:06 +00:00
Author
Owner

@carlos-zamora commented on GitHub (Oct 18, 2022):

I could be wrong, but I don't think there's a reasonable way to accomplish this. Windows Terminal lets you define the 16 colors in the color table, right? So if the connected shell requests "black" or "bright black", I assume the shell resolves it using the color table we provided and outputs the text in the desired color.

Now, if the shell outputs text in a specific RGB format, we can't really get in the way of that. Tmux, for example, would probably require some kind of initialization such that the color scheme from the Windows Terminal profile is converted and injected into Tmux's config file so that it uses that.

To make things worse, if there's one tmux.exe, how would this work with multiple WT profiles running tmux across different panes/tabs?

I like the idea and appreciate the feedback request, but I'm going to close this as not planned. Happy to reopen it if I'm wrong though (totally possible).

@carlos-zamora commented on GitHub (Oct 18, 2022): I could be wrong, but I don't think there's a reasonable way to accomplish this. Windows Terminal lets you define the 16 colors in the color table, right? So if the connected shell requests "black" or "bright black", I assume the shell resolves it using the color table we provided and outputs the text in the desired color. Now, if the shell outputs text in a specific RGB format, we can't really get in the way of that. Tmux, for example, would probably require some kind of initialization such that the color scheme from the Windows Terminal profile is converted and injected into Tmux's config file so that it uses that. To make things worse, if there's one tmux.exe, how would this work with multiple WT profiles running tmux across different panes/tabs? I like the idea and appreciate the feedback request, but I'm going to close this as not planned. Happy to reopen it if I'm wrong though (totally possible).
Author
Owner

@kazuf3 commented on GitHub (Oct 18, 2022):

@carlos-zamora

gotcha.

Could you confirm that there are no way/plans to pass environment variables from config.json to WSL2 guest, not limited to this use case? At least it would help pass color scheme to editors inside of WSL2 guest.

@kazuf3 commented on GitHub (Oct 18, 2022): @carlos-zamora gotcha. Could you confirm that there are no way/plans to pass environment variables from `config.json` to WSL2 guest, not limited to this use case? At least it would help pass color scheme to editors inside of WSL2 guest.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#18678