From e12c00242b9244fed317cf325b285b98316afa72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Sun, 20 Nov 2022 15:42:21 +0100 Subject: [PATCH] Show Full OSD if in Power Control mode --- CommonHelpers/GlobalConfig.cs | 12 ++++++++++++ PerformanceOverlay/App.config | 3 +++ PerformanceOverlay/Controller.cs | 11 ++++++++++- PerformanceOverlay/Settings.Designer.cs | 9 +++++++++ PerformanceOverlay/Settings.settings | 3 +++ PowerControl/Controller.cs | 7 +++++++ RELEASE.md | 13 +------------ 7 files changed, 45 insertions(+), 13 deletions(-) diff --git a/CommonHelpers/GlobalConfig.cs b/CommonHelpers/GlobalConfig.cs index 9e1179b..e4d79ea 100644 --- a/CommonHelpers/GlobalConfig.cs +++ b/CommonHelpers/GlobalConfig.cs @@ -29,6 +29,12 @@ namespace CommonHelpers No } + public enum PowerControlVisible : uint + { + Yes = 371313, + No + } + [StructLayout(LayoutKind.Sequential)] public struct FanModeSetting { @@ -41,4 +47,10 @@ namespace CommonHelpers public OverlayMode Current, Desired; public OverlayEnabled CurrentEnabled, DesiredEnabled; } + + [StructLayout(LayoutKind.Sequential)] + public struct PowerControlSetting + { + public PowerControlVisible Current; + } } diff --git a/PerformanceOverlay/App.config b/PerformanceOverlay/App.config index 104b0a5..d7a742b 100644 --- a/PerformanceOverlay/App.config +++ b/PerformanceOverlay/App.config @@ -26,6 +26,9 @@ Shift+F11 + + True + \ No newline at end of file diff --git a/PerformanceOverlay/Controller.cs b/PerformanceOverlay/Controller.cs index bc04592..4952a35 100644 --- a/PerformanceOverlay/Controller.cs +++ b/PerformanceOverlay/Controller.cs @@ -199,7 +199,16 @@ namespace PerformanceOverlay sensors.Update(); - var osdOverlay = Overlays.GetOSD(Settings.Default.OSDModeParsed, sensors); + var osdMode = Settings.Default.OSDModeParsed; + + // If Power Control is visible use temporarily full OSD + if (Settings.Default.EnableFullOnPowerControl) + { + if (SharedData.GetExistingValue(out var value) && value.Current == PowerControlVisible.Yes) + osdMode = OverlayMode.Full; + } + + var osdOverlay = Overlays.GetOSD(osdMode, sensors); try { diff --git a/PerformanceOverlay/Settings.Designer.cs b/PerformanceOverlay/Settings.Designer.cs index ad276cf..1a21080 100644 --- a/PerformanceOverlay/Settings.Designer.cs +++ b/PerformanceOverlay/Settings.Designer.cs @@ -64,5 +64,14 @@ namespace PerformanceOverlay { return ((string)(this["CycleOSDShortcut"])); } } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool EnableFullOnPowerControl { + get { + return ((bool)(this["EnableFullOnPowerControl"])); + } + } } } diff --git a/PerformanceOverlay/Settings.settings b/PerformanceOverlay/Settings.settings index 67d0f90..11fd013 100644 --- a/PerformanceOverlay/Settings.settings +++ b/PerformanceOverlay/Settings.settings @@ -14,5 +14,8 @@ Shift+F11 + + True + \ No newline at end of file diff --git a/PowerControl/Controller.cs b/PowerControl/Controller.cs index 18faf2a..e7cb84b 100644 --- a/PowerControl/Controller.cs +++ b/PowerControl/Controller.cs @@ -35,6 +35,8 @@ namespace PowerControl DateTime? neptuneDeviceNextKey; System.Windows.Forms.Timer neptuneTimer; + SharedData sharedData = SharedData.CreateNew(); + public Controller() { Instance.RunOnce(TitleWithVersion, "Global\\PowerControl"); @@ -294,6 +296,11 @@ namespace PowerControl public void updateOSD() { + sharedData.SetValue(new PowerControlSetting() + { + Current = rootMenu.Visible ? PowerControlVisible.Yes : PowerControlVisible.No + }); + if (!rootMenu.Visible) { osdClose(); diff --git a/RELEASE.md b/RELEASE.md index 52ea7ae..e3e427d 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,21 +1,10 @@ - Adds Power Control -- Repeat keystrokes -- Allow to control OSD and Fan from Power Control - Improve flickering of OSD - Add Volume Up/Down controls (disable with `EnableVolumeControl` in `PowerControl.dll.config`) -- Add `0` brightness -- Support any battery model -- Add battery remaining - Add FPSWithBattery overlay - Add FPS Limit using RTSS -- Fix ryzenadj creating console window -- Swap icons of PerformanceOverlay and PowerControl -- Improve FanControl UI -- Make increments for Brightness and Volume in 5 (fixed) - Press `3 dots + L4 + R4 + L5 + R5` to reset (TDP, Refresh Rate, FPS limit) to default - Allow to disable SMT (second threads of each physical cores) -- Fix PowerControl crash on startup (introduced with SMT) -- Allow to change resolution (Experimental feature) -- PowerControl options are in cycle +- Show Full OSD if in PowerControl mode If you found it useful buy me [Ko-fi](https://ko-fi.com/ayufan).