diff --git a/Flow.Launcher/Flow.Launcher.csproj b/Flow.Launcher/Flow.Launcher.csproj
index 575bbc10b..7e06e24be 100644
--- a/Flow.Launcher/Flow.Launcher.csproj
+++ b/Flow.Launcher/Flow.Launcher.csproj
@@ -38,6 +38,13 @@
false
+
+ ARM64;$(DefineConstants)
+
+
+ ARM64;$(DefineConstants)
+
+
diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml
index f7d5bdb18..87d03a374 100644
--- a/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml
+++ b/Plugins/Flow.Launcher.Plugin.Explorer/Languages/en.xaml
@@ -127,6 +127,7 @@
Failed to load Everything SDK
Warning: Everything service is not running
+ ARM64 is not supported for everything.
Error while querying Everything
Sort By
Name
diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Main.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Main.cs
index e4056131d..8a39c8665 100644
--- a/Plugins/Flow.Launcher.Plugin.Explorer/Main.cs
+++ b/Plugins/Flow.Launcher.Plugin.Explorer/Main.cs
@@ -42,11 +42,13 @@ namespace Flow.Launcher.Plugin.Explorer
contextMenu = new ContextMenu(Context, Settings, viewModel);
searchManager = new SearchManager(Settings, Context);
ResultManager.Init(Context, Settings);
-
+
SortOptionTranslationHelper.API = context.API;
+#if !ARM64
EverythingApiDllImport.Load(Path.Combine(Context.CurrentPluginMetadata.PluginDirectory, "EverythingSDK",
Environment.Is64BitProcess ? "x64" : "x86"));
+#endif
return Task.CompletedTask;
}
@@ -75,7 +77,7 @@ namespace Flow.Launcher.Plugin.Explorer
IcoPath = e is EngineNotAvailableException { ErrorIcon: { } iconPath }
? iconPath
: Constants.GeneralSearchErrorImagePath,
- AsyncAction = e is EngineNotAvailableException {Action: { } action}
+ AsyncAction = e is EngineNotAvailableException { Action: { } action }
? action
: _ =>
{
diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchManager.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchManager.cs
index 6c9155539..dac84eba4 100644
--- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchManager.cs
+++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/Everything/EverythingSearchManager.cs
@@ -20,6 +20,15 @@ namespace Flow.Launcher.Plugin.Explorer.Search.Everything
private async ValueTask ThrowIfEverythingNotAvailableAsync(CancellationToken token = default)
{
+#if ARM64
+ throw new EngineNotAvailableException(
+ Enum.GetName(Settings.IndexSearchEngineOption.Everything)!,
+ "ARM64 is not supported",
+ Main.Context.API.GetTranslation("flowlauncher_plugin_everything_not_support_arm64"),
+ Constants.EverythingErrorImagePath,
+ _ => ValueTask.FromResult(false));
+#endif
+
try
{
if (!await EverythingApi.IsEverythingRunningAsync(token))
@@ -42,7 +51,9 @@ namespace Flow.Launcher.Plugin.Explorer.Search.Everything
private async ValueTask ClickToInstallEverythingAsync(ActionContext _)
{
- var installedPath = await EverythingDownloadHelper.PromptDownloadIfNotInstallAsync(Settings.EverythingInstalledPath, Main.Context.API);
+ var installedPath =
+ await EverythingDownloadHelper.PromptDownloadIfNotInstallAsync(Settings.EverythingInstalledPath,
+ Main.Context.API);
if (installedPath == null)
{
@@ -57,17 +68,18 @@ namespace Flow.Launcher.Plugin.Explorer.Search.Everything
return true;
}
- public async IAsyncEnumerable SearchAsync(string search, [EnumeratorCancellation] CancellationToken token)
+ public async IAsyncEnumerable SearchAsync(string search,
+ [EnumeratorCancellation] CancellationToken token)
{
await ThrowIfEverythingNotAvailableAsync(token);
if (token.IsCancellationRequested)
yield break;
- var option = new EverythingSearchOption(search,
- Settings.SortOption,
- MaxCount: Settings.MaxResult,
- IsFullPathSearch: Settings.EverythingSearchFullPath,
+ var option = new EverythingSearchOption(search,
+ Settings.SortOption,
+ MaxCount: Settings.MaxResult,
+ IsFullPathSearch: Settings.EverythingSearchFullPath,
IsRunCounterEnabled: Settings.EverythingEnableRunCount);
await foreach (var result in EverythingApi.SearchAsync(option, token))
@@ -110,7 +122,8 @@ namespace Flow.Launcher.Plugin.Explorer.Search.Everything
}
}
- public async IAsyncEnumerable EnumerateAsync(string path, string search, bool recursive, [EnumeratorCancellation] CancellationToken token)
+ public async IAsyncEnumerable EnumerateAsync(string path, string search, bool recursive,
+ [EnumeratorCancellation] CancellationToken token)
{
await ThrowIfEverythingNotAvailableAsync(token);
diff --git a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs
index 8fd167476..c6daafdd7 100644
--- a/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs
+++ b/Plugins/Flow.Launcher.Plugin.Explorer/Search/SearchManager.cs
@@ -99,7 +99,7 @@ namespace Flow.Launcher.Plugin.Explorer.Search
case false
when ActionKeywordMatch(query, Settings.ActionKeyword.IndexSearchActionKeyword)
|| ActionKeywordMatch(query, Settings.ActionKeyword.SearchActionKeyword):
-
+
searchResults = Settings.IndexProvider.SearchAsync(query.Search, token);
engineName = Enum.GetName(Settings.IndexSearchEngine);
break;