diff --git a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
index 892045994bd..696717b2aad 100644
--- a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
+++ b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
@@ -60,8 +60,11 @@ public string Language
get => _language;
set
{
- _language = value;
- OnPropertyChanged();
+ if (_language != value)
+ {
+ _language = value;
+ OnPropertyChanged();
+ }
}
}
public string Theme
@@ -69,7 +72,7 @@ public string Theme
get => _theme;
set
{
- if (value != _theme)
+ if (_theme != value)
{
_theme = value;
OnPropertyChanged();
@@ -297,9 +300,12 @@ public SearchPrecisionScore QuerySearchPrecision
get => _querySearchPrecision;
set
{
- _querySearchPrecision = value;
- if (_stringMatcher != null)
- _stringMatcher.UserSettingSearchPrecision = value;
+ if (_querySearchPrecision != value)
+ {
+ _querySearchPrecision = value;
+ if (_stringMatcher != null)
+ _stringMatcher.UserSettingSearchPrecision = value;
+ }
}
}
@@ -366,13 +372,30 @@ public bool HideNotifyIcon
get => _hideNotifyIcon;
set
{
- _hideNotifyIcon = value;
- OnPropertyChanged();
+ if (_hideNotifyIcon != value)
+ {
+ _hideNotifyIcon = value;
+ OnPropertyChanged();
+ }
}
}
public bool LeaveCmdOpen { get; set; }
public bool HideWhenDeactivated { get; set; } = true;
+ private bool _showAtTopmost = true;
+ public bool ShowAtTopmost
+ {
+ get => _showAtTopmost;
+ set
+ {
+ if (_showAtTopmost != value)
+ {
+ _showAtTopmost = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+
public bool SearchQueryResultsWithDelay { get; set; }
public int SearchDelayTime { get; set; } = 150;
diff --git a/Flow.Launcher/Languages/en.xaml b/Flow.Launcher/Languages/en.xaml
index 28673c753b6..ad099117554 100644
--- a/Flow.Launcher/Languages/en.xaml
+++ b/Flow.Launcher/Languages/en.xaml
@@ -131,6 +131,8 @@
Show History Results in Home Page
Maximum History Results Shown in Home Page
This can only be edited if plugin supports Home feature and Home Page is enabled.
+ Show Search Window at Topmost
+ Show search window above other windows
Search Plugin
diff --git a/Flow.Launcher/MainWindow.xaml.cs b/Flow.Launcher/MainWindow.xaml.cs
index f15091e4a8d..890ff041455 100644
--- a/Flow.Launcher/MainWindow.xaml.cs
+++ b/Flow.Launcher/MainWindow.xaml.cs
@@ -84,6 +84,8 @@ public MainWindow()
_viewModel = Ioc.Default.GetRequiredService();
DataContext = _viewModel;
+ Topmost = _settings.ShowAtTopmost;
+
InitializeComponent();
UpdatePosition();
@@ -289,6 +291,9 @@ private void OnLoaded(object sender, RoutedEventArgs _)
_viewModel.QueryResults();
}
break;
+ case nameof(Settings.ShowAtTopmost):
+ Topmost = _settings.ShowAtTopmost;
+ break;
}
};
diff --git a/Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml b/Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml
index 7ca9941e692..35fb0fce613 100644
--- a/Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml
+++ b/Flow.Launcher/SettingPages/Views/SettingsPaneGeneral.xaml
@@ -77,6 +77,17 @@
OnContent="{DynamicResource enable}" />
+
+
+
+