ZIm/crates
Marshall Bowers c322179bb9
Initialize the SystemAppearance using the app's global window appearance (#7508)
This PR changes our approach to initializing the `SystemAppearance` so
that we can do it earlier in the startup process.

Previously we were using the appearance from the window, meaning that we
couldn't initialize the value until we first opened the window.

Now we read the `window_appearance` from the `AppContext`. On macOS this
is backed by the
[`effectiveAppearance`](https://developer.apple.com/documentation/appkit/nsapplication/2967171-effectiveappearance)
on the `NSApplication`.

We currently still watch for changes to the appearance at the window
level, as the only hook I could find in the documentation is
[`viewDidChangeEffectiveAppearance`](https://developer.apple.com/documentation/appkit/nsview/2977088-viewdidchangeeffectiveappearance),
which is at the `NSView` level.

In my testing this makes it so Zed appropriately chooses the correct
light/dark theme on startup.

Release Notes:

- N/A
2024-02-07 11:51:18 -05:00
..
activity_indicator chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
ai fix: use OPEN_AI_API_URL (#7484) 2024-02-07 10:13:52 +01:00
assets chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
assistant text rendering: support strikethroughs (#7363) 2024-02-07 16:51:27 +02:00
audio chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
auto_update chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
breadcrumbs chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
call chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
channel Revert "Use Fx* variants of HashMap and HashSet everywhere in Zed" (#7492) 2024-02-07 13:16:22 +01:00
cli chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
client Revert "Use Fx* variants of HashMap and HashSet everywhere in Zed" (#7492) 2024-02-07 13:16:22 +01:00
clock Clean up Cargo.toml files (#7044) 2024-01-29 23:47:20 -05:00
collab Remove Default impl for ConnectionId (#7452) 2024-02-06 15:45:15 -05:00
collab_ui Initialize the SystemAppearance using the app's global window appearance (#7508) 2024-02-07 11:51:18 -05:00
collections gpui: Add Global marker trait (#7095) 2024-01-30 14:08:20 -05:00
color chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
command_palette chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
copilot chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
copilot_ui chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
db chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
diagnostics chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
editor text rendering: support strikethroughs (#7363) 2024-02-07 16:51:27 +02:00
feature_flags chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
feedback chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
file_finder chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
fs Use try_from_bytes for windows build (#7500) 2024-02-07 11:27:26 -05:00
fsevent fix: isolate macos-specific dependencies (#6854) 2024-01-27 13:38:55 +01:00
fuzzy chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
git chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
go_to_line chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
gpui Initialize the SystemAppearance using the app's global window appearance (#7508) 2024-02-07 11:51:18 -05:00
gpui_macros Sort dependencies in Cargo.toml files (#7126) 2024-01-30 21:41:29 -05:00
install_cli chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
journal chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
language chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
language_selector chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
language_tools chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
live_kit_client chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
live_kit_server Sort dependencies in Cargo.toml files (#7126) 2024-01-30 21:41:29 -05:00
lsp chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
markdown_preview chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
media Sort dependencies in Cargo.toml files (#7126) 2024-01-30 21:41:29 -05:00
menu chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
multi_buffer chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
node_runtime chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
notifications chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
outline text rendering: support strikethroughs (#7363) 2024-02-07 16:51:27 +02:00
picker chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
plugin chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
plugin_macros Sort dependencies in Cargo.toml files (#7126) 2024-01-30 21:41:29 -05:00
plugin_runtime Sort dependencies in Cargo.toml files (#7126) 2024-01-30 21:41:29 -05:00
prettier chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
project chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
project_panel Revert "Use Fx* variants of HashMap and HashSet everywhere in Zed" (#7492) 2024-02-07 13:16:22 +01:00
project_symbols chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
quick_action_bar chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
recent_projects chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
refineable Sort dependencies in Cargo.toml files (#7126) 2024-01-30 21:41:29 -05:00
release_channel chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
rich_text chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
rope chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
rpc Remove Default impl for ConnectionId (#7452) 2024-02-06 15:45:15 -05:00
search text rendering: support strikethroughs (#7363) 2024-02-07 16:51:27 +02:00
semantic_index Revert "Use Fx* variants of HashMap and HashSet everywhere in Zed" (#7492) 2024-02-07 13:16:22 +01:00
settings chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
snippet Clean up Cargo.toml files (#7044) 2024-01-29 23:47:20 -05:00
sqlez Revert "Use Fx* variants of HashMap and HashSet everywhere in Zed" (#7492) 2024-02-07 13:16:22 +01:00
sqlez_macros chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
story chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
storybook chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
sum_tree Clean up Cargo.toml files (#7044) 2024-01-29 23:47:20 -05:00
terminal Revert "Use Fx* variants of HashMap and HashSet everywhere in Zed" (#7492) 2024-02-07 13:16:22 +01:00
terminal_view text rendering: support strikethroughs (#7363) 2024-02-07 16:51:27 +02:00
text chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
theme Initialize the SystemAppearance using the app's global window appearance (#7508) 2024-02-07 11:51:18 -05:00
theme_importer theme_importer: Read theme name from VS Code theme (#7489) 2024-02-07 10:13:46 -05:00
theme_selector chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
ui chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
util Revert "Use Fx* variants of HashMap and HashSet everywhere in Zed" (#7492) 2024-02-07 13:16:22 +01:00
vcs_menu chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
vim Fix Vim 'e' Behavior When Boundary Is Last Point on Line (#7424) 2024-02-06 20:25:56 -07:00
welcome chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00
workspace Initialize the SystemAppearance using the app's global window appearance (#7508) 2024-02-07 11:51:18 -05:00
zed Initialize the SystemAppearance using the app's global window appearance (#7508) 2024-02-07 11:51:18 -05:00
zed_actions chore: Move workspace dependencies to workspace.dependencies (#7454) 2024-02-06 20:41:36 +01:00