New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Terminal decoration icon configuration doesn't go well with icon theming #156503
Comments
Requested the aliases in microsoft/vscode-codicons#126 |
We do allow switching icons for terminals in this way which I think is fine as they're very temporal: I see what you're saying here though, let's remove the setting and leave it up to the icon theme 👍. We have this setting now so it solves that part of what these icon settings allowed:
|
I was on vacation so I couldn't jump in here. It was not necessary to request new codicons or codicon aliases unless a new icon shape was needed, e.g. for a concept we didn't have yet. There still seems to be a confusion of Codicons vs product icon icons. The Codicon library is a set of default icons that are part of the Codicon font. We use these as default icons in VS Code. See the spec of Codicon:
codicon aliases should be component agnostic (no 'terminal', 'debug'). The componnet specific ids go in the product icon registry. These are the ids that wil be used in a product icon theme when styling an icon. Product icon ids are component specific and are defined in the component itself, e.g. as done here:
This defines a new product icon When using these icons in code, Some years ago, all our components directly referenced codicons and their ids. When adding icon theming support we added this indirection and I and @misolori migrated most components, including terminal. But given the huge number of icon references that work is still not complete and there are still plenty of references to Codicon. That's why a codicon and a product icon (
FYI @misolori @daviddossett |
@aeschli FYI I was following what seemed to be the thing to do as demonstrated by the vscode/src/vs/base/common/codicons.ts Lines 100 to 102 in e55863c
Could we remove those and similar examples and/or add a |
Good point, we should clean these up. The
|
The settings to select an codicon for a decoration are not playing well with our product icon theming approach.
We want that a product icon theme can style all icons of our UI with a new icons. Each icon that we show should be defined with a component specific name
E.g.
terminal-decoration-icon
,terminal-decoration-error-icon
, ...That way the theme can come up with a custom icon for each icon location
The base icon names (
circle-outline
,primitive-dot
, ...) should not be used directly, only as defaults, otherwise it gets complicated for a theme to change an icon as it affects many places, unknown to the theme. What might look good with our codicon based product icon theme, might look wrong with a theme that uses a different visual forprimitive-dot
I suggest to remove the settings as we don't do that at other places. Instead we should refer to product icon themes as the way to change icons.
The text was updated successfully, but these errors were encountered: