mirror of
https://github.com/MichaelScottsman/LiquidAss-Frame.git
synced 2026-10-17 23:01:00 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
75a6e6c246 |
No files matched your search
@@ -639,6 +639,7 @@ function homeComponents(R, rt) {
|
||||
onMenuButton: isGame && HS.appMenu ? (e) => homeTileMenu(R, item, e && e.currentTarget) : undefined,
|
||||
onMenuActionDescription: isGame && HS.appMenu ? (homeStr(R, 'options') || undefined) : undefined,
|
||||
onGamepadFocus: (e) => {
|
||||
if (!HS) return; // module torn down (lgs off) while Steam still moves focus on the leaving page
|
||||
const sk = HS.sectionKey || 'x';
|
||||
HS.focusKey[sk] = item.key;
|
||||
// focus that Steam moved into row 1 from outside our page (C1a's search capsule above a folder's
|
||||
@@ -651,7 +652,8 @@ function homeComponents(R, rt) {
|
||||
if (d && HS.P.attention && homePad()) HS.P.attention.feed(d, 'enter', 'pad');
|
||||
},
|
||||
onGamepadBlur: (e) => {
|
||||
const d = e && e.currentTarget && e.currentTarget.querySelector ? e.currentTarget.querySelector('.lgs-home-disc') : null;
|
||||
if (!HS) return;
|
||||
const d =e && e.currentTarget && e.currentTarget.querySelector ? e.currentTarget.querySelector('.lgs-home-disc') : null;
|
||||
if (d && HS.P.attention) HS.P.attention.feed(d, 'leave', 'pad');
|
||||
// gamepad: the card starts closing at the move, not after the 0.3 s grace (HA-17); a bounce back
|
||||
// within the grace restores it through onReenter
|
||||
|
||||
@@ -231,15 +231,12 @@ html.lgs-on .lgs-arrive { animation: lgs-arrive var(--lgs-motion-page) backwards
|
||||
|
||||
/* ------------------------------------------------- the light layer's ramp in
|
||||
An illumination host's ::after exists only while the host is lit (04-states.css, the hook blocks' gate),
|
||||
so it is created already lit: it starts from dark, and the in-transitions (04-states.css §2) ramp hover,
|
||||
within and press up as they did when the layer was always there. Top level: Chromium 126 ignores
|
||||
@starting-style nested in a style rule (the wrapped files). Focus jumps in (0s) through lgs-focus-in. */
|
||||
@starting-style {
|
||||
html.lgs-on:not(.lgs-input-pad) :hover::after,
|
||||
html.lgs-on:not(.lgs-input-laser) :is(.gpfocus, .gpfocuswithin)::after,
|
||||
html.lgs-on :is(:active, .lgs-pressed)::after {
|
||||
--lgs-hover: 0;
|
||||
--lgs-within: 0;
|
||||
--lgs-press: 0;
|
||||
}
|
||||
so it is created already lit: lgs-ill-in starts it from dark (04-states.css §2, the in-rule), and the
|
||||
in-transitions take over after. Focus jumps in (0s) through lgs-focus-in.
|
||||
Never @starting-style here: on Steam's Chromium 126, a top-level @starting-style on these ::after
|
||||
(registered properties, under the @container style() gate) SEGVs the whole renderer when the theme is
|
||||
injected while the pointer rests on a lit host, e.g. the LiquidAss row of "+" > Launch Program
|
||||
(2026-10-09, reproduced 3/3; gone without the rule). */
|
||||
@keyframes lgs-ill-in {
|
||||
from { --lgs-hover: 0; --lgs-within: 0; --lgs-press: 0; }
|
||||
}
|
||||
+5
-3
@@ -243,11 +243,13 @@
|
||||
--lgs-focus 0s,
|
||||
--lgs-within var(--lgs-ill-d-in) var(--lgs-ill-ease),
|
||||
--lgs-press var(--lgs-ill-d-press) var(--lgs-ill-ease-press);
|
||||
/* created lit (the hook blocks' gate): its ramp in starts from dark, @starting-style in
|
||||
02-motion.nowrap.css (Chromium 126 ignores it nested in this wrapped file) */
|
||||
/* created lit (the hook blocks' gate): its ramp in starts from dark (lgs-ill-in,
|
||||
02-motion.nowrap.css; never @starting-style, which crashes Steam's renderer) */
|
||||
animation: lgs-ill-in var(--lgs-ill-d-in) var(--lgs-ill-ease) backwards;
|
||||
}
|
||||
&:not(.lgs-input-laser) .gpfocus::after {
|
||||
animation: lgs-focus-in var(--lgs-ill-d-in) var(--lgs-ill-ease) backwards;
|
||||
animation: lgs-ill-in var(--lgs-ill-d-in) var(--lgs-ill-ease) backwards,
|
||||
lgs-focus-in var(--lgs-ill-d-in) var(--lgs-ill-ease) backwards;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user