Add custom monitor number selection combobox

This commit is contained in:
Vic 2023-03-20 17:50:53 +08:00
parent 278f0eba30
commit 115d3a58f4
4 changed files with 21 additions and 6 deletions

View file

@ -245,7 +245,7 @@ namespace Flow.Launcher.Infrastructure.UserSettings
[JsonConverter(typeof(JsonStringEnumConverter))] [JsonConverter(typeof(JsonStringEnumConverter))]
public SearchWindowAligns SearchWindowAlign { get; set; } = SearchWindowAligns.Center; public SearchWindowAligns SearchWindowAlign { get; set; } = SearchWindowAligns.Center;
public string CustomScreenDeviceName { get; set; } = string.Empty; public int CustomScreenNumber { get; set; } = 1;
public bool IgnoreHotkeysOnFullscreen { get; set; } public bool IgnoreHotkeysOnFullscreen { get; set; }

View file

@ -550,7 +550,10 @@ namespace Flow.Launcher
screen = Screen.FromHandle(foregroundWindowHandle); screen = Screen.FromHandle(foregroundWindowHandle);
break; break;
case SearchWindowScreens.Custom: case SearchWindowScreens.Custom:
screen = Screen.AllScreens.FirstOrDefault(s => s.DeviceName == _settings.CustomScreenDeviceName); if (_settings.CustomScreenNumber <= Screen.AllScreens.Length)
screen = Screen.AllScreens[_settings.CustomScreenNumber - 1];
else
screen = Screen.AllScreens[0];
break; break;
default: default:
screen = Screen.AllScreens[0]; screen = Screen.AllScreens[0];

View file

@ -719,11 +719,9 @@
MinWidth="160" MinWidth="160"
Margin="0,0,18,0" Margin="0,0,18,0"
VerticalAlignment="Center" VerticalAlignment="Center"
DisplayMemberPath="Display"
FontSize="14" FontSize="14"
ItemsSource="{Binding SearchWindowAligns}" ItemsSource="{Binding ScreenNumbers}"
SelectedValue="{Binding Settings.SearchWindowAlign}" SelectedValue="{Binding Settings.CustomScreenNumber}">
SelectedValuePath="Value">
<ComboBox.Style> <ComboBox.Style>
<Style BasedOn="{StaticResource DefaultComboBoxStyle}" TargetType="ComboBox"> <Style BasedOn="{StaticResource DefaultComboBoxStyle}" TargetType="ComboBox">
<Setter Property="Visibility" Value="Collapsed" /> <Setter Property="Visibility" Value="Collapsed" />

View file

@ -517,6 +517,20 @@ namespace Flow.Launcher.ViewModel
} }
} }
public List<int> ScreenNumbers
{
get
{
var screens = System.Windows.Forms.Screen.AllScreens;
var screenNumbers = new List<int>();
for (int i = 1; i <= screens.Length; i++)
{
screenNumbers.Add(i);
}
return screenNumbers;
}
}
public List<string> TimeFormatList { get; } = new() public List<string> TimeFormatList { get; } = new()
{ {
"h:mm", "h:mm",