mirror of
https://github.com/MichaelScottsman/LiquidAss-Frame.git
synced 2026-10-17 18:02:42 +02:00
98 lines
5.4 KiB
JSON
98 lines
5.4 KiB
JSON
{
|
|
"version": 1,
|
|
"about": [
|
|
"Which parts of Steam's UI pop out of their window in stereo depth (native mode, docs/NATIVE.md).",
|
|
"Read by device/lgs_layers.js; tokens %{Name} resolve like theme CSS.",
|
|
"Per surface: key (exact overlay key) or keyPrefix (pooled popups; the surface is then reported as NAME.<id>),",
|
|
" cover = the element whose rounded box glassd fills with this surface's glass (material), hiding Steam's panel there;",
|
|
" with all: true every outermost match is a shape of its own (bar segments, a popup's cards), never one box around them,",
|
|
" frameKey = only while the dashboard frame showing that overlay is visible, laserOnly = only in laser (not controller) mode.",
|
|
"Per layer rule: sel, optional pseudo (::before/::after: the capsule is that pseudo-element),",
|
|
" dz = depth toward the viewer in metres, lift = extra dz while focused (focus selector, default .gpfocus/.gpfocuswithin;",
|
|
" 'always' when sel already only matches focused elements), outset/inset in CSS px, r = 'capsule' | CSS px | computed radius,",
|
|
" max = elements per rule, material = slab material (liquid, panel, thick, window).",
|
|
"Layer ids are slots: a rule's first element is reported as the rule id, later ones as id.1, id.2 (the id follows the match).",
|
|
"Rules are in priority order: a layer that overlaps one kept earlier is dropped, as are covered (under a scrim),",
|
|
"transparent, clipped-away and offscreen ones, and, while their scroller scrolls, the ones that move with it.",
|
|
"Content (lists, grids, text, art) stays on the window plane; only ornaments, floating controls, menus/sheets",
|
|
"and the focused card pop. Never glass on glass: a cover shape is not also popped. Keep each surface under 24 layers."
|
|
],
|
|
"defaults": { "material": "liquid", "maxLayers": 20 },
|
|
"surfaces": {
|
|
"main": {
|
|
"key": "valve.steam.gamepadui.main",
|
|
"frameKey": "valve.steam.gamepadui.main",
|
|
"material": "window",
|
|
"cover": {
|
|
"sel": "%{BasicUiRoot}:not(:has(> %{MainNavMenuMainSplit} > %{BasicHome}%{PopupBody>TransparentBackground}))"
|
|
},
|
|
"layers": [
|
|
{ "id": "menu", "sel": "%{*BasicContextMenuModal>contextMenuContents}",
|
|
"dz": 0.03, "material": "thick", "max": 3 },
|
|
{ "id": "sheet", "sel": "%{*GamepadDialogContent>ModalPosition} > %{*GamepadDialogContent_InnerWidth>GamepadDialogContent}",
|
|
"dz": 0.03, "material": "thick" },
|
|
{ "id": "sheet-panel", "sel": "%{*GamepadDialogContent>ModalPosition} > div.Panel:not(%{*GamepadDialogContent>ModalClickToDismiss}):has(> %{ScrollPanel})",
|
|
"dz": 0.03, "material": "thick" },
|
|
{ "id": "filters", "sel": "%{DialogWrapper>CompatFilterDialog}",
|
|
"dz": 0.03, "material": "thick" },
|
|
|
|
{ "id": "hdr-back", "sel": "#header %{BackContainer}", "pseudo": "::before",
|
|
"dz": 0.015, "r": "capsule" },
|
|
{ "id": "hdr-search", "sel": "#header%{Profile>Header}", "pseudo": "::after",
|
|
"dz": 0.015, "r": "capsule" },
|
|
{ "id": "footer", "sel": "#Footer%{BasicFooter}", "pseudo": "::after",
|
|
"dz": 0.012, "r": "capsule" },
|
|
{ "id": "tabs", "sel": "%{TabHeaderRowWrapper}", "pseudo": "::after",
|
|
"dz": 0.012, "r": "capsule", "max": 2 },
|
|
{ "id": "tab-arrow", "sel": ":is(%{GamepadLibrary}, %{RecentSection} ~ %{TabbedContent}) %{TabHeaderRowWrapper} %{Arrows}",
|
|
"dz": 0.012, "r": "capsule", "max": 4 },
|
|
{ "id": "sort-filter", "sel": "%{SortAndFilterContainer}",
|
|
"dz": 0.015, "r": "capsule" },
|
|
|
|
{ "id": "play", "sel": "%{PlayButtonContainer}",
|
|
"dz": 0.015, "lift": 0.005, "outset": 3, "r": "capsule" },
|
|
{ "id": "app-button", "sel": "%{PartnerEventOverlayContainer>AppDetailsMain} %{Container>MenuButton}",
|
|
"dz": 0.01, "lift": 0.004, "outset": 3, "r": "capsule", "max": 3 },
|
|
|
|
{ "id": "card", "focus": "always", "lift": 0.008, "outset": 4,
|
|
"sel": "%{LibraryItemBox}:is(.gpfocus, .Focusable:focus), %{GamepadSearch} %{ResultTemplate}.gpfocuswithin %{ResultTemplateImage}, %{GamepadLibrary} %{Collection}:is(.gpfocus, :focus), %{RecentlyCompletedItem}.gpfocus, %{RecentSection} ~ %{TabbedContent} %{GameCapsule}.gpfocus, %{InGameGame}.gpfocus, %{Seen>MarketingMessage}.gpfocus, %{SeasonalSale}.gpfocus, %{BasicGameCarouselItem} %{TextBoxCarouselContents}.gpfocus" },
|
|
{ "id": "button", "focus": "always", "lift": 0.005, "outset": 3, "r": "capsule",
|
|
"sel": "button.DialogButton.gpfocus" }
|
|
]
|
|
},
|
|
|
|
"bar": {
|
|
"key": "valve.steam.gamepadui.bar",
|
|
"material": "liquid",
|
|
"cover": { "sel": "%{PopupBody>DashboardBar} > %{BarSurface}", "all": true, "r": "capsule" },
|
|
"layers": []
|
|
},
|
|
|
|
"barpopup": {
|
|
"keyPrefix": "valve.steam.gamepadui.barpopup.",
|
|
"material": "panel",
|
|
"cover": {
|
|
"sel": "%{DashboardBarPopupContents}, %{QuickAccessMenu}, %{DashboardMenu}%{Variant_TabMenu}",
|
|
"all": true
|
|
},
|
|
"layers": []
|
|
},
|
|
|
|
"frame.menu": {
|
|
"keyPrefix": "valve.steam.gamepadui.frame.menu.",
|
|
"frameKey": "valve.steam.gamepadui.main",
|
|
"laserOnly": true,
|
|
"material": "panel",
|
|
"cover": { "sel": "%{DashboardMenu}%{Variant_FrameMenu}" },
|
|
"layers": []
|
|
},
|
|
|
|
"floatingfooter": {
|
|
"key": "valve.steam.gamepadui.floatingfooter",
|
|
"material": "panel",
|
|
"cover": { "sel": "#Footer%{BasicFooter}%{FloatingVRFooter}", "r": "capsule" },
|
|
"layers": []
|
|
}
|
|
}
|
|
}
|