From e5c330af073c8056630b781fa9cd4fc421fffc26 Mon Sep 17 00:00:00 2001 From: Tomas Raies Date: Tue, 2 Jun 2020 23:14:37 -0700 Subject: [PATCH] Steal focus when bringing up the Launcher prompt --- src/modules/launcher/Wox/MainWindow.xaml.cs | 7 +++++++ src/modules/launcher/Wox/ViewModel/MainViewModel.cs | 3 +++ 2 files changed, 10 insertions(+) diff --git a/src/modules/launcher/Wox/MainWindow.xaml.cs b/src/modules/launcher/Wox/MainWindow.xaml.cs index b56904f8a433..89c38b2f8a92 100644 --- a/src/modules/launcher/Wox/MainWindow.xaml.cs +++ b/src/modules/launcher/Wox/MainWindow.xaml.cs @@ -35,6 +35,7 @@ public MainWindow(Settings settings, MainViewModel mainVM) DataContext = mainVM; _viewModel = mainVM; _settings = settings; + _viewModel.WindowChangedToVisible += OnWindowChangedToVisible; InitializeComponent(); } public MainWindow() @@ -239,5 +240,11 @@ private void OnTextChanged(object sender, TextChangedEventArgs e) { } + + // Steal focus when the launcher prompt is visible again. + private void OnWindowChangedToVisible(object sender, EventArgs e) + { + Focus(); + } } } \ No newline at end of file diff --git a/src/modules/launcher/Wox/ViewModel/MainViewModel.cs b/src/modules/launcher/Wox/ViewModel/MainViewModel.cs index 677a9479d431..474926763bcc 100644 --- a/src/modules/launcher/Wox/ViewModel/MainViewModel.cs +++ b/src/modules/launcher/Wox/ViewModel/MainViewModel.cs @@ -47,6 +47,8 @@ public class MainViewModel : BaseModel, ISavable #endregion + public event EventHandler WindowChangedToVisible; + #region Constructor public MainViewModel(Settings settings) @@ -619,6 +621,7 @@ private void ToggleWox() if (MainWindowVisibility != Visibility.Visible) { MainWindowVisibility = Visibility.Visible; + WindowChangedToVisible?.Invoke(this, new EventArgs()); } else {