Repository navigation
FEAT(Screenshot border): Make the screenshot border on Microsoft store downloads not show. - #191
Merged
Merged
Conversation
The Store version shows Windows' yellow capture border while recording.
Electron already asks Windows to hide it, which the "Desktop apps"
switch in Settings → Privacy & security → Screenshot borders allows for
the .exe install; a packaged app needs the graphicsCaptureWithoutBorder
capability and its own switch there.
electron-builder's capability list doesn't know the capability, so the
manifest writes its Capabilities out (with runFullTrust) in place of
${capabilities}, and declares the uap11 namespace as ignorable so
Windows 10 skips it. The Store guide gets a troubleshooting row for the
border.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In the Microsoft Store version, Windows draws a yellow border around the screen while StepForge is recording. The
.exeand Chocolatey installs don't show it.Why only the Store version
StepForge keeps a screen-capture stream open while recording. Electron's capture code already asks Windows to hide the border (WebRTC sets
IsBorderRequired(false)). Windows decides whether to honour that in Settings → Privacy & security → Screenshot borders:.exe) are covered by the Desktop apps switch, which is on.graphicsCaptureWithoutBordercapability declared in its manifest.Change
packaging/windows/store/appxmanifest.xmldeclaresuap11:Capability Name="graphicsCaptureWithoutBorder". electron-builder 26's capability list doesn't know it (appx.capabilitieswould fail with "invalid windows capability"), so the manifest writes out<Capabilities>, together withrunFullTrust, in place of${capabilities}.uap11is inIgnorableNamespaces, so Windows 10 (MinVersion 1809) skips it.uap11namespace, and no longer has${capabilities}.graphicsCaptureWithoutBorderis auap11capability, not a restricted (rescap) one, so Partner Center shouldn't ask for a justification.What this doesn't do yet
The capability allows the border to be removed; it doesn't remove it. The border goes away once the user turns on StepForge's switch. Windows' own consent prompt only appears when the app calls
GraphicsCaptureAccess.RequestAccessAsync(Borderless). Electron has no API for that, so it would need a small native helper and a test on a real Store install. That's left for a follow-up.Testing
npm test: 1110 pass, 0 fail.package:windows:store:test), so it checks that electron-builder's bundledmakeappxaccepts theuap11namespace.