From 9bf75688fa88b9a3f7cfe361a7f5afc2b9ddbe42 Mon Sep 17 00:00:00 2001
From: Garulf <535299+Garulf@users.noreply.github.com>
Date: Sun, 19 Dec 2021 09:54:41 -0500
Subject: [PATCH 1/6] Add offset
---
 Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
index 08ee8571e67..3243ab9032f 100644
--- a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
+++ b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
@@ -53,7 +53,7 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
                 // Check if Text will be larger then our QueryTextBox
                 System.Windows.Media.Typeface typeface = new Typeface(QueryTextBox.FontFamily, QueryTextBox.FontStyle, QueryTextBox.FontWeight, QueryTextBox.FontStretch);
                 System.Windows.Media.FormattedText ft = new FormattedText(QueryTextBox.Text, System.Globalization.CultureInfo.CurrentCulture, System.Windows.FlowDirection.LeftToRight, typeface, QueryTextBox.FontSize, Brushes.Black);
-                if (ft.Width > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
+                if ((ft.Width + 30) > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
                 {
                     return string.Empty;
                 };
From aa850ff0e82caaa58f263fd52ddca389e3400465 Mon Sep 17 00:00:00 2001
From: Garulf <535299+Garulf@users.noreply.github.com>
Date: Sun, 19 Dec 2021 10:15:39 -0500
Subject: [PATCH 2/6] Incease offset to fix context menu triggering alignment
 issue
---
 Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
index 3243ab9032f..364a17d2173 100644
--- a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
+++ b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
@@ -53,7 +53,7 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
                 // Check if Text will be larger then our QueryTextBox
                 System.Windows.Media.Typeface typeface = new Typeface(QueryTextBox.FontFamily, QueryTextBox.FontStyle, QueryTextBox.FontWeight, QueryTextBox.FontStretch);
                 System.Windows.Media.FormattedText ft = new FormattedText(QueryTextBox.Text, System.Globalization.CultureInfo.CurrentCulture, System.Windows.FlowDirection.LeftToRight, typeface, QueryTextBox.FontSize, Brushes.Black);
-                if ((ft.Width + 30) > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
+                if ((ft.Width + 40) > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
                 {
                     return string.Empty;
                 };
From aafbdebb9b8dcca8bfeffaf80685f760f1dbcb36 Mon Sep 17 00:00:00 2001
From: Garulf <535299+Garulf@users.noreply.github.com>
Date: Mon, 20 Dec 2021 02:20:26 -0500
Subject: [PATCH 3/6] Allow adjustment of offset in settings file
---
 Flow.Launcher.Infrastructure/UserSettings/Settings.cs   | 1 +
 Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs | 8 ++++++--
 Flow.Launcher/MainWindow.xaml                           | 1 +
 Flow.Launcher/ViewModel/MainViewModel.cs                | 8 ++++++++
 4 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
index 8ecd6dc4b76..b02ef0270d2 100644
--- a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
+++ b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
@@ -15,6 +15,7 @@ public class Settings : BaseModel
         private string language = "en";
         public string Hotkey { get; set; } = $"{KeyConstant.Alt} + {KeyConstant.Space}";
         public string OpenResultModifiers { get; set; } = KeyConstant.Alt;
+        public int SuggestionTextOffset { get; set; } = 40;
         public string ColorScheme { get; set; } = "System";
         public bool ShowOpenResultHotkey { get; set; } = true;
         public double WindowSize { get; set; } = 580;
diff --git a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
index 364a17d2173..fd1e0de1023 100644
--- a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
+++ b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
@@ -12,7 +12,8 @@ public class QuerySuggestionBoxConverter : IMultiValueConverter
     {
         public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
         {
-            if (values.Length != 3)
+            
+            if (values.Length != 4)
             {
                 return string.Empty;
             }
@@ -53,7 +54,10 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
                 // Check if Text will be larger then our QueryTextBox
                 System.Windows.Media.Typeface typeface = new Typeface(QueryTextBox.FontFamily, QueryTextBox.FontStyle, QueryTextBox.FontWeight, QueryTextBox.FontStretch);
                 System.Windows.Media.FormattedText ft = new FormattedText(QueryTextBox.Text, System.Globalization.CultureInfo.CurrentCulture, System.Windows.FlowDirection.LeftToRight, typeface, QueryTextBox.FontSize, Brushes.Black);
-                if ((ft.Width + 40) > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
+
+                var FormatOffset = (int)values[3];
+
+                if ((ft.Width + FormatOffset) > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
                 {
                     return string.Empty;
                 };
diff --git a/Flow.Launcher/MainWindow.xaml b/Flow.Launcher/MainWindow.xaml
index 75120322f7e..2c0a171446b 100644
--- a/Flow.Launcher/MainWindow.xaml
+++ b/Flow.Launcher/MainWindow.xaml
@@ -164,6 +164,7 @@
                                 
                                 
                                 
+                                
                             
                         
                     
diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs
index abf3a1d14ea..de44c6dd736 100644
--- a/Flow.Launcher/ViewModel/MainViewModel.cs
+++ b/Flow.Launcher/ViewModel/MainViewModel.cs
@@ -84,6 +84,7 @@ public MainViewModel(Settings settings)
             InitializeKeyCommands();
             RegisterViewUpdate();
             RegisterResultsUpdatedEvent();
+            SetSuggestionTextOffset();
 
             SetOpenResultModifiers();
         }
@@ -395,6 +396,8 @@ private ResultsViewModel SelectedResults
 
         public double MainWindowWidth => _settings.WindowSize;
 
+        public int SuggestionTextOffset { get; set; }
+
         public ICommand EscCommand { get; set; }
         public ICommand SelectNextItemCommand { get; set; }
         public ICommand SelectPrevItemCommand { get; set; }
@@ -720,6 +723,11 @@ private void SetOpenResultModifiers()
             OpenResultCommandModifiers = _settings.OpenResultModifiers ?? DefaultOpenResultModifiers;
         }
 
+        private void SetSuggestionTextOffset()
+        {
+            SuggestionTextOffset = _settings.SuggestionTextOffset;
+        }
+
         public void ToggleFlowLauncher()
         {
             if (!MainWindowVisibilityStatus)
From c3ceed12713b77686122648d473923f7ac504bad Mon Sep 17 00:00:00 2001
From: Garulf <535299+Garulf@users.noreply.github.com>
Date: Mon, 20 Dec 2021 02:27:18 -0500
Subject: [PATCH 4/6] Revert "Allow adjustment of offset in settings file"
This reverts commit aafbdebb9b8dcca8bfeffaf80685f760f1dbcb36.
---
 Flow.Launcher.Infrastructure/UserSettings/Settings.cs   | 1 -
 Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs | 8 ++------
 Flow.Launcher/MainWindow.xaml                           | 1 -
 Flow.Launcher/ViewModel/MainViewModel.cs                | 8 --------
 4 files changed, 2 insertions(+), 16 deletions(-)
diff --git a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
index b02ef0270d2..8ecd6dc4b76 100644
--- a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
+++ b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs
@@ -15,7 +15,6 @@ public class Settings : BaseModel
         private string language = "en";
         public string Hotkey { get; set; } = $"{KeyConstant.Alt} + {KeyConstant.Space}";
         public string OpenResultModifiers { get; set; } = KeyConstant.Alt;
-        public int SuggestionTextOffset { get; set; } = 40;
         public string ColorScheme { get; set; } = "System";
         public bool ShowOpenResultHotkey { get; set; } = true;
         public double WindowSize { get; set; } = 580;
diff --git a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
index fd1e0de1023..364a17d2173 100644
--- a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
+++ b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
@@ -12,8 +12,7 @@ public class QuerySuggestionBoxConverter : IMultiValueConverter
     {
         public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
         {
-            
-            if (values.Length != 4)
+            if (values.Length != 3)
             {
                 return string.Empty;
             }
@@ -54,10 +53,7 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
                 // Check if Text will be larger then our QueryTextBox
                 System.Windows.Media.Typeface typeface = new Typeface(QueryTextBox.FontFamily, QueryTextBox.FontStyle, QueryTextBox.FontWeight, QueryTextBox.FontStretch);
                 System.Windows.Media.FormattedText ft = new FormattedText(QueryTextBox.Text, System.Globalization.CultureInfo.CurrentCulture, System.Windows.FlowDirection.LeftToRight, typeface, QueryTextBox.FontSize, Brushes.Black);
-
-                var FormatOffset = (int)values[3];
-
-                if ((ft.Width + FormatOffset) > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
+                if ((ft.Width + 40) > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
                 {
                     return string.Empty;
                 };
diff --git a/Flow.Launcher/MainWindow.xaml b/Flow.Launcher/MainWindow.xaml
index 2c0a171446b..75120322f7e 100644
--- a/Flow.Launcher/MainWindow.xaml
+++ b/Flow.Launcher/MainWindow.xaml
@@ -164,7 +164,6 @@
                                 
                                 
                                 
-                                
                             
                         
                     
diff --git a/Flow.Launcher/ViewModel/MainViewModel.cs b/Flow.Launcher/ViewModel/MainViewModel.cs
index de44c6dd736..abf3a1d14ea 100644
--- a/Flow.Launcher/ViewModel/MainViewModel.cs
+++ b/Flow.Launcher/ViewModel/MainViewModel.cs
@@ -84,7 +84,6 @@ public MainViewModel(Settings settings)
             InitializeKeyCommands();
             RegisterViewUpdate();
             RegisterResultsUpdatedEvent();
-            SetSuggestionTextOffset();
 
             SetOpenResultModifiers();
         }
@@ -396,8 +395,6 @@ private ResultsViewModel SelectedResults
 
         public double MainWindowWidth => _settings.WindowSize;
 
-        public int SuggestionTextOffset { get; set; }
-
         public ICommand EscCommand { get; set; }
         public ICommand SelectNextItemCommand { get; set; }
         public ICommand SelectPrevItemCommand { get; set; }
@@ -723,11 +720,6 @@ private void SetOpenResultModifiers()
             OpenResultCommandModifiers = _settings.OpenResultModifiers ?? DefaultOpenResultModifiers;
         }
 
-        private void SetSuggestionTextOffset()
-        {
-            SuggestionTextOffset = _settings.SuggestionTextOffset;
-        }
-
         public void ToggleFlowLauncher()
         {
             if (!MainWindowVisibilityStatus)
From 85c58a9618d071a96216ad37911a7259e8ed3c31 Mon Sep 17 00:00:00 2001
From: Garulf <535299+Garulf@users.noreply.github.com>
Date: Mon, 20 Dec 2021 03:12:41 -0500
Subject: [PATCH 5/6] Derive offset from Right side Textbox padding
---
 Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
index 364a17d2173..b26d562507a 100644
--- a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
+++ b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
@@ -53,7 +53,10 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
                 // Check if Text will be larger then our QueryTextBox
                 System.Windows.Media.Typeface typeface = new Typeface(QueryTextBox.FontFamily, QueryTextBox.FontStyle, QueryTextBox.FontWeight, QueryTextBox.FontStretch);
                 System.Windows.Media.FormattedText ft = new FormattedText(QueryTextBox.Text, System.Globalization.CultureInfo.CurrentCulture, System.Windows.FlowDirection.LeftToRight, typeface, QueryTextBox.FontSize, Brushes.Black);
-                if ((ft.Width + 40) > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
+
+                var Offset = QueryTextBox.Padding.Right;
+
+                if ((ft.Width + Offset) > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
                 {
                     return string.Empty;
                 };
From 301dd612d4a3da5f245bbef2f050a4b17e17529c Mon Sep 17 00:00:00 2001
From: Jeremy Wu 
Date: Mon, 20 Dec 2021 21:05:49 +1100
Subject: [PATCH 6/6] lowercase variable name
---
 Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
index b26d562507a..ecdfc5851a0 100644
--- a/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
+++ b/Flow.Launcher/Converters/QuerySuggestionBoxConverter.cs
@@ -54,9 +54,9 @@ public object Convert(object[] values, Type targetType, object parameter, Cultur
                 System.Windows.Media.Typeface typeface = new Typeface(QueryTextBox.FontFamily, QueryTextBox.FontStyle, QueryTextBox.FontWeight, QueryTextBox.FontStretch);
                 System.Windows.Media.FormattedText ft = new FormattedText(QueryTextBox.Text, System.Globalization.CultureInfo.CurrentCulture, System.Windows.FlowDirection.LeftToRight, typeface, QueryTextBox.FontSize, Brushes.Black);
 
-                var Offset = QueryTextBox.Padding.Right;
+                var offset = QueryTextBox.Padding.Right;
 
-                if ((ft.Width + Offset) > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
+                if ((ft.Width + offset) > QueryTextBox.ActualWidth || QueryTextBox.HorizontalOffset != 0)
                 {
                     return string.Empty;
                 };