diff --git a/Flow.Launcher.Infrastructure/Win32Helper.cs b/Flow.Launcher.Infrastructure/Win32Helper.cs index 815f31280..2df632545 100644 --- a/Flow.Launcher.Infrastructure/Win32Helper.cs +++ b/Flow.Launcher.Infrastructure/Win32Helper.cs @@ -21,6 +21,10 @@ namespace Flow.Launcher.Infrastructure { #region Blur Handling + public static bool IsWindows11() + { + return Environment.OSVersion.Version.Major >= 10 && Environment.OSVersion.Version.Build >= 22000; + } public static bool IsBackdropSupported() { // Mica and Acrylic only supported Windows 11 22000+ diff --git a/Flow.Launcher/SettingPages/ViewModels/SettingsPaneGeneralViewModel.cs b/Flow.Launcher/SettingPages/ViewModels/SettingsPaneGeneralViewModel.cs index 2697a508e..13ae65894 100644 --- a/Flow.Launcher/SettingPages/ViewModels/SettingsPaneGeneralViewModel.cs +++ b/Flow.Launcher/SettingPages/ViewModels/SettingsPaneGeneralViewModel.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Linq; using System.Windows.Forms; using CommunityToolkit.Mvvm.Input; using Flow.Launcher.Core; @@ -205,7 +206,18 @@ public partial class SettingsPaneGeneralViewModel : BaseModel } } - public bool KoreanIMERegistryKeyExists => Win32Helper.IsKoreanIMEExist(); + public bool KoreanIMERegistryKeyExists + { + get + { + bool registryKeyExists = Win32Helper.IsKoreanIMEExist(); + bool koreanLanguageInstalled = InputLanguage.InstalledInputLanguages.Cast().Any(lang => lang.Culture.Name.StartsWith("ko")); + bool isWindows11 = Win32Helper.IsWindows11(); + + // Return true if Windows 11 with Korean IME installed, or if the registry key exists + return (isWindows11 && koreanLanguageInstalled) || registryKeyExists; + } + } public bool KoreanIMERegistryValueIsZero {