Skip to content

fix(locker): cursor preview transparency and General tab order - #421

Merged
Slush97 merged 2 commits into
mainfrom
fix/locker-cursor-alpha-tab-order
Oct 4, 2026
Merged

Slush97 merged 2 commits into
mainfrom
fix/locker-cursor-alpha-tab-order

Conversation

@Slush97

@Slush97 Slush97 commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Two Locker fixes.

Cursor previews. The stock cursors (and some packs) are 32-bit BI_RGB BMPs with alpha in the reserved fourth byte. SDL reads it, Chromium treats it as padding, so transparent pixels (stored white) rendered opaque on the Default card. getCursorPreview now re-headers those as BITMAPV5 with an explicit alpha mask (bmpWithExplicitAlpha in cursorFiles.ts). All-zero alpha and files that already carry masks pass through untouched, matching how SDL loads them. Verified in Electron's decoder: all four stock cursors go from 0 transparent pixels to the expected cutouts. Main-process change, so dev needs a full restart.

General tab order. The rail lists populated tabs first, then the empty ones, keeping the canonical order within each group. User categories keep their own order. The sliding highlight re-measures when the order shifts under the active tab.

Checks: cursor tests pass, eslint, ui:check, tsc -b.

@Slush97
Slush97 merged commit 3038c25 into main Oct 4, 2026
1 check passed
@Slush97
Slush97 deleted the fix/locker-cursor-alpha-tab-order branch October 4, 2026 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant