From 2dee4f87fd4254e027fb2be3c101028d524a51ed Mon Sep 17 00:00:00 2001 From: Matin Aniss <76515905+MatinAniss@users.noreply.github.com> Date: Wed, 26 Jun 2024 00:51:00 +1000 Subject: [PATCH] windows: Fix title bar font for Windows 10 (#13425) This should fix the title bar font for Windows 10 as `Segoe Fluent Icons` is only for Windows 11 and Windows 10 should be using `Segoe MDL2 Assets`, I haven't tested this myself on a Windows 10 machine but the fonts work fine. Release Notes: - N/A --- .../title_bar/windows_window_controls.rs | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/crates/ui/src/components/title_bar/windows_window_controls.rs b/crates/ui/src/components/title_bar/windows_window_controls.rs index 7c12395168..d8d91773d2 100644 --- a/crates/ui/src/components/title_bar/windows_window_controls.rs +++ b/crates/ui/src/components/title_bar/windows_window_controls.rs @@ -11,6 +11,25 @@ impl WindowsWindowControls { pub fn new(button_height: Pixels) -> Self { Self { button_height } } + + #[cfg(not(target_os = "windows"))] + fn get_font() -> &'static str { + "Segoe Fluent Icons" + } + + #[cfg(target_os = "windows")] + fn get_font() -> &'static str { + use windows::Wdk::System::SystemServices::RtlGetVersion; + + let mut version = unsafe { std::mem::zeroed() }; + let status = unsafe { RtlGetVersion(&mut version) }; + + if status.is_ok() && version.dwBuildNumber >= 22000 { + "Segoe Fluent Icons" + } else { + "Segoe MDL2 Assets" + } + } } impl RenderOnce for WindowsWindowControls { @@ -39,6 +58,7 @@ impl RenderOnce for WindowsWindowControls { div() .id("windows-window-controls") + .font_family(Self::get_font()) .flex() .flex_row() .justify_center() @@ -110,7 +130,6 @@ impl RenderOnce for WindowsCaptionButton { .content_center() .w(width) .h_full() - .font_family("Segoe Fluent Icons") .text_size(px(10.0)) .hover(|style| style.bg(self.hover_background_color)) .active(|style| {