From 8d152771b7cabbcc59d656401f215b2ab0472c1b Mon Sep 17 00:00:00 2001 From: Peter Repukat Date: Fri, 7 Jan 2022 01:01:29 +0100 Subject: [PATCH] Change GlosSI Overlay open/close to double-press steam overlay key(s) --- GlosSITarget/Resource.rc | 12 ++++++---- GlosSITarget/SteamTarget.cpp | 43 +++++++++++++++++------------------- GlosSITarget/SteamTarget.h | 2 +- docs/Overlay.md | 2 +- 4 files changed, 30 insertions(+), 29 deletions(-) diff --git a/GlosSITarget/Resource.rc b/GlosSITarget/Resource.rc index fadb42a..b12fcf1 100644 --- a/GlosSITarget/Resource.rc +++ b/GlosSITarget/Resource.rc @@ -51,8 +51,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,0,3,1010000700803 - PRODUCTVERSION 0,0,3,1010000700803 + FILEVERSION 0,0,3,1011002805066 + PRODUCTVERSION 0,0,3,1011002805066 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -69,12 +69,12 @@ BEGIN BEGIN VALUE "CompanyName", "Peter Repukat - FlatspotSoftware" VALUE "FileDescription", "GlosSI - SteamTarget" - VALUE "FileVersion", "0.0.3.1-10-g070d8c3" + VALUE "FileVersion", "0.0.3.1-11-g28c5c66" VALUE "InternalName", "GlosSITarget" VALUE "LegalCopyright", "Copyright (C) 2021 Peter Repukat - FlatspotSoftware" VALUE "OriginalFilename", "GlosSITarget.exe" VALUE "ProductName", "GlosSI" - VALUE "ProductVersion", "0.0.3.1-10-g070d8c3" + VALUE "ProductVersion", "0.0.3.1-11-g28c5c66" END END BLOCK "VarFileInfo" @@ -659,6 +659,10 @@ END + + + + diff --git a/GlosSITarget/SteamTarget.cpp b/GlosSITarget/SteamTarget.cpp index 5dada5e..2d1f76d 100644 --- a/GlosSITarget/SteamTarget.cpp +++ b/GlosSITarget/SteamTarget.cpp @@ -67,7 +67,7 @@ Application will not function!"); } else { spdlog::info("Steam-overlay detected."); - spdlog::warn("Open/Close Steam-overlay twice to show GlosSI-overlay"); // Just to color output and really get users attention + spdlog::warn("Double press Steam- overlay key(s)/Controller button to show GlosSI-overlay"); // Just to color output and really get users attention window_.setClickThrough(true); if (!overlay_.expired()) overlay_.lock()->setEnabled(false); @@ -116,31 +116,28 @@ void SteamTarget::onOverlayChanged(bool overlay_open) focusWindow(target_window_handle_); window_.setClickThrough(!overlay_open); } + if (!overlay_trigger_flag_) { + overlay_trigger_flag_ = true; + overlay_trigger_clock_.restart(); + } else { - - if (!overlay_trigger_flag_) { - overlay_trigger_flag_ = true; - overlay_trigger_clock_.restart(); - } - else { - if (overlay_trigger_clock_.getElapsedTime().asSeconds() <= overlay_trigger_max_seconds_) { - const auto ov_opened = overlay_.expired() ? false : overlay_.lock()->toggle(); - window_.setClickThrough(!ov_opened); - if (ov_opened) { - spdlog::info("Opened GlosSI-overlay"); - focusWindow(target_window_handle_); - } - else { - focusWindow(last_foreground_window_); - spdlog::info("Closed GlosSI-overlay"); - } + if (overlay_trigger_clock_.getElapsedTime().asSeconds() <= overlay_trigger_max_seconds_) { + const auto ov_opened = overlay_.expired() ? false : overlay_.lock()->toggle(); + window_.setClickThrough(!ov_opened); + if (ov_opened) { + spdlog::info("Opened GlosSI-overlay"); + focusWindow(target_window_handle_); + } + else { + focusWindow(last_foreground_window_); + spdlog::info("Closed GlosSI-overlay"); } - overlay_trigger_flag_ = false; - } - if (!( overlay_.expired() ? false : overlay_.lock()->isEnabled())) { - window_.setClickThrough(!overlay_open); - focusWindow(last_foreground_window_); } + overlay_trigger_flag_ = false; + } + if (!(overlay_.expired() ? false : overlay_.lock()->isEnabled())) { + window_.setClickThrough(!overlay_open); + focusWindow(last_foreground_window_); } } diff --git a/GlosSITarget/SteamTarget.h b/GlosSITarget/SteamTarget.h index 4823467..bdc0ff0 100644 --- a/GlosSITarget/SteamTarget.h +++ b/GlosSITarget/SteamTarget.h @@ -82,7 +82,7 @@ class SteamTarget { static inline WindowHandle target_window_handle_ = nullptr; sf::Clock overlay_trigger_clock_; - uint32_t overlay_trigger_max_seconds_ = 4; + uint32_t overlay_trigger_max_seconds_ = 1; bool overlay_trigger_flag_ = false; bool delayed_shutdown_ = false; diff --git a/docs/Overlay.md b/docs/Overlay.md index 6fa6fc7..919a150 100644 --- a/docs/Overlay.md +++ b/docs/Overlay.md @@ -5,7 +5,7 @@ GlosSI provides it's own overlay in addition to that of Steam. -Simply open/close Steams overlay via your assigned shortcut or the Steam/Guide button **twice** to bring it up. +Simply **double press** your assigned Steam overlay key(s) or the Steam/Guide button to bring it up. From here you can take a peek at the log and change various settings. ![GlosSI overlay screenshot](./glossi_overlay.png)