theme: Add support for setting light/dark icon themes (#24702)
This PR adds support for configuring both a light and dark icon theme in `settings.json`. In addition to accepting just an icon theme name, the `icon_theme` field now also accepts an object in the following form: ```jsonc { "icon_theme": { "mode": "system", "light": "Zed (Default)", "dark": "Zed (Default)" } } ``` Both `light` and `dark` are required, and indicate which icon theme should be used when the system is in light mode and dark mode, respectively. The `mode` field is optional and indicates which icon theme should be used: - `"system"` - Use the icon theme that corresponds to the system's appearance. - `"light"` - Use the icon theme indicated by the `light` field. - `"dark"` - Use the icon theme indicated by the `dark` field. Closes https://github.com/zed-industries/zed/issues/24695. Release Notes: - Added support for configuring both a light and dark icon theme and switching between them based on system preference.
This commit is contained in:
parent
148547ecd1
commit
cc931a8fcc
3 changed files with 142 additions and 22 deletions
|
@ -1082,6 +1082,7 @@ impl Workspace {
|
|||
*SystemAppearance::global_mut(cx) = SystemAppearance(window_appearance.into());
|
||||
|
||||
ThemeSettings::reload_current_theme(cx);
|
||||
ThemeSettings::reload_current_icon_theme(cx);
|
||||
}),
|
||||
cx.on_release(move |this, cx| {
|
||||
this.app_state.workspace_store.update(cx, move |store, _| {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue