PluginProbe
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin / 1.1.12
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin v1.1.12
1.1.12 1.1.11 1.1.10 1.1.9 1.1.8 1.1.7 1.1.6 1.1.5 1.1.4 1.1.3 1.1.2 1.1.1 1.1.0 1.0.1 1.0.0 0.9.8 0.9.7 0.9.6 0.9.4 0.9.5 0.9.3 0.9.2 0.9.1 0.9.0 0.8.9 All 36 releases
← All changes | assets/css/dock.css +28 -11 1.1.10 → 1.1.12 View file →
@@ -124,21 +124,29 @@
124 124 }
125 125
126 126 /* Stacked card hint on hover — a second card peeks from behind the
127 127 icon when the tile has multiple open windows. Only visible on hover so
128 - it never conflicts with focused tiles. */
129 -.os-dock__item--stacked:hover .os-dock__item-primary::before,
130 -.os-dock__item--stacked[data-peek-active] .os-dock__item-primary::before {
128 + it never conflicts with focused tiles.
129 + *
130 + * Painted on the TILE, not on the button it hints at. The hover that
131 + * arms this also scales the button, a transform makes a stacking
132 + * context, and a `z-index: -1` child of one cannot escape it: the card
133 + * landed above the button's own hover plate instead of behind the
134 + * tile, reading as a second plate laid over the first. The tile is
135 + * transformed by nothing, and a positioned child (the button) paints
136 + * over a parent's `::before` at the same level, so the card sits where
137 + * its name says without asking for a z-index at all. */
138 +.os-dock__item--stacked:hover::before,
139 +.os-dock__item--stacked[ data-peek-active ]::before {
131 140 content: "";
132 141 position: absolute;
133 142 top: -4px;
134 143 inset-inline-start: -4px;
135 - width: 100%;
136 - height: 100%;
137 - border-radius: inherit;
144 + width: 40px;
145 + height: 40px;
146 + border-radius: 10px;
138 147 background: rgba( 255, 255, 255, 0.06 );
139 148 border: 1px solid rgba( 255, 255, 255, 0.10 );
140 - z-index: -1;
141 149 pointer-events: none;
142 150 }
143 151
144 152 /* Dashicon inside dock item. */
@@ -1014,17 +1022,26 @@
1014 1022 * general problem. The inline padding is symmetric so the tile cluster
1015 1023 * stays centred in the pill. `min-width: 0` lets the wrapper shrink below its
1016 1024 * content's natural width, so the dock pill's `max-width` is what
1017 1025 * decides when scroll kicks in instead of the content forcing the
1018 - * pill wider. `justify-content: center` keeps tiles balanced inside
1019 - * the pill when content fits; when it overflows, scroll engages and
1020 - * items extend past the visible area.
1026 + * pill wider. `justify-content: safe center` keeps tiles balanced inside
1027 + * the pill when content fits; when it overflows, the `safe` keyword
1028 + * ensures alignment falls back to `start` so `scrollLeft = 0` reveals the
1029 + * first item and all items remain scrollable without clipping. Bare
1030 + * `center` put the leading tiles at a negative offset, and a scroll
1031 + * container clamps `scrollLeft` at 0, so Dashboard and its neighbours
1032 + * were clipped with no way to scroll back to them. **The plain `start`
1033 + * above it is the fallback, not a leftover** — a browser that cannot
1034 + * parse the overflow-alignment keyword drops the `safe center`
1035 + * declaration and keeps that one, which left-aligns the tiles rather
1036 + * than hiding them. Deleting it restores the bug on those browsers.
1021 1037 */
1022 1038 .os-dock[ data-os-dock-placement="bottom" ] .os-dock__scroll {
1023 1039 display: flex;
1024 1040 flex-direction: row;
1025 1041 align-items: center;
1026 - justify-content: center;
1042 + justify-content: start;
1043 + justify-content: safe center;
1027 1044 gap: 6px;
1028 1045 flex: 1 1 auto;
1029 1046 min-width: 0;
1030 1047 padding-top: 4px;