Repository navigation
feat: in-session menu over the game (Select + Y) - #46
Merged
Merged
Conversation
A console-style quick menu centered on the game screen, always on top, driven by the controller (GamepadNavigator) or the keyboard: volume (Left/Right, A mutes), resolution, audio output, FPS limit (RTSS) and HDR as pickers/toggles that apply live, "Record the last 30 s" as a coming-soon row, and two ways out: back to the PC or exit the app. Header shows the clock, elapsed time and the pad. Also reachable via consolemode://menu. - RtssService.SetLimit backs the user's settings up only once per session. - VideoFeaturesService.SetHdrFromMenu tracks what to undo at Stop(), including an HDR the user turned off that was on before. - WindowPlacement (from ConfirmWindow) centers windows in a screen's DPI. - NativeWindows.ForceForeground so the menu can take focus from a game. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A quick menu like a console's, over the game, opened by holding Select + Y (~0.3 s) during a session. Start + Select still restores directly.
Rows: Back to the game · Volume (◀/▶ ±5, A mutes; reads the current level from SoundVolumeView) · Resolution (picker of the game screen's modes, applied live; restore puts the original back) · Audio output (active devices; the auto-switch won't undo it) · FPS limit (RTSS presets or none; only when RTSS is ready; the user's RTSS settings are backed up once and restored at the end) · HDR (toggle; restore undoes exactly what the user changed) · "Record the last 30 s · coming soon" (disabled) · Back to the PC · Exit Console Mode.
Header: clock, "Playing for X min", detected pad. Hints: A/B/◀▶ (PlayStation glyphs when a PS pad is detected).
Window:
SessionMenuWindow, centered on the game screen in its DPI (WindowPlacement, now shared withConfirmWindow), always on top, no chrome, dark.GamepadNavigatordrives it; arrows on the keyboard go through the same path (PreviewKeyDown, so the ScrollViewer doesn't eat them).NativeWindows.ForceForegroundtakes focus from the game (PlayStation pads need it). Exclusive-fullscreen games can't be covered; documented.Also:
consolemode://menuopens it (Stream Deck); settings card describing the shortcut; README, TESTING.md (section 1c) and changelogs.Test plan
dotnet test: 76 passed (15 new: volume steps, /GetPercent parsing, elapsed format, RTSS backup rule, protocol action)docs/TESTING.md→ section 1c (Select + Y over Big Picture, every row, PlayStation, exclusive fullscreen)🤖 Generated with Claude Code