diff --git a/README.md b/README.md index a1f2967..592e116 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,12 @@ ### This is a basic utility to toggle the DLSS indicator overlay as described in [this arcticle](https://www.pcgamer.com/nvidia-dlss-indicator/) +#### How to use: + +Grab the latest release from [here](https://github.com/Watn3y/DLSS-indicator-toggle/releases/latest/download/DLSS_indicator_toggle.exe) and run it. + + + #### How to build: - Embed the manifest inside your binary diff --git a/main.go b/main.go index a5dc440..05cc3b2 100644 --- a/main.go +++ b/main.go @@ -24,7 +24,7 @@ func main() { Layout: VBox{}, Children: []Widget{ TextLabel{ - Text: "The DLSS Indicator is currently", + Text: "The DLSS Indicator status:", TextAlignment: AlignHCenterVCenter, }, TextLabel{ @@ -37,10 +37,11 @@ func main() { Text: "Toggle Indicator", OnClicked: func() { + // a value of 1024 activates the overlay, a value of 0 deactivates it. Other values seem to deactivate it as well but you never know if indicatorStatus == 1024 { - setKeyOff() + setKey(0) } else { - setKeyOn() + setKey(1024) } getKey() indicatorTextLabel.SetText(indicatorStatusString) diff --git a/reg.go b/reg.go index 4a78f00..c8c73df 100644 --- a/reg.go +++ b/reg.go @@ -5,8 +5,11 @@ import ( ) func getKey() { - key, _ := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\NVIDIA Corporation\Global\NGXCore`, registry.QUERY_VALUE) - + key, err := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\NVIDIA Corporation\Global\NGXCore`, registry.QUERY_VALUE) + if err != nil { + indicatorStatusString = "Error: DLSS not supported or registry path not accessible" + return + } value, _, _ := key.GetIntegerValue("ShowDlssIndicator") defer key.Close() @@ -20,18 +23,9 @@ func getKey() { indicatorStatusString = "NOT SET" } } -func setKeyOn() { + +func setKey(value int) { key, _ := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\NVIDIA Corporation\Global\NGXCore`, registry.SET_VALUE) - - key.SetDWordValue("ShowDlssIndicator", uint32(1024)) + key.SetDWordValue("ShowDlssIndicator", uint32(value)) defer key.Close() - -} - -func setKeyOff() { - key, _ := registry.OpenKey(registry.LOCAL_MACHINE, `SOFTWARE\NVIDIA Corporation\Global\NGXCore`, registry.SET_VALUE) - - key.SetDWordValue("ShowDlssIndicator", uint32(0)) - defer key.Close() - }