diff --git a/windows-terminal-quake/Native/TerminalProcess.cs b/windows-terminal-quake/Native/TerminalProcess.cs
index 5dbba04..e8c4bfb 100644
--- a/windows-terminal-quake/Native/TerminalProcess.cs
+++ b/windows-terminal-quake/Native/TerminalProcess.cs
@@ -33,7 +33,10 @@ public static Process Get(string[] args)
TimeSpan.FromMilliseconds(50),
TimeSpan.FromMilliseconds(100),
TimeSpan.FromMilliseconds(250),
- TimeSpan.FromMilliseconds(500)
+ TimeSpan.FromMilliseconds(500),
+ TimeSpan.FromMilliseconds(1000),
+ TimeSpan.FromMilliseconds(2000),
+ TimeSpan.FromMilliseconds(5000),
},
onRetry: (ex, t) => Log.Error($"Error creating process: '{ex.Message}'"));
diff --git a/windows-terminal-quake/Settings/QSettings.cs b/windows-terminal-quake/Settings/QSettings.cs
index 676005c..5eb92e9 100644
--- a/windows-terminal-quake/Settings/QSettings.cs
+++ b/windows-terminal-quake/Settings/QSettings.cs
@@ -4,6 +4,8 @@ namespace WindowsTerminalQuake.Settings;
public class QSettings
{
+ public static readonly string DefaultPathToSettingsFile = Path.Combine(Path.GetDirectoryName(new Uri(typeof(QSettings).Assembly.Location).LocalPath), SettingsFileNameWithoutExtension + ".json");
+
public static readonly string[] PathsToSettingsDirs = new[]
{
// C:/path/to/windows-terminal-quake.json
diff --git a/windows-terminal-quake/Settings/SettingsDto.cs b/windows-terminal-quake/Settings/SettingsDto.cs
index 6eb3119..41f68a3 100644
--- a/windows-terminal-quake/Settings/SettingsDto.cs
+++ b/windows-terminal-quake/Settings/SettingsDto.cs
@@ -51,7 +51,7 @@ public class SettingsDto
/// The keys that can be used to toggle the terminal.
/// See "Hotkeys" for possible values.
///
- public IReadOnlyCollection? Hotkeys { get; set; }
+ public IReadOnlyCollection? Hotkeys { get; set; } = Array.Empty();
///
/// Minimum level of events that are logged.
@@ -167,7 +167,7 @@ public class SettingsDto
/// The location of the file where the current settings were loaded from.
/// Can be null if these are defaults.
///
- internal string? PathToSettings { get; set; }
+ internal string PathToSettings { get; set; } = QSettings.DefaultPathToSettingsFile;
///
/// Vertical screen coverage as an index (0 - 1).