Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Full support for desktop Steam UI #712

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

Conversation

AAGaming00
Copy link
Member

@AAGaming00 AAGaming00 commented Oct 5, 2024

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 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
Copy link
Member

@PartyWumpus PartyWumpus left a comment

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
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
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
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
Member Author

Choose a reason for hiding this comment

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

true

Comment on lines +1 to +4
export enum UIMode {
BigPicture = 4,
Desktop = 7,
}
Copy link
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
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
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
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
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.

flake.nix Show resolved Hide resolved
@PartyWumpus
Copy link
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
Copy link
Contributor

KP2048 commented Oct 8, 2024

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
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.

3 participants