Skip to content

Conversation

@moooyo
Copy link
Contributor

@moooyo moooyo commented Oct 20, 2025

Summary of the Pull Request

Just a draft, still have some works need to do. It works, you can pull the branch and set PowerDisplay as the startup project to try.
image

  1. Need a design doc
  2. UI/UX improvement (currently generated by AI)
  3. code review
  4. bugbash
  5. GPO support?
  6. To support AOT, we need to make some changes in settings part. Need to separate to another PR. [AOT] Refactor SettingsLib/SettingsUI for Native AOT compatibility #42644
  7. TrayIcon. (currently generated by AI)
  8. module icon.

TBD

design doc: TBD

PR Checklist

  • Closes: #xxx
  • Communication: I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected
  • Tests: Added/updated and all pass
  • Localization: All end-user-facing strings can be localized
  • Dev docs: Added/updated
  • New binaries: Added on the required places
  • Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

check-spelling found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@github-actions
Copy link

@check-spelling-bot Report

🔴 Please review

See the 📂 files view, the 📜action log, or 📝 job summary for details.

Unrecognized words (56)
ASUS
backlight
CAuthn
CAuthz
CImp
clientedge
coinit
colortemp
Ddc
Ddcci
debouncer
displayconfig
Displayport
dlg
dlgmodalframe
DREGION
dvi
Dxva
edid
eoac
FPrimary
framechanged
hdmi
HPhysical
HSync
Lbuttonup
leftalign
maximizebox
minimizebox
monitorinfo
nclbuttondown
nif
NIIF
nomove
nosize
notopmost
powerdisplay
POWERDISPLAYMODULEINTERFACE
pvct
qdc
Rbuttonup
Returncmd
Samsung
Sdr
staticedge
swp
syscommand
sysmenu
thickframe
Trayicon
UTimeout
vcp
Vga
VSync
windowedge
winnt
These words are not needed and should be removed CIBUILD CLIENTEDGE COINIT DISPLAYCONFIG djwsxzxb Dlg DLGMODALFRAME Edid EOAC FRAMECHANGED ksa LEFTALIGN MAXIMIZEBOX MINIMIZEBOX MONITORINFO NCLBUTTONDOWN NIF NOMOVE NOSIZE NOTOPMOST QDC rtm STATICEDGE SWP SYSCOMMAND SYSMENU TARGETDIR THICKFRAME WINDOWEDGE WINNT

To accept these unrecognized words as correct and remove the previously acknowledged and now absent words, you could run the following commands

... in a clone of the git@github.com:microsoft/PowerToys.git repository
on the yuleng/display/pr/3 branch (ℹ️ how do I use this?):

curl -s -S -L 'https://raw.githubusercontent.com/check-spelling/check-spelling/c635c2f3f714eec2fcf27b643a1919b9a811ef2e/apply.pl' |
perl - 'https://github.com/microsoft/PowerToys/actions/runs/18646569390/attempts/1' &&
git commit -m 'Update check-spelling metadata'
Forbidden patterns 🙅 (1)

In order to address this, you could change the content to not match the forbidden patterns (comments before forbidden patterns may help explain why they're forbidden), add patterns for acceptable instances, or adjust the forbidden patterns themselves.

These forbidden patterns matched content:

Should be ; otherwise or . Otherwise

https://study.com/learn/lesson/otherwise-in-a-sentence.html

, [Oo]therwise\b
Pattern suggestions ✂️ (1)

You could add these patterns to .github/actions/spell-check/patterns.txt:

# Automatically suggested patterns

# hit-count: 1 file-count: 1
# latex (check-spelling >= 0.0.22)
\\\w{2,}\{

Alternatively, if a pattern suggestion doesn't make sense for this project, add a #
to the beginning of the line in the candidates file with the pattern to stop suggesting it.

Errors, Warnings, and Notices ❌ (4)

See the 📂 files view, the 📜action log, or 📝 job summary for details.

❌ Errors, Warnings, and Notices Count
ℹ️ candidate-pattern 1
❌ check-file-path 62
❌ forbidden-pattern 2
⚠️ ignored-expect-variant 1

See ❌ Event descriptions for more information.

If the flagged items are 🤯 false positives

If items relate to a ...

  • binary file (or some other file you wouldn't want to check at all).

    Please add a file path to the excludes.txt file matching the containing file.

    File paths are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your files.

    ^ refers to the file's path from the root of the repository, so ^README\.md$ would exclude README.md (on whichever branch you're using).

  • well-formed pattern.

    If you can write a pattern that would match it,
    try adding it to the patterns.txt file.

    Patterns are Perl 5 Regular Expressions - you can test yours before committing to verify it will match your lines.

    Note that patterns can't match multiline strings.

@moooyo
Copy link
Contributor Author

moooyo commented Oct 20, 2025

Ok I believe this code is AOT ready.

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.

2 participants