diff --git a/CommonHelpers/Instance.cs b/CommonHelpers/Instance.cs index 18f5e2a..e3960ba 100644 --- a/CommonHelpers/Instance.cs +++ b/CommonHelpers/Instance.cs @@ -28,6 +28,11 @@ namespace CommonHelpers private const String GLOBAL_MUTEX_NAME = "Global\\SteamDeckToolsCommonHelpers"; private const int GLOBAL_DEFAULT_TIMEOUT = 5000; + public static bool WantsRunOnStartup + { + get { return Environment.GetCommandLineArgs().Contains("-run-on-startup"); } + } + public static bool UseKernelDrivers { get { return useKernelDrivers; } diff --git a/FanControl/FanControlForm.cs b/FanControl/FanControlForm.cs index a84f439..437d63f 100644 --- a/FanControl/FanControlForm.cs +++ b/FanControl/FanControlForm.cs @@ -20,6 +20,9 @@ namespace FanControl Text += " v" + Application.ProductVersion.ToString(); Instance.Open(Text, true, "Global\\FanControlOnce"); + if (Instance.WantsRunOnStartup) + startupManager.Startup = true; + fanControl = new FanController(); SharedData_Update(); diff --git a/PerformanceOverlay/Controller.cs b/PerformanceOverlay/Controller.cs index 51e545b..f0ffd4e 100644 --- a/PerformanceOverlay/Controller.cs +++ b/PerformanceOverlay/Controller.cs @@ -31,6 +31,9 @@ namespace PerformanceOverlay SharedData_Update(); Instance.Open(TitleWithVersion, true, "Global\\PerformanceOverlay"); + if (Instance.WantsRunOnStartup) + startupManager.Startup = true; + showItem = new ToolStripMenuItem("&Show OSD"); showItem.Click += ShowItem_Click; showItem.Checked = Settings.Default.ShowOSD; diff --git a/PowerControl/Controller.cs b/PowerControl/Controller.cs index 5d979cc..52c5f9a 100644 --- a/PowerControl/Controller.cs +++ b/PowerControl/Controller.cs @@ -41,6 +41,9 @@ namespace PowerControl { Instance.RunOnce(TitleWithVersion, "Global\\PowerControl"); + if (Instance.WantsRunOnStartup) + startupManager.Startup = true; + var contextMenu = new System.Windows.Forms.ContextMenuStrip(components); contextMenu.Opening += delegate (object? sender, CancelEventArgs e) diff --git a/RELEASE.md b/RELEASE.md index f12f03b..0d49329 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -22,3 +22,4 @@ - Recreate X360 device on fatal failure (might happen after resume) - DEBUG allows to keep X360 controller always connected - Swap `STEAM+Menu` and `STEAM+Options`. It makes more sense to switch windows with STEAM+3 horizontal lines +- If application is run with `-run-on-startup` it will self-set to run on system start diff --git a/SteamController/Controller.cs b/SteamController/Controller.cs index e26321b..99edea5 100644 --- a/SteamController/Controller.cs +++ b/SteamController/Controller.cs @@ -42,6 +42,9 @@ namespace SteamController Instance.RunOnce(TitleWithVersion, "Global\\SteamController"); + if (Instance.WantsRunOnStartup) + startupManager.Startup = true; + var contextMenu = new ContextMenuStrip(components); var enabledItem = new ToolStripMenuItem("&Enabled");