Skip to content

Full support for desktop Steam UI#712

Open
AAGaming00 wants to merge 3 commits into
mainfrom
aa/desktop-routerhook
Open

Full support for desktop Steam UI#712
AAGaming00 wants to merge 3 commits into
mainfrom
aa/desktop-routerhook

Conversation

@AAGaming00

@AAGaming00 AAGaming00 commented Oct 5, 2024

Copy link
Copy Markdown
Member

Please tick as appropriate:

  • I have tested this code on a steam deck or on a PC
  • My changes generate no new errors/warnings
  • This is a bugfix/hotfix
  • This is a new feature

Description

This PR adds full feature parity between desktop and gamepad UI modes. The styling is a bit rough, but it's fully functional.

Video

Also includes some React DevTools fixes.

@AAGaming00 AAGaming00 force-pushed the aa/desktop-routerhook branch from 7e040c1 to fa4c4a7 Compare October 5, 2024 04:00
@AAGaming00 AAGaming00 requested a review from a team October 5, 2024 04:03
@AAGaming00 AAGaming00 added enhancement New feature or request requires documentation requires documentation in wiki before merge dependencies Pull requests that update a dependency file javascript Pull requests that update Javascript code python Pull requests that update Python code labels Oct 5, 2024
@AAGaming00 AAGaming00 self-assigned this Oct 5, 2024

@PartyWumpus PartyWumpus left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

route patches need UIMode in dfl too. It should be optional and default to BPM for backwards compat prob

Comment on lines 27 to +28
Navigation.CloseSideMenus();
setDesktopMenuOpen(false);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shouldn't be needed, we should modify Navigation.CloseSideMenus() to close the desktop menu. Def needed because plugins close side menus too all the time

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good point

@@ -87,10 +105,10 @@ class RouterHook extends Logger {
this.patchGamepadRouter();
break;
// Not fully implemented yet

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

comment can go?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

true

Comment thread frontend/src/enums.ts
Comment on lines +1 to +4
export enum UIMode {
BigPicture = 4,
Desktop = 7,
}

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably go in DFL. It eventually will with PR #92 anyways. (See here specifically)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fair

export class DeckyRouterState {
private _routes = new Map<string, RouterEntry>();
private _routePatches = new Map<string, Set<RoutePatch>>();
// Update when support for new UIModes is added

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What other UIModes are there? I guess SteamVR might be seperate from BPM?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no idea how vr works but I plan to look into it soon

it'll be interesting as it can run at the same time as the desktop ui

Comment on lines +84 to +85
Navigation.OpenQuickAccessMenu(QuickAccessTab.Decky);
DeckyPluginLoader.setDesktopMenuOpen(true);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to above comment, we could make OpenQuickAccessMenu open the desktop menu but eeh i don't know if any plugins use it, and it only makes sense for the decky tab so not really sure.

Comment thread flake.nix
@PartyWumpus

Copy link
Copy Markdown
Member

Noticed while messing aroung, the reorderable list doesn't work properly in desktop mode. Not a shock but it's going to be a little weird to fix i think.

@KP2048

KP2048 commented Oct 8, 2024

Copy link
Copy Markdown
Contributor

There also tends to just be a general level of jank lol

@AAGaming00 AAGaming00 force-pushed the aa/desktop-routerhook branch 2 times, most recently from 1442381 to ee39a6f Compare October 11, 2024 19:04
AAGaming00 and others added 3 commits October 11, 2024 15:05
works well enough lol
Co-authored-by: Party Wumpus <48649272+PartyWumpus@users.noreply.github.com>
@AAGaming00 AAGaming00 force-pushed the aa/desktop-routerhook branch from ee39a6f to 7e1406c Compare October 11, 2024 19:05
@Efreak

Efreak commented Jan 9, 2025

Copy link
Copy Markdown

The sidebar shows up under the store in desktop mode

@NinjaHamsters

This comment has been minimized.

@AAGaming00

Copy link
Copy Markdown
Member Author

@NinjaHamsters This is a work-in-progress PR and is not guaranteed to be functional or free of issues. Reinstall decky to revert to the stable release.

@AAGaming00 AAGaming00 linked an issue Jun 21, 2025 that may be closed by this pull request
3 tasks
@JulianJinn

This comment was marked as off-topic.

@DraconicNEO

This comment was marked as off-topic.

@chenx-dust

Copy link
Copy Markdown

I resolved conflicts and it works pretty well!
But there is still a bug. The browser will overlay the UI.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file enhancement New feature or request javascript Pull requests that update Javascript code python Pull requests that update Python code requires documentation requires documentation in wiki before merge

Projects

Status: 🏗 In progress

Development

Successfully merging this pull request may close these issues.

[Request] Add Decky GUI access to Desktop mode

8 participants