From 150e7d40dd705d5e52bcdd7010491c5c7a529094 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Tue, 29 Nov 2022 14:41:22 -0500 Subject: [PATCH] Check spelling 0 0 21 (#22335) --- .github/actions/spell-check/README.md | 1 + .github/actions/spell-check/advice.md | 2 +- .../actions/spell-check/{ => allow}/allow.txt | 4 + .../actions/spell-check/candidate.patterns | 523 ++++++++++++++++++ .github/actions/spell-check/excludes.txt | 39 +- .github/actions/spell-check/expect.txt | 481 ++-------------- .../spell-check/line_forbidden.patterns | 27 +- .github/actions/spell-check/patterns.txt | 65 ++- .github/workflows/spelling2.yml | 89 ++- README.md | 2 +- .../keyboardmanager/keyboardmanager.md | 41 +- .../keyboardmanager/keyboardmanagercommon.md | 2 +- src/common/GPOWrapper/GPOWrapper.cpp | 2 +- src/common/utils/gpo.h | 2 +- .../MouseUtils/MouseHighlighter/dllmain.cpp | 2 +- .../fancyzones/FancyZonesLib/FancyZones.cpp | 2 +- .../FancyZonesData/AppliedLayouts.cpp | 4 +- .../FancyZonesData/DefaultLayouts.cpp | 18 +- .../FancyZonesData/DefaultLayouts.h | 6 +- .../FancyZonesWindowProperties.cpp | 2 +- .../FancyZonesWindowProperties.h | 2 +- src/modules/fancyzones/FancyZonesLib/trace.h | 4 +- .../UnitTests/DefaultLayoutsTests.Spec.cpp | 12 +- .../interface/powertoy_module_interface.h | 2 +- .../SingleKeyRemapControl.cpp | 6 +- .../KeyboardListener.cpp | 14 +- .../KeyboardListener.h | 2 +- .../GcodePreviewHandler.csproj | 2 +- .../GcodeThumbnailProvider.csproj | 2 +- .../MarkdownPreviewHandler.csproj | 2 +- .../MonacoPreviewHandler.csproj | 2 +- .../PdfPreviewHandler.csproj | 2 +- .../PdfThumbnailProvider.csproj | 2 +- .../StlThumbnailProvider.csproj | 2 +- .../SvgPreviewHandler.csproj | 2 +- .../SvgThumbnailProvider.csproj | 2 +- .../BugReportTool/ReportGPOValues.cpp | 2 +- 37 files changed, 862 insertions(+), 514 deletions(-) rename .github/actions/spell-check/{ => allow}/allow.txt (61%) create mode 100644 .github/actions/spell-check/candidate.patterns diff --git a/.github/actions/spell-check/README.md b/.github/actions/spell-check/README.md index ca5ca67d08..8dd5e9f88d 100644 --- a/.github/actions/spell-check/README.md +++ b/.github/actions/spell-check/README.md @@ -7,6 +7,7 @@ File | Purpose | Format | Info [excludes.txt](excludes.txt) | Files to ignore entirely | perl regular expression | [excludes](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-excludes) [only.txt](only.txt) | Only check matching files (applied after excludes) | perl regular expression | [only](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-only) [patterns.txt](patterns.txt) | Patterns to ignore from checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns) +[candidate.patterns](candidate.patterns) | Patterns that might be worth adding to [patterns.txt](patterns.txt) | perl regular expression with optional comment block introductions (all matches will be suggested) | [candidates](https://github.com/check-spelling/check-spelling/wiki/Feature:-Suggest-patterns) [line_forbidden.patterns](line_forbidden.patterns) | Patterns to flag in checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns) [expect.txt](expect.txt) | Expected words that aren't in the dictionary | one word per line (sorted, alphabetically) | [expect](https://github.com/check-spelling/check-spelling/wiki/Configuration#expect) [advice.md](advice.md) | Supplement for GitHub comment when unrecognized words are found | GitHub Markdown | [advice](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice) diff --git a/.github/actions/spell-check/advice.md b/.github/actions/spell-check/advice.md index 54f0c9b5e5..1004eeaa60 100644 --- a/.github/actions/spell-check/advice.md +++ b/.github/actions/spell-check/advice.md @@ -1,5 +1,5 @@ -
If the flagged items are false positives +
If the flagged items are :exploding_head: false positives If items relate to a ... * binary file (or some other file you wouldn't want to check at all). diff --git a/.github/actions/spell-check/allow.txt b/.github/actions/spell-check/allow/allow.txt similarity index 61% rename from .github/actions/spell-check/allow.txt rename to .github/actions/spell-check/allow/allow.txt index 0c45459ad8..abffec1de1 100644 --- a/.github/actions/spell-check/allow.txt +++ b/.github/actions/spell-check/allow/allow.txt @@ -1,5 +1,9 @@ bkmeneguello FWest +github +https obairka +ssh +ubuntu unuing wil diff --git a/.github/actions/spell-check/candidate.patterns b/.github/actions/spell-check/candidate.patterns new file mode 100644 index 0000000000..4b40e728ee --- /dev/null +++ b/.github/actions/spell-check/candidate.patterns @@ -0,0 +1,523 @@ +# marker to ignore all code on line +^.*/\* #no-spell-check-line \*/.*$ +# marker for ignoring a comment to the end of the line +// #no-spell-check.*$ + +# patch hunk comments +^\@\@ -\d+(?:,\d+|) \+\d+(?:,\d+|) \@\@ .* +# git index header +index [0-9a-z]{7,40}\.\.[0-9a-z]{7,40} + +# cid urls +(['"])cid:.*?\g{-1} + +# data url in parens +\(data:[^)]*?(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})[^)]*\) +# data url in quotes +([`'"])data:.*?(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1} +# data url +data:[-a-zA-Z=;:/0-9+]*,\S* + +# mailto urls +mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,} + +# magnet urls +magnet:[?=:\w]+ + +# magnet urls +"magnet:[^"]+" + +# obs: +"obs:[^"]*" + +# The `\b` here means a break, it's the fancy way to handle urls, but it makes things harder to read +# In this examples content, I'm using a number of different ways to match things to show various approaches +# asciinema +\basciinema\.org/a/[0-9a-zA-Z]+ + +# apple +\bdeveloper\.apple\.com/[-\w?=/]+ +# Apple music +\bembed\.music\.apple\.com/fr/playlist/usr-share/[-\w.]+ + +# appveyor api +\bci\.appveyor\.com/api/projects/status/[0-9a-z]+ +# appveyor project +\bci\.appveyor\.com/project/(?:[^/\s"]*/){2}builds?/\d+/job/[0-9a-z]+ + +# Amazon + +# Amazon +\bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|) +# AWS S3 +\b\w*\.s3[^.]*\.amazonaws\.com/[-\w/&#%_?:=]* +# AWS execute-api +\b[0-9a-z]{10}\.execute-api\.[-0-9a-z]+\.amazonaws\.com\b +# AWS ELB +\b\w+\.[-0-9a-z]+\.elb\.amazonaws\.com\b +# AWS SNS +\bsns\.[-0-9a-z]+.amazonaws\.com/[-\w/&#%_?:=]* +# AWS VPC +vpc-\w+ + +# While you could try to match `http://` and `https://` by using `s?` in `https?://`, sometimes there +# YouTube url +\b(?:(?:www\.|)youtube\.com|youtu.be)/(?:channel/|embed/|user/|playlist\?list=|watch\?v=|v/|)[-a-zA-Z0-9?&=_%]* +# YouTube music +\bmusic\.youtube\.com/youtubei/v1/browse(?:[?&]\w+=[-a-zA-Z0-9?&=_]*) +# YouTube tag +<\s*youtube\s+id=['"][-a-zA-Z0-9?_]*['"] +# YouTube image +\bimg\.youtube\.com/vi/[-a-zA-Z0-9?&=_]* +# Google Accounts +\baccounts.google.com/[-_/?=.:;+%&0-9a-zA-Z]* +# Google Analytics +\bgoogle-analytics\.com/collect.[-0-9a-zA-Z?%=&_.~]* +# Google APIs +\bgoogleapis\.(?:com|dev)/[a-z]+/(?:v\d+/|)[a-z]+/[-@:./?=\w+|&]+ +# Google Storage +\b[-a-zA-Z0-9.]*\bstorage\d*\.googleapis\.com(?:/\S*|) +# Google Calendar +\bcalendar\.google\.com/calendar(?:/u/\d+|)/embed\?src=[@./?=\w&%]+ +\w+\@group\.calendar\.google\.com\b +# Google DataStudio +\bdatastudio\.google\.com/(?:(?:c/|)u/\d+/|)(?:embed/|)(?:open|reporting|datasources|s)/[-0-9a-zA-Z]+(?:/page/[-0-9a-zA-Z]+|) +# The leading `/` here is as opposed to the `\b` above +# ... a short way to match `https://` or `http://` since most urls have one of those prefixes +# Google Docs +/docs\.google\.com/[a-z]+/(?:ccc\?key=\w+|(?:u/\d+|d/(?:e/|)[0-9a-zA-Z_-]+/)?(?:edit\?[-\w=#.]*|/\?[\w=&]*|)) +# Google Drive +\bdrive\.google\.com/(?:file/d/|open)[-0-9a-zA-Z_?=]* +# Google Groups +\bgroups\.google\.com/(?:(?:forum/#!|d/)(?:msg|topics?|searchin)|a)/[^/\s"]+/[-a-zA-Z0-9$]+(?:/[-a-zA-Z0-9]+)* +# Google Maps +\bmaps\.google\.com/maps\?[\w&;=]* +# Google themes +themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+. +# Google CDN +\bclients2\.google(?:usercontent|)\.com[-0-9a-zA-Z/.]* +# Goo.gl +/goo\.gl/[a-zA-Z0-9]+ +# Google Chrome Store +\bchrome\.google\.com/webstore/detail/[-\w]*(?:/\w*|) +# Google Books +\bgoogle\.(?:\w{2,4})/books(?:/\w+)*\?[-\w\d=&#.]* +# Google Fonts +\bfonts\.(?:googleapis|gstatic)\.com/[-/?=:;+&0-9a-zA-Z]* +# Google Forms +\bforms\.gle/\w+ +# Google Scholar +\bscholar\.google\.com/citations\?user=[A-Za-z0-9_]+ +# Google Colab Research Drive +\bcolab\.research\.google\.com/drive/[-0-9a-zA-Z_?=]* + +# GitHub SHAs (api) +\bapi.github\.com/repos(?:/[^/\s"]+){3}/[0-9a-f]+\b +# GitHub SHAs (markdown) +(?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|) +# GitHub SHAs +\bgithub\.com(?:/[^/\s"]+){2}[@#][0-9a-f]+\b +# GitHub wiki +\bgithub\.com/(?:[^/]+/){2}wiki/(?:(?:[^/]+/|)_history|[^/]+(?:/_compare|)/[0-9a-f.]{40,})\b +# githubusercontent +/[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]* +# githubassets +\bgithubassets.com/[0-9a-f]+(?:[-/\w.]+) +# gist github +\bgist\.github\.com/[^/\s"]+/[0-9a-f]+ +# git.io +\bgit\.io/[0-9a-zA-Z]+ +# GitHub JSON +"node_id": "[-a-zA-Z=;:/0-9+]*" +# Contributor +\[[^\]]+\]\(https://github\.com/[^/\s"]+\) +# GHSA +GHSA(?:-[0-9a-z]{4}){3} + +# GitLab commit +\bgitlab\.[^/\s"]*/\S+/\S+/commit/[0-9a-f]{7,16}#[0-9a-f]{40}\b +# GitLab merge requests +\bgitlab\.[^/\s"]*/\S+/\S+/-/merge_requests/\d+/diffs#[0-9a-f]{40}\b +# GitLab uploads +\bgitlab\.[^/\s"]*/uploads/[-a-zA-Z=;:/0-9+]* +# GitLab commits +\bgitlab\.[^/\s"]*/(?:[^/\s"]+/){2}commits?/[0-9a-f]+\b + +# binanace +accounts.binance.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]* + +# bitbucket diff +\bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}diff(?:stat|)(?:/[^/\s"]+){2}:[0-9a-f]+ +# bitbucket repositories commits +\bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}commits?/[0-9a-f]+ +# bitbucket commits +\bbitbucket\.org/(?:[^/\s"]+/){2}commits?/[0-9a-f]+ + +# bit.ly +\bbit\.ly/\w+ + +# bitrise +\bapp\.bitrise\.io/app/[0-9a-f]*/[\w.?=&]* + +# bootstrapcdn.com +\bbootstrapcdn\.com/[-./\w]+ + +# cdn.cloudflare.com +\bcdnjs\.cloudflare\.com/[./\w]+ + +# circleci +\bcircleci\.com/gh(?:/[^/\s"]+){1,5}.[a-z]+\?[-0-9a-zA-Z=&]+ + +# gitter +\bgitter\.im(?:/[^/\s"]+){2}\?at=[0-9a-f]+ + +# gravatar +\bgravatar\.com/avatar/[0-9a-f]+ + +# ibm +[a-z.]*ibm\.com/[-_#=:%!?~.\\/\d\w]* + +# imgur +\bimgur\.com/[^.]+ + +# Internet Archive +\barchive\.org/web/\d+/(?:[-\w.?,'/\\+&%$#_:]*) + +# discord +/discord(?:app\.com|\.gg)/(?:invite/)?[a-zA-Z0-9]{7,} + +# Disqus +\bdisqus\.com/[-\w/%.()!?&=_]* + +# medium link +\blink\.medium\.com/[a-zA-Z0-9]+ +# medium +\bmedium\.com/\@?[^/\s"]+/[-\w]+ + +# microsoft +\b(?:https?://|)(?:(?:download\.visualstudio|docs|msdn2?|research)\.microsoft|blogs\.msdn)\.com/[-_a-zA-Z0-9()=./%]* +# powerbi +\bapp\.powerbi\.com/reportEmbed/[^"' ]* +# vs devops +\bvisualstudio.com(?::443|)/[-\w/?=%&.]* +# microsoft store +\bmicrosoft\.com/store/apps/\w+ + +# mvnrepository.com +\bmvnrepository\.com/[-0-9a-z./]+ + +# now.sh +/[0-9a-z-.]+\.now\.sh\b + +# oracle +\bdocs\.oracle\.com/[-0-9a-zA-Z./_?#&=]* + +# chromatic.com +/\S+.chromatic.com\S*[")] + +# codacy +\bapi\.codacy\.com/project/badge/Grade/[0-9a-f]+ + +# compai +\bcompai\.pub/v1/png/[0-9a-f]+ + +# mailgun api +\.api\.mailgun\.net/v3/domains/[0-9a-z]+\.mailgun.org/messages/[0-9a-zA-Z=@]* +# mailgun +\b[0-9a-z]+.mailgun.org + +# /message-id/ +/message-id/[-\w@./%]+ + +# Reddit +\breddit\.com/r/[/\w_]* + +# requestb.in +\brequestb\.in/[0-9a-z]+ + +# sched +\b[a-z0-9]+\.sched\.com\b + +# Slack url +slack://[a-zA-Z0-9?&=]+ +# Slack +\bslack\.com/[-0-9a-zA-Z/_~?&=.]* +# Slack edge +\bslack-edge\.com/[-a-zA-Z0-9?&=%./]+ +# Slack images +\bslack-imgs\.com/[-a-zA-Z0-9?&=%.]+ + +# shields.io +\bshields\.io/[-\w/%?=&.:+;,]* + +# stackexchange -- https://stackexchange.com/feeds/sites +\b(?:askubuntu|serverfault|stack(?:exchange|overflow)|superuser).com/(?:questions/\w+/[-\w]+|a/) + +# Sentry +[0-9a-f]{32}\@o\d+\.ingest\.sentry\.io\b + +# Twitter markdown +\[\@[^[/\]:]*?\]\(https://twitter.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)\) +# Twitter hashtag +\btwitter\.com/hashtag/[\w?_=&]* +# Twitter status +\btwitter\.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|) +# Twitter profile images +\btwimg\.com/profile_images/[_\w./]* +# Twitter media +\btwimg\.com/media/[-_\w./?=]* +# Twitter link shortened +\bt\.co/\w+ + +# facebook +\bfburl\.com/[0-9a-z_]+ +# facebook CDN +\bfbcdn\.net/[\w/.,]* +# facebook watch +\bfb\.watch/[0-9A-Za-z]+ + +# dropbox +\bdropbox\.com/sh?/[^/\s"]+/[-0-9A-Za-z_.%?=&;]+ + +# ipfs protocol +ipfs://[0-9a-z]* +# ipfs url +/ipfs/[0-9a-z]* + +# w3 +\bw3\.org/[-0-9a-zA-Z/#.]+ + +# loom +\bloom\.com/embed/[0-9a-f]+ + +# regex101 +\bregex101\.com/r/[^/\s"]+/\d+ + +# figma +\bfigma\.com/file(?:/[0-9a-zA-Z]+/)+ + +# freecodecamp.org +\bfreecodecamp\.org/[-\w/.]+ + +# image.tmdb.org +\bimage\.tmdb\.org/[/\w.]+ + +# mermaid +\bmermaid\.ink/img/[-\w]+|\bmermaid-js\.github\.io/mermaid-live-editor/#/edit/[-\w]+ + +# Wikipedia +\ben\.wikipedia\.org/wiki/[-\w%.#]+ + +# gitweb +[^"\s]+/gitweb/\S+;h=[0-9a-f]+ + +# HyperKitty lists +/archives/list/[^@/]+\@[^/\s"]*/message/[^/\s"]*/ + +# lists +/thread\.html/[^"\s]+ + +# list-management +\blist-manage\.com/subscribe(?:[?&](?:u|id)=[0-9a-f]+)+ + +# kubectl.kubernetes.io/last-applied-configuration +"kubectl.kubernetes.io/last-applied-configuration": ".*" + +# pgp +\bgnupg\.net/pks/lookup[?&=0-9a-zA-Z]* + +# Spotify +\bopen\.spotify\.com/embed/playlist/\w+ + +# Mastodon +\bmastodon\.[-a-z.]*/(?:media/|\@)[?&=0-9a-zA-Z_]* + +# scastie +\bscastie\.scala-lang\.org/[^/]+/\w+ + +# images.unsplash.com +\bimages\.unsplash\.com/(?:(?:flagged|reserve)/|)[-\w./%?=%&.;]+ + +# pastebin +\bpastebin\.com/[\w/]+ + +# heroku +\b\w+\.heroku\.com/source/archive/\w+ + +# quip +\b\w+\.quip\.com/\w+(?:(?:#|/issues/)\w+)? + +# badgen.net +\bbadgen\.net/badge/[^")\]'\s]+ + +# statuspage.io +\w+\.statuspage\.io\b + +# media.giphy.com +\bmedia\.giphy\.com/media/[^/]+/[\w.?&=]+ + +# tinyurl +\btinyurl\.com/\w+ + +# getopts +\bgetopts\s+(?:"[^"]+"|'[^']+') + +# ANSI color codes +(?:\\(?:u00|x)1b|\x1b)\[\d+(?:;\d+|)m + +# URL escaped characters +\%[0-9A-F][A-F] +# IPv6 +\b(?:[0-9a-fA-F]{0,4}:){3,7}[0-9a-fA-F]{0,4}\b +# c99 hex digits (not the full format, just one I've seen) +0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP] +# Punycode +\bxn--[-0-9a-z]+ +# sha +sha\d+:[0-9]*[a-f]{3,}[0-9a-f]* +# sha-... -- uses a fancy capture +(['"]|")[0-9a-f]{40,}\g{-1} +# hex runs +\b[0-9a-fA-F]{16,}\b +# hex in url queries +=[0-9a-fA-F]*?(?:[A-F]{3,}|[a-f]{3,})[0-9a-fA-F]*?& +# ssh +(?:ssh-\S+|-nistp256) [-a-zA-Z=;:/0-9+]{12,} + +# PGP +\b(?:[0-9A-F]{4} ){9}[0-9A-F]{4}\b +# GPG keys +\b(?:[0-9A-F]{4} ){5}(?: [0-9A-F]{4}){5}\b +# Well known gpg keys +.well-known/openpgpkey/[\w./]+ + +# uuid: +\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b +# hex digits including css/html color classes: +(?:[\\0][xX]|\\u|[uU]\+|#x?|\%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|u\d+)\b +# integrity +integrity="sha\d+-[-a-zA-Z=;:/0-9+]{40,}" + +# https://www.gnu.org/software/groff/manual/groff.html +# man troff content +\\f[BCIPR] +# ' +\\\(aq + +# .desktop mime types +^MimeTypes?=.*$ +# .desktop localized entries +^[A-Z][a-z]+\[[a-z]+\]=.*$ +# Localized .desktop content +Name\[[^\]]+\]=.* + +# IServiceProvider +\bI(?=(?:[A-Z][a-z]{2,})+\b) + +# crypt +"\$2[ayb]\$.{56}" + +# scrypt / argon +\$(?:scrypt|argon\d+[di]*)\$\S+ + +# Input to GitHub JSON +content: "[-a-zA-Z=;:/0-9+]*=" + +# Python stringprefix / binaryprefix +# Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings +(?v# +(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_])) +# Compiler flags (Scala) +(?:^|[\t ,>"'`=(])-J-[DPWXY](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}) +# Compiler flags +#(?:^|[\t ,"'`=(])-[DPWXYLlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}) + +# Compiler flags (linker) +,-B +# curl arguments +\b(?:\\n|)curl(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)* +# set arguments +\bset(?:\s+-[abefimouxE]{1,2})*\s+-[abefimouxE]{3,}(?:\s+-[abefimouxE]+)* +# tar arguments +\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+ +# tput arguments -- https://man7.org/linux/man-pages/man5/terminfo.5.html -- technically they can be more than 5 chars long... +\btput\s+(?:(?:-[SV]|-T\s*\w+)\s+)*\w{3,5}\b +# macOS temp folders +/var/folders/\w\w/[+\w]+/(?:T|-Caches-)/ diff --git a/.github/actions/spell-check/excludes.txt b/.github/actions/spell-check/excludes.txt index 959ee2d7c9..e8006d0a24 100644 --- a/.github/actions/spell-check/excludes.txt +++ b/.github/actions/spell-check/excludes.txt @@ -1,12 +1,13 @@ # See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes (?:^|/)(?i)COPYRIGHT (?:^|/)(?i)LICEN[CS]E +(?:^|/)3rdparty/ (?:^|/)go\.sum$ (?:^|/)MonacoPreviewHandler/customLanguages/ (?:^|/)MonacoPreviewHandler/generateLanguagesJson.html (?:^|/)MonacoPreviewHandler/index.html -(?:^|/)MonacoPreviewHandler/monacoSpecialLanguages.js (?:^|/)MonacoPreviewHandler/monaco_languages.json +(?:^|/)MonacoPreviewHandler/monacoSpecialLanguages.js (?:^|/)monacoSRC/ (?:^|/)package(?:-lock|)\.json$ (?:^|/)timezones\.json$ @@ -15,17 +16,21 @@ /package(?:-lock|)\.json$ /pinyindb/ /settings-html/ -ignore$ [/.][a-z]{2}(?:-[a-zA-Z]{2}|)\. +\.a$ \.ai$ \.avi$ \.bmp$ \.bz2$ +\.class$ \.crt$ \.dat$ \.dll$ +\.docx?$ +\.drawio$ \.DS_Store$ \.eot$ +\.exe$ \.filters$ \.gcode$ \.gif$ @@ -36,14 +41,17 @@ ignore$ \.icns$ \.ico$ \.jar$ +\.jks$ \.jpe?g$ \.key$ \.lcl$ +\.lib$ \.lock$ \.map$ \.min\.. \.mod$ \.mp[34]$ +\.o$ \.ocf$ \.otf$ \.pdf$ @@ -51,12 +59,34 @@ ignore$ \.PNG$ \.png$ \.psd$ +\.pyc$ +\.s$ \.stl$ \.svg$ +\.svgz?$ +\.tar$ +\.tiff?$ \.ttf$ \.wav$ +\.webm$ +\.webp$ \.woff2?$ +\.xlsx?$ \.zip$ +^\.github/actions/spell-check/ +^\.gitmodules$ +^\Q.github/workflows/spelling2.yml\E$ +^\Q.pipelines/ESRPSigning_core.json\E$ +^\Qsrc/modules/colorPicker/ColorPickerUI/Shaders/GridShader.cso\E$ +^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/CorruptJson/Microsoft/PowerToys/settings.json\E$ +^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/v0.18.2/Microsoft/PowerToys/PowerRename/power-rename-ui-flags\E$ +^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/v0.19.2/Microsoft/PowerToys/PowerRename/power-rename-ui-flags\E$ +^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/v0.20.1/Microsoft/PowerToys/PowerRename/power-rename-ui-flags\E$ +^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/V0.21.1/Microsoft/PowerToys/FancyZones/settings.json\E$ +^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/V0.21.1/Microsoft/PowerToys/PowerRename/power-rename-ui-flags\E$ +^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/v0.22.0/Microsoft/PowerToys/FancyZones/settings.json\E$ +^\Qsrc/settings-ui/Settings.UI.UnitTests/BackwardsCompatibility/TestFiles/v0.22.0/Microsoft/PowerToys/PowerRename/power-rename-ui-flags\E$ +^\Qtools/project_template/ModuleTemplate/resource.h\E$ ^doc/devdocs/akaLinks\.md$ ^installer/PowerToysSetup/WebView2/MicrosoftEdgeWebview2Setup.exe$ ^src/common/logger/logger\.vcxproj\.filters$ @@ -71,7 +101,4 @@ ignore$ ^src/modules/previewpane/UnitTests-MarkdownPreviewHandler/HelperFiles/MarkdownWithHTMLImageTag.txt$ ^tools/CleanUp_tool/CleanUp_tool\.vcxproj\.filters$ ^tools/Verification scripts/Check preview handler registration\.ps1$ -^\.github/actions/spell-check/ -^\.gitmodules$ -^\Q.github/workflows/spelling2.yml\E$ -^\Q.pipelines/ESRPSigning_core.json\E$ +ignore$ diff --git a/.github/actions/spell-check/expect.txt b/.github/actions/spell-check/expect.txt index aeb4032a42..469ead5345 100644 --- a/.github/actions/spell-check/expect.txt +++ b/.github/actions/spell-check/expect.txt @@ -1,6 +1,4 @@ aaaa -abcdef -ABCDEFGHIJKLMNOPQRSTUVWXYZ abgr abi ABlocked @@ -14,18 +12,20 @@ accessibilityinsights Acl aclapi AColumn -acos acrt -actioned activatable ACTIVATEAPP activationaction ADDUNDORECORD ADifferent +administra ADMINS +adml +admx advapi advfirewall AFeature +AFFINETRANSFORM AFX AGGREGATABLE AHybrid @@ -33,14 +33,11 @@ Akrotiri Aktobe ALarger alekhyareddy -alignas ALLAPPS ALLINPUT -Alloc ALLOWUNDO ALPHATYPE Altdown -altform alwaysontop amd AMF @@ -50,32 +47,30 @@ AMPROPSETID Andreanof anges angularsen +Animatable ansicolor -antialias ANull AOC aocfnapldcnfbofgmbbllojgocaelgdd APARTMENTTHREADED APeriod -api APIENTRY APIIs APPBARDATA appdata APPEXECLINK -APPICON -appid +APPIDS appium Applets Applicationcan applicationframehost +Applist applog appmanifest appref apps appwindow appwiz -appx appxpackage APSTUDIO AQS @@ -83,9 +78,6 @@ Aqtobe arcosh ARemapped argb -argc -args -argv arik Arity arjunbalgovind @@ -98,8 +90,6 @@ Artsakh asdf AShortcut ASingle -asm -aspnet ASSOCCHANGED ASYNCWINDOWPLACEMENT ASYNCWINDOWPOS @@ -111,30 +101,22 @@ atleast atlfile atlstr Attribs -attrs Atyrau aumid Aut Authenticode AUTHN AUTHZ -Autofill -autogenerate AUTOHIDE AUTOMATIONPROPERTIES Autorun -Autosave -Autostart AUTOUPDATE AValid Avanc -Awaitable awakeness awakeversion AYUV -backend backtracer -BADD bak Bashkortostan Bayan @@ -146,7 +128,6 @@ betsegaw BGR bgra bhid -Bicubic bigbar bigobj binlog @@ -158,7 +139,7 @@ bitmask BITSPIXEL bla Blockquotes -blog +blogs BLUEGRAY Bluetooth BLURBEHIND @@ -168,7 +149,6 @@ bms BNumber Bokm BOKMAL -boolalpha bootstrapper BOOTSTRAPPERINSTALLFOLDER Bopomofo @@ -187,7 +167,6 @@ Btn BTNFACE Bto buf -BUFSIZE bugreport BUILDNUMBER buildtask @@ -203,7 +182,6 @@ callbackptr Cangjie CANRENAME CAPTURECHANGED -cassert CAtl cch CCom @@ -215,16 +193,13 @@ cdpx CENTERALIGN cguid changecursor -Changelog Changemove -charconv chdir CHILDACTIVATE CHILDWINDOW Choibalsan chrdavis chromaticities -chrono Chrzan CHT Chukotka @@ -233,11 +208,9 @@ cielab ciexyz cim CImage -cinttypes cla clangformat CLASSDC -classname CLASSNOTAVAILABLE clickable clickonce @@ -252,7 +225,6 @@ CLSCTX clsid Clusion cmder -Cmdlet cmdline Cmds CMIC @@ -260,14 +232,11 @@ CMINVOKECOMMANDINFO CMINVOKECOMMANDINFOEX CMock CMONITORS -cmp cmpgt cmyk cnt Cocklebiddy coclass -codebase -codecvt CODENAME codeofconduct codereview @@ -281,7 +250,6 @@ colorhistorylimit COLORKEY colorpicker COLORREF -colorscheme comctl COMDAT comdef @@ -289,19 +257,16 @@ comdlg comhost cominterop commandline +COMMANDTITLE commctrl Comoros companding -Compat COMPOSITIONFULL comsupp comsuppw comsuppwd comutil -Concat concrt -configs -Configurator CONFLICTINGMODIFIERKEY CONFLICTINGMODIFIERSHORTCUT CONOUT @@ -311,19 +276,16 @@ consts contentdialog contentfiles CONTEXTHELP -contextmenu CONTEXTMENUHANDLER CONTROLL CONTROLPARENT Controlz -coord copiedcolorrepresentation corewebview cortana cotaskmem COULDNOT countof -cout CPower cppblog cppruntime @@ -333,30 +295,18 @@ CProj CREATESCHEDULEDTASK CREATESTRUCT CREATEWINDOWFAILED -cref critsec -crlf -cron Crossdevice CRSEL -crutkas CSearch CSettings -csharp CSIDL -csignal cso CSRW -cstdint -cstdlib -cstring CStyle CSY -CTAB CTest -ctime Ctl -ctor CTRLALTDEL Ctrls Ctx @@ -371,20 +321,18 @@ cvd CVirtual cvtepu cvtsi -cwchar cwd cxfksword CXSMICON CXVIRTUALSCREEN +cxxopts cyberrex -Cyrl CYSMICON CYVIRTUALSCREEN cziplib +cziplob Dac dacl -DAffine -DAFFINETRANSFORM damienleroy Danmarkshavn DARKPURPLE @@ -407,6 +355,7 @@ dcommon dcomp dcompi DComposition +DCR DDevice ddf DDxgi @@ -415,9 +364,7 @@ debian debugbreak DECLAR declspec -decltype Dedup -deduplicate DEFAULTBOOTSTRAPPERINSTALLFOLDER DEFAULTCOLOR DEFAULTFLAGS @@ -436,16 +383,11 @@ DENORMAL Deondre depersist deprioritized -deps deref -deserialization -deserialize -deserialized DESKTOPABSOLUTEEDITING DESKTOPABSOLUTEPARSING desktopshorcutinstalled desktopwindowxamlsource -dest DEU devblogs devdocs @@ -453,12 +395,9 @@ devenum DEVMON devpkey DEVSOURCE -dhcp -difftime DIIRFLAG dimm directshow -dirs DISABLEASACTIONKEY DISPLAYCHANGE DISPLAYCONFIG @@ -471,10 +410,8 @@ dlib dllexport dllhost dllmain -dlls DNLEN Dns -doctype DONOTROUND DONTRESOLVEDLLREFERENCES DONTVALIDATEPATH @@ -485,14 +422,11 @@ DPolicy DPSAPI DQTAT DQTYPE -dragdrop DRAWFRAME drawingcolor dreamsofameaningfullife drivedetectionwarning dshow -dst -DTo dutil DVASPECT DVASPECTINFO @@ -517,7 +451,6 @@ DWMWA DWMWCP DWMWINDOWATTRIBUTE DWMWINDOWMAXIMIZEDCHANGE -dword DWORDLONG dworigin dwrite @@ -530,32 +463,22 @@ EData Edid EDITKEYBOARD editkeyboardwindow -editorconfig EDITSHORTCUTS editshortcutswindow EFile ekus -elif -elseif -eltociear emmintrin Emoji emptyrecyclebin ENABLEDELAYEDEXPANSION +enabledisable ENABLEDPOPUP -endforeach -endian -endif -endl endpointvolume endregion ENTERSIZEMOVE -entrypoint ENU -enum enumerationoptions EOAC -EOL epicgames epu Eqn @@ -564,7 +487,6 @@ EREOF EResize ERole ERRORLEVEL -ERRORMESSAGE ERRORTITLE ESettings esize @@ -588,7 +510,6 @@ examplehandler examplepowertoy EXCLUDEFROMCAPTURE exdisp -Executables executionpolicy exename exif @@ -597,14 +518,13 @@ exlist EXPCMDFLAGS EXPCMDSTATE explr -expr exsb EXSEL exstyle EXTENDEDKEY EXTENDEDVERBS eyetracker -fallthrough +fabricbot fancyzones FANCYZONESDRAWLAYOUTTEST FANCYZONESEDITOR @@ -619,15 +539,15 @@ fileapi FILEEXPLORER FILEFLAGS FILEFLAGSMASK -fileio +FILELOCKSMITH +FILELOCKSMITHEXT +FILELOCKSMITHLIB +FILELOCKSMITHLIBINTEROP FILEOP FILEOS -filepath FILESUBTYPE FILESYSPATH -filesystem FILETIME -filetype FILEVERSION Filtergraph Filterkeyboard @@ -636,29 +556,22 @@ finalizer findfast firefox FIXEDFILEINFO -flt flyout -fmtlib FOF FOFX FOLDERID folderpath FORCEMINIMIZE -foreach formatetc FRAMECHANGED -franky frankychen Froml FROMTOUCH FSCTL -fstream FTYPE -func Functiondiscoverykeys Futuna fwlink -fwrite FZE gabime GAC @@ -679,21 +592,17 @@ GETDESKWALLPAPER GETDLGCODE GETDPISCALEDSIZE GETICON -getline GETMINMAXINFO GETSTATE GETTEXT GETTEXTLENGTH GHND -github -githubusercontent globalassemblycache -globals Globbing GMEM GNumber google -GPTR +gpo gpu GSM gtm @@ -704,10 +613,11 @@ GValue gwl GWLP HACCEL +handlekeyboardhookevent handlerroutine hangeul hanselman -hardcoded +Hanzi Hardlines hardlinks HARDWAREINPUT @@ -732,8 +642,6 @@ HEB Heiko helptext Heure -HEVC -hfile HGFE hglobal hhk @@ -758,20 +666,16 @@ HKLM HKPD HKU HLOCAL -HLSL HMD hmenu hmodule hmonitor HOLDENTER HOLDESC -homepage HOMEPATH homljgmgpmcbpjbnjpfijnhipfkiclkd HOOKPROC Hostbackdropbrush -hostname -hotfix hotkeycontrol hotkeys hotlight @@ -806,90 +710,35 @@ HWNDFIRST HWNDLAST HWNDNEXT HWNDPREV -IAction -IActivated -IActivation -IAnimatable -IApp -IApplication -IAppx -IAsync -IAudio -IBackground +hyjiacan IBase IBeam -IBind ICapture -icase ICEBLUE IClass -IClosable -ICollection -IColor -ICommand -IComparer -ICompositor ICONERROR -IContext -ICreate IData IDD -IDelayed IDesktop -IDictionary IDirect -IDirectory -IDispatch -IDispatcher -IDisposable idl IDLIST IDOn IDR -IDrawing -IDrive idx IDXGI -IEasing -IElevation -IEnum -IEnumerable -IEnumerator -IEnvironment -IEquality -IEquatable -IEvent IExec IEXPLORE -IExplorer Iface IFACEMETHOD IFACEMETHODIMP -IFancy -ifdef -IFeatures -IFile IFilter -ifndef -IFolder -IFormat -IFormatter -ifstream -IGraph IGraphics -ihost iid -IImage Iindex -IInitialize -IInspectable -IInvoke IIO -IItem -IJson Ijwhost IKs -IList ILogon IMAGEHLP imageresizer @@ -898,18 +747,8 @@ IMAGERESIZEREXT imageresizerinput imageresizersettings imagingdevices -IMain -IMarkdown ime -IMedia -IMem -IMessage imeutil -IMoniker -IMouse -impl -IMulti -indierawk inetcpl Infobar INFOEXAMPLE @@ -920,9 +759,6 @@ initguid Inkscape Inlines inorder -INotification -INotify -inout INPC inproc inputdev @@ -946,95 +782,40 @@ Inste Intelli interactable Interlop -interop -Interoperability -intptr INTRESOURCE INVALIDARG invalidoperatioexception -IObject iobjectwithsitesetsite -IObservable -IOle iolewindowcontextsensitivehelp -iomanip -IOne -iostream -IPackage -IPath ipc ipcmanager -ipconfig -IPersist -IPin IPlugin IPower ipreview ipreviewhandler ipreviewhandlertranslateaccelerator ipreviewhandlervisualssetfont -IPrincipal -IProgram IProperty IPublic -IQuery -IRead -IReference -IRegistered -IRegistration -IRegistry -IReloadable -IRepository -IResource -IResult -ISavable isbi ISearch -IService -isetting +ISettings isfinite IShell -ISingle -ISite -ISmart isocpp iss -IStream -istreambuf -istringstream -iswpunct -iswspace -ISynchronize -ITab ITask -ITemplate -ITerminal -ITest ith -IThrottled -ithumbnail -ITrigger +ITHUMBNAIL Ittoqqortoormiit IUI IUnknown -IUri -IUrl -IUser -IValue -IVector -IView -IVirtual ivirtualdesktopmanager IWbem IWIC -iwindow iwr -IXml IYUV -IZone -IZoom JArray -jefflord jfif jgeosdfsdsgmkedfgdfgdfgbkmhcgcflmi jjw @@ -1045,21 +826,18 @@ jpnime JSONOf Jsons jsonval -jsoref junja jxr jyuwono KBDLLHOOKSTRUCT kbm KEYBDINPUT -keybindings keyboardeventhandlers keyboardmanager keyboardmanagercommon KEYBOARDMANAGEREDITOR keyboardmanagerstate keyboardmanagerui -keycode keydown keydropdowncontrol keyevent @@ -1067,7 +845,6 @@ KEYEVENTF keynum keyremaps keystokes -Keystool Keytool keyup Khakassia @@ -1087,7 +864,6 @@ LAlt Lambson langword Lastdevice -Latn Laute laviusmotileng LAYOUTRTL @@ -1104,30 +880,24 @@ Ldone ldx LEFTSCROLLBAR lego -lemy len LError Lessthan LEVELID LExit -lgii lhs lhwnd -lia LIBID -Lifecycle LIGHTORANGE LIGHTTURQUOISE lindex linkedin linq LINQTo -Linux listview lld LLKH llkhf -Llvm lmcons LMEM LMENU @@ -1136,10 +906,9 @@ LOADLIBRARYASDATAFILE LOBYTE LOCALAPPDATA LOCALDISPLAY -localhost LOCALPACKAGE localport -localtime +LOCALSYSTEM LOCATIONCHANGE logconsole logfile @@ -1150,7 +919,6 @@ LOGPIXELSX LOn longdate LONGLONG -lookbehind lowlevel LOWORD lparam @@ -1188,6 +956,7 @@ lstrlen LTRB LTRREADING Luhansk +luid LWA lwin LZero @@ -1202,7 +971,6 @@ makecab MAKEINTRESOURCE MAKEINTRESOURCEW makepri -malloc Mangere Mangystau manifestdependency @@ -1211,6 +979,7 @@ MAPPEDTOSAMEKEY MAPTOSAMESHORTCUT MAPVK Markdig +Markovic Marquesas martinchrzan martinmoene @@ -1235,9 +1004,6 @@ mdwn MEDIASUBTYPE mediatype Melman -memcmp -memcpy -memset MENUITEMINFO MENUITEMINFOW menurc @@ -1256,7 +1022,6 @@ Midl mii MIIM millis -mimetype mindaro Minimatch Minimizable @@ -1265,7 +1030,6 @@ MINIMIZEEND MINIMIZESTART miniz minlevel -minmax MINORVERSION Miracast Mishkeegogamang @@ -1274,7 +1038,6 @@ mkd mkdn mlcfg MMdd -MMDDYYYY mmdeviceapi mmi mmsys @@ -1310,9 +1073,7 @@ msclr mscoree mscorlib msdata -msdn msedge -MSFT MSGFLT MSIFASTINSTALL MSIHANDLE @@ -1324,27 +1085,21 @@ MSLLHOOKSTRUCT Mso msp msrc +msstore mst msvc msvcp MTND Mul -multiline MULTIPLEUSE -Multiselect -multiset multizone Mundrabilla -mutex -mutexes -muxc mvvm myfile MYICON MYTZ NAMECHANGE nameof -namespace Navassa navigatetostring NCACTIVATE @@ -1353,7 +1108,6 @@ NCCALCSIZE NCCREATE NCDESTROY NCHITTEST -ncipe NCLBUTTONDBLCLK NCLBUTTONDOWN NCLBUTTONUP @@ -1368,11 +1122,10 @@ NCRBUTTONDBLCLK NCRBUTTONDOWN NCRBUTTONUP NCRENDERING -NDEBUG Ndombe ndp NEEDDISPATCH -NEQ +Nemeth NESW netcore netcoreapp @@ -1387,7 +1140,6 @@ newitem newpath newrow newtonsoft -nia niels nielslaute NIF @@ -1402,7 +1154,6 @@ NOCOPYBITS nodeca nodiscard nodoc -noexcept NOINHERITLAYOUT NOINTERFACE NOLINKINFO @@ -1431,7 +1182,6 @@ NOSEARCH NOSENDCHANGING NOSIZE notfound -nothrow NOTIFICATIONSDLL NOTIFYICONDATAW NOTIMPL @@ -1442,24 +1192,19 @@ NOTRACK NOUPDATE NOZORDER NPH -npm -npos NResize +NTAPI ntdll NTFS NTSTATUS -nuget +nugets nullonfailure -nullopt -nullptr numberbox NUMLOCK NUMPAD Nunavut Nusa -nushell nwc -NWSE Objbase OBJID objidl @@ -1471,7 +1216,6 @@ odbccp Oem officehubintl ofs -ofstream oldcolor olditem oldnewthing @@ -1496,8 +1240,6 @@ ORAW ORPHANEDDIALOGTITLE oss ostr -ostream -ostringstream OSVERSIONINFOEX OSVERSIONINFOEXW osvi @@ -1510,17 +1252,15 @@ outro outsettings OVERLAPPEDWINDOW overlaywindow -Overridable Oversampling OWNDC +Packagemanager PACL -pagos PAINTSTRUCT PALEBLUE palenshus PALETTEWINDOW paramref -params PARENTNOTIFY PARENTRELATIVEEDITING PARENTRELATIVEFORADDRESSBAR @@ -1554,6 +1294,7 @@ pfo pft pgp pguid +PHANDLE PHANDLER phbm phbmp @@ -1565,7 +1306,6 @@ PIDLIST PINDIR pinfo pinvoke -Pipelinhttps pipename Pitcairn PKBDLLHOOKSTRUCT @@ -1575,15 +1315,14 @@ PLK ploc ploca plocm -plugin +plugins pluginsmodel PMSIHANDLE Pohnpei -popup +Popups POPUPWINDOW posix poweraccent -powercfg powerlauncher POWEROCR powerpreview @@ -1592,6 +1331,7 @@ POWERRENAMECONTEXTMENU powerrenameinput POWERRENAMETEST powertoy +POWERTOYNAME powertoyssetup Powrprof ppidl @@ -1605,13 +1345,10 @@ ppsrree ppsz pptal ppv -pragma prc precomp Prefixer Preinstalled -preload -PREMULTIPLIED prevhost previewer previewhandlerframeinfo @@ -1624,7 +1361,6 @@ prgms pri Primorsky PRINTCLIENT -printf prm proactively PROCESSKEY @@ -1648,15 +1384,15 @@ psrree pstr pstream pstrm +PSYSTEM psz ptb ptc ptd PTOKEN PToy -ptr ptstr -PVOID +PULONG pwa pwcs pwsh @@ -1669,8 +1405,6 @@ qit QITAB QITABENT qps -quateur -Queryable QUERYENDSESSION queryfocus QUERYOPEN @@ -1687,7 +1421,6 @@ RAWINPUT RAWINPUTDEVICE RAWINPUTHEADER RAWPATH -rbegin Rbp RBUTTON RBUTTONDBLCLK @@ -1696,11 +1429,8 @@ RBUTTONUP rclsid RCONTROL RCtrl -readme READMODE -readonly READWRITE -REALTIME RECTDESTINATION RECTL rectp @@ -1711,14 +1441,11 @@ Redist redistributable reencode reencoded -refactor -refactoring REFCLSID REFGUID REFIID REGCLS regedit -regex regfile REGFILTER REGFILTERPINS @@ -1728,7 +1455,7 @@ registrypath regkey REGPINTYPES regsvr -reimplementing +reinit REINSTALLMODE reloadable Remapper @@ -1746,7 +1473,6 @@ requerying rescap resgen resheader -Resizable resizers resmimetype RESOURCEID @@ -1759,18 +1485,15 @@ resw resx retval rfc -rfind RGBQUAD rgbs rgn rgs rhs ricardosantos -Richtext RIDEV RIGHTSCROLLBAR riid -riverar RKey RLO RMENU @@ -1783,13 +1506,12 @@ roslyn Rothera roundf ROUNDSMALL -royvou Rpc RRF rrr +RSAT rshift Rsp -rst Rstrtmgr RTB RTLREADING @@ -1805,7 +1527,8 @@ runtimeconfig runtimeobject runtimes RUS -rvalue +Rutkas +RValue rvm rwin ryanbodrug @@ -1815,7 +1538,6 @@ safeprojectname SAMEKEYPREVIOUSLYMAPPED SAMESHORTCUTPREVIOUSLYMAPPED SAVEFAILED -scalability scancode scanled Schd @@ -1825,23 +1547,21 @@ scipbe scoobe SCOPEID screenshot -scrollable scrollviewer sddl -sdk SDKDDK sdns searchterm +secauthz Secur securityoverview -seekg segoe Sekan SENDCHANGE sendinput sendvirtualinput Seperate -serializer +Seraphima serverside SETCONTEXT setcursor @@ -1906,22 +1626,18 @@ shtypes SICHINT sid siex -SIGABRT sigdn SIGNINGSCENARIO Signtool -sinclairinat SINGLEKEY singlekeyremapcontrol singletones -Sint sipolicy SIZEBOX Sizename SIZENESW SIZENS SIZENWSE -sizeof sizeread SIZEWE SKIPOWNPROCESS @@ -1932,7 +1648,6 @@ SMALLICON smartphone SMTO snd -snickler snwprintf softline somil @@ -1948,27 +1663,21 @@ spec'ing specialfolder spesi splitwstring -sprintf spsi spsia spsrm spsv -sqlite SRCCOPY Srch sre Srednekolymsk SResize -SRGB srme srre srw srwlock sse ssf -ssh -sstream -stackalloc STACKFRAME stackoverflow stackpanel @@ -1987,37 +1696,20 @@ STDAPI stdcall stdcpp stdcpplatest -stdexcept -stdin -stdio -stdlib STDMETHODCALLTYPE STDMETHODIMP -stdout stefan Stereolithography stgm STGMEDIUM sticpl stl -stoi -stol -stoll storelogo -stoul -stoull -strcmp -streampos -strftime -strikethrough -Stringified -Stringify STRINGIZE stringtable stringval Strmiids strsafe -structs strutil sttngs Stubless @@ -2025,13 +1717,11 @@ STYLECHANGED STYLECHANGING stylecop Subdir -subfolder +subfolders subkey SUBLANG -submenu subquery subresource -substr Sul Superbar Suri @@ -2043,9 +1733,7 @@ svgz SWC SWFO SWP -swprintf SWRESTORE -swscanf SYMED SYMOPT SYNCMFT @@ -2060,24 +1748,24 @@ sysinfo SYSKEY syskeydown syskeyup -syslog SYSMENU SYSTEMAPPS -systemd +systemroot SYSTEMTIME +sysvol Tadele Tajikistan talynone TApp TApplication TApplied +Taras targ TARGETAPPHEADER TARGETDIR targetentrypoint TARGETHEADER targetnametoken -targetsize targetver taskbar taskkill @@ -2088,12 +1776,13 @@ Tcollab tcscpy TCustom tdbuild +TDefault TDevice telem -tellg Templated templatenamespace Tenggara +testapp testcase testhost testprocess @@ -2101,6 +1790,7 @@ TEXCOORD textblock TEXTEXTRACTOR TEXTINCLUDE +themeresources THH THICKFRAME THISCOMPONENT @@ -2108,7 +1798,6 @@ THotkey TILEDWINDOW timedate timediff -Timeline timeunion timeutil timezones @@ -2117,32 +1806,25 @@ TLayout tlb TMPVAR TNP -todo toggleswitch toolkitcontrols toolkitconverters Toolset toolwindow TOPDOWNDIB -toplevel tostring TOUCHEVENTF TOUCHINPUT touchpad -toupper Towindow -towlower -towupper tracelogging traies -transcoded transicc Transnistria TRAYMOUSEMESSAGE triaging TRK trl -trunc Tshuapa TStr Tuva @@ -2154,15 +1836,12 @@ TYPEKEY TYPEKEYBOARD TYPELIB TYPEMOUSE -typename -typeof typeparam TYPESHORTCUT UAC UAL uap uapmanifestschema -ubuntu udit Udk Udmurtia @@ -2173,30 +1852,18 @@ UIA uiauto uid UIEx -uint -uintptr -UIPI +uipi UIs Ulaanbaatar ULARGE -ULLONG -ulong ULONGLONG -unchecks -uncomment uncompilable UNCPRIORITY -undef UNDNAME -unescape -Unicast UNICODETEXT -Unindent Uninitialize -uninstall uninstalling uninstantiated -Uniq uniquifier Uniquifies unitconverter @@ -2204,11 +1871,9 @@ unittests unk unknwn UNLEN -unlicense Unmap unmute UNORM -unregister unregistering unremapped unsubscribe @@ -2216,24 +1881,18 @@ unvirtualized Updatelayout UPGRADINGPRODUCTCODE Uptool -upvote -uri -URLs Urville Usb USEDEFAULT USEFILEATTRIBUTES USERDATA USERDOMAIN -username userprofile USESHOWWINDOW USESTDHANDLES -ushort USRDLL Utc utf -utils uuidof Uvs uwp @@ -2263,7 +1922,6 @@ VERIFYCONTEXT verrsrc VERSIONINFO Versioning -vformat VFT vget vgetq @@ -2275,13 +1933,9 @@ VIDEOINFOHEADER viewbox viewmodel vih -virtualization -Virtualizing virtualkey visiblecolorformats Visibletrue -visualbrush -visualstudio VKey VKTAB vmovl @@ -2295,7 +1949,6 @@ vreinterpretq VSC VSCBD vscdb -vscode vsconfig VSCROLL vsetq @@ -2314,14 +1967,7 @@ wca wcautil WCE wcex -wchar WClass -wcout -wcscat -wcscmp -wcscpy -wcslen -wcsncmp wcsnicmp WDA wdp @@ -2329,17 +1975,15 @@ wdupenv weakme webcam webpage +websearch webserver website -webview wekyb Wevtapi -wformat wgpocpl whitespaces WIC wifi -wiki wikipedia wildcards winapi @@ -2361,6 +2005,7 @@ WINDOWSBUILDNUMBER Windowscodecs windowsdesktop windowssearch +windowssettings WINDOWSTYLES WINDOWSTYLESICON windowsx @@ -2385,6 +2030,7 @@ winrt winsdk winsdkver winspool +winternl WINTHRESHOLD winui winuiex @@ -2401,7 +2047,6 @@ WKSG Wlkr wmain Wman -wmentha wmi WMICIM WMKEYDOWN @@ -2414,18 +2059,15 @@ WNDCLASS WNDCLASSEX WNDCLASSEXW WNDPROC -wofstream wordpad workaround -workflow +workflows workspaces -wostream -wostringstream wox wparam wpf +wpftmp wpr -wprintf wprp wql wregex @@ -2438,8 +2080,6 @@ wsh wsl wss wstr -wstring -wstringstream wsz wtoi WTS @@ -2451,7 +2091,6 @@ wuceffectsi WVC Wwan Wwanpp -xamarin XAttribute Xbox XBUTTON @@ -2466,7 +2105,6 @@ XIncrement XLoc XNamespace XOffset -xpath XPixel XResource xsi @@ -2474,7 +2112,9 @@ XStr XVIRTUALSCREEN Yamalia YIncrement +yinle yinwang +yinyue YOffset YStr YUY @@ -2483,13 +2123,14 @@ YUYV YVIRTUALSCREEN YVU YVYU -yyyy Zabaykalsky ZEROINIT ZIndex zipfile +zipfolder zonable zoneset Zoneszonabletester Zonev +Zykova zzz diff --git a/.github/actions/spell-check/line_forbidden.patterns b/.github/actions/spell-check/line_forbidden.patterns index 4ca15837cc..e8c5179a47 100644 --- a/.github/actions/spell-check/line_forbidden.patterns +++ b/.github/actions/spell-check/line_forbidden.patterns @@ -1,6 +1,11 @@ # reject `m_data` as there's a certain OS which has evil defines that break things if it's used elsewhere # \bm_data\b +# If you have a framework that uses `it()` for testing and `fit()` for debugging a specific test, +# you might not want to check in code where you were debugging w/ `fit()`, in which case, you might want +# to use this: +#\bfit\( + # s.b. GitHub \bGithub\b @@ -19,6 +24,12 @@ # s.b. greater than \bgreater then\b +# s.b. into +\sin to\s + +# s.b. opt-in +\sopt in\s + # s.b. less than \bless then\b @@ -30,10 +41,22 @@ \b[Nn]o[nt][- ]existent\b # s.b. preexisting -[Pp]re-existing +[Pp]re[- ]existing + +# s.b. preempt +[Pp]re[- ]empt\b # s.b. preemptively -[Pp]re-emptively +[Pp]re[- ]emptively + +# s.b. reentrancy +[Rr]e[- ]entrancy + +# s.b. reentrant +[Rr]e[- ]entrant + +# s.b. workaround(s) +#\bwork[- ]arounds?\b # Reject duplicate words \s([A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})\s\g{-1}\s diff --git a/.github/actions/spell-check/patterns.txt b/.github/actions/spell-check/patterns.txt index 7b05b48264..774349778a 100644 --- a/.github/actions/spell-check/patterns.txt +++ b/.github/actions/spell-check/patterns.txt @@ -1,5 +1,50 @@ # See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns +# Automatically suggested patterns +# hit-count: 2206 file-count: 617 +# IServiceProvider +\bI(?=(?:[A-Z][a-z]{2,})+\b) + +# hit-count: 111 file-count: 57 +# hex runs +\b[0-9a-fA-F]{16,}\b + +# hit-count: 89 file-count: 36 +# GitHub SHAs (markdown) +(?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|) + +# hit-count: 67 file-count: 59 +# w3 +\bw3\.org/[-0-9a-zA-Z/#.]+ + +# hit-count: 47 file-count: 3 +# Contributor +\[[^\]]+\]\(https://github\.com/[^/\s"]+\) + +# hit-count: 45 file-count: 2 +# Non-English +[a-zA-Z]*[ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]* + +# hit-count: 22 file-count: 18 +# stackexchange -- https://stackexchange.com/feeds/sites +\b(?:askubuntu|serverfault|stack(?:exchange|overflow)|superuser).com/(?:questions/\w+/[-\w]+|a/) + +# hit-count: 7 file-count: 3 +# Wikipedia +\ben\.wikipedia\.org/wiki/[-\w%.#]+ + +# hit-count: 5 file-count: 3 +# vs devops +\bvisualstudio.com(?::443|)/[-\w/?=%&.]* + +# hit-count: 3 file-count: 3 +# githubusercontent +/[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]* + +# hit-count: 2 file-count: 2 +# mailto urls +mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,} + https?://(?:(?:www\.|)youtube\.com|youtu.be)/[-a-zA-Z0-9?&=]* # GitHub SHAs \bapi.github\.com/repos/[^/]+/[^/]+/[^/]+/[0-9a-f]+\b @@ -94,7 +139,7 @@ TestCase\("[^"]+" \[TestCase\(new string.*\] # D2D -D2D +D?2D # marker for ignoring a comment to the end of the line ^.*/\* #no-spell-check-line \*/.*$ @@ -108,15 +153,27 @@ http://tes/ # fabricbot.json "id": "\S+" "commentPattern": ".*" +# Questionably acceptable forms of `in to` +# Personally, I prefer `log into`, but people object +# https://www.tprteaching.com/log-into-log-in-to-login/ +\b[Ll]og in to\b # acceptable duplicates # ls directory listings # /bin/ls -l output [-bcdlpsw](?:[-r][-w][-sx]){3}\s+\d+\s+(\S+)\s+\g{-1}\s+\d+\s+ -# C types -\s(long|LONG) \g{-1}\s +# C types and repeated CSS values +\s(center|div|inherit|long|LONG|none|normal|solid|thin|transparent|very)(?: \g{-1})+\s +# go templates +\s(\w+)\s+\g{-1}\s+\`(?:graphql|json|yaml): # javadoc / .net -(?:\@(?:groupname|param)|(?:public|private)(?:\s+static|\s+readonly)*)\s+(\w+)\s+\g{-1}\s +(?:[\\@](?:groupname|param)|(?:public|private)(?:\s+static|\s+readonly)*)\s+(\w+)\s+\g{-1}\s + +# Commit message -- Signed-off-by and friends +^\s*(?:(?:Based-on-patch|Co-authored|Helped|Mentored|Reported|Reviewed|Signed-off)-by|Thanks-to): (?:[^<]*<[^>]*>|[^<]*)\s*$ + +# Autogenerated revert commit message +^This reverts commit [0-9a-f]{40}\.$ # ignore long runs of a single character: \b([A-Za-z])\g{-1}{3,}\b diff --git a/.github/workflows/spelling2.yml b/.github/workflows/spelling2.yml index 8887946da3..0cbb2ce08c 100644 --- a/.github/workflows/spelling2.yml +++ b/.github/workflows/spelling2.yml @@ -1,10 +1,54 @@ # spelling.yml is blocked per https://github.com/check-spelling/check-spelling/security/advisories/GHSA-g86g-chm8-7r2p name: Spell checking + +# Comment management is handled through a secondary job, for details see: +# https://github.com/check-spelling/check-spelling/wiki/Feature%3A-Restricted-Permissions +# +# `jobs.comment-push` runs when a push is made to a repository and the `jobs.spelling` job needs to make a comment +# (in odd cases, it might actually run just to collapse a commment, but that's fairly rare) +# it needs `contents: write` in order to add a comment. +# +# `jobs.comment-pr` runs when a pull_request is made to a repository and the `jobs.spelling` job needs to make a comment +# or collapse a comment (in the case where it had previously made a comment and now no longer needs to show a comment) +# it needs `pull-requests: write` in order to manipulate those comments. + +# Updating pull request branches is managed via comment handling. +# For details, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-expect-list +# +# These elements work together to make it happen: +# +# `on.issue_comment` +# This event listens to comments by users asking to update the metadata. +# +# `jobs.update` +# This job runs in response to an issue_comment and will push a new commit +# to update the spelling metadata. +# +# `with.experimental_apply_changes_via_bot` +# Tells the action to support and generate messages that enable it +# to make a commit to update the spelling metadata. +# +# `with.ssh_key` +# In order to trigger workflows when the commit is made, you can provide a +# secret (typically, a write-enabled github deploy key). +# +# For background, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-with-deploy-key + on: - pull_request_target: push: - branches: ["**"] - tags-ignore: ["**"] + branches: + - "**" + tags-ignore: + - "**" + pull_request_target: + branches: + - "**" + tags-ignore: + - "**" + types: + - 'opened' + - 'reopened' + - 'synchronize' jobs: spelling: @@ -24,30 +68,55 @@ jobs: steps: - name: check-spelling id: spelling - uses: check-spelling/check-spelling@v0.0.20 + uses: check-spelling/check-spelling@v0.0.21 with: config: .github/actions/spell-check suppress_push_for_open_pull_request: 1 checkout: true + check_file_names: 1 + spell_check_this: check-spelling/spell-check-this@prerelease post_comment: 0 + use_magic_file: 1 + extra_dictionary_limit: 10 extra_dictionaries: + cspell:software-terms/src/software-terms.txt + cspell:cpp/src/stdlib-cpp.txt cspell:filetypes/filetypes.txt + cspell:cpp/src/stdlib-c.txt + cspell:fullstack/fullstack.txt cspell:html/html.txt cspell:css/css.txt - check_extra_dictionaries: '' - comment: - name: Comment + comment-push: + name: Report (Push) + # If your workflow isn't running on push, you can remove this job runs-on: ubuntu-latest needs: spelling permissions: contents: write - pull-requests: write - if: (success() || failure()) && needs.spelling.outputs.followup + if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push' steps: - name: comment - uses: check-spelling/check-spelling@v0.0.20 + uses: check-spelling/check-spelling@v0.0.21 with: config: .github/actions/spell-check checkout: true + spell_check_this: check-spelling/spell-check-this@prerelease + task: ${{ needs.spelling.outputs.followup }} + + comment-pr: + name: Report (PR) + # If you workflow isn't running on pull_request*, you can remove this job + runs-on: ubuntu-latest + needs: spelling + permissions: + pull-requests: write + if: (success() || failure()) && needs.spelling.outputs.followup && contains(github.event_name, 'pull_request') + steps: + - name: comment + uses: check-spelling/check-spelling@v0.0.21 + with: + config: .github/actions/spell-check + checkout: true + spell_check_this: check-spelling/spell-check-this@prerelease task: ${{ needs.spelling.outputs.followup }} diff --git a/README.md b/README.md index 59f5cda518..41fd96a973 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,7 @@ In this release, we focused on releasing new features and improvements. - Added a warning about how to install languages for OCR recognition. - Fixed the overlay not focusing after the first activation. -- Added spaces between CJK and non-CKJ words. Thanks [@maggch97](https://github.com/maggch97)! +- Added spaces between CJK and non-CJK words. Thanks [@maggch97](https://github.com/maggch97)! ### Video Conference Mute - Added a setting to hide the Video Conference Mute overlay when muted. Thanks [@akabhirav](https://github.com/akabhirav)! diff --git a/doc/devdocs/modules/keyboardmanager/keyboardmanager.md b/doc/devdocs/modules/keyboardmanager/keyboardmanager.md index 7924290748..b58a51b74f 100644 --- a/doc/devdocs/modules/keyboardmanager/keyboardmanager.md +++ b/doc/devdocs/modules/keyboardmanager/keyboardmanager.md @@ -1,24 +1,27 @@ # Keyboard Manager module This file contains the documentation for the KeyboardManager PowerToy module which is called by the runner. ## Table of Contents: -1. [Class members](#Class-members) -2. [Enable/Disable](#Enable/disable) -3. [Settings format](#Settings-format) -4. [Loading settings](#Loading-settings) -5. [Low level keyboard hook handler](#Low-level-keyboard-hook-handler) -6. [Custom Action to launch KBM UI](#Custom-Action-to-launch-KBM-UI) -7. [SendInput Special Scenarios](#SendInput-Special-Scenarios) - 1. [Extended keys](#Extended-keys) - 2. [Scan code](#Scan-code) -8. [Special Scenarios](#Special-Scenarios) - 1. [Dummy key events](#Dummy-key-events) - 2. [Suppressing Num Lock in a keyboard hook](#Suppressing-Num-Lock-in-a-keyboard-hook) - 3. [Modifier-Caps Lock interaction on Japanese IME keyboards](#Modifier-Caps-Lock-interaction-on-Japanese-IME-keyboards) - 4. [UIPI Issues (not resolved)](#UIPI-Issues-(not-resolved)) -9. [Other remapping approaches](#Other-remapping-approaches) - 1. [Registry approach](#Registry-approach) - 2. [Driver approach](#Driver-approach) -10. [Telemetry](#Telemetry) +- [Keyboard Manager module](#keyboard-manager-module) + - [Table of Contents:](#table-of-contents) + - [Class members](#class-members) + - [Enable/Disable](#enabledisable) + - [Settings format](#settings-format) + - [Loading settings](#loading-settings) + - [Low level keyboard hook handler](#low-level-keyboard-hook-handler) + - [HandleKeyboardHookEvent](#handlekeyboardhookevent) + - [Custom Action to launch KBM UI](#custom-action-to-launch-kbm-ui) + - [SendInput Special Scenarios](#sendinput-special-scenarios) + - [Extended keys](#extended-keys) + - [Scan code](#scan-code) + - [Special Scenarios](#special-scenarios) + - [Dummy key events](#dummy-key-events) + - [Suppressing Num Lock in a keyboard hook](#suppressing-num-lock-in-a-keyboard-hook) + - [Modifier-Caps Lock interaction on Japanese IME keyboards](#modifier-caps-lock-interaction-on-japanese-ime-keyboards) + - [UIPI Issues (not resolved)](#uipi-issues-not-resolved) + - [Other remapping approaches](#other-remapping-approaches) + - [Registry approach](#registry-approach) + - [Driver approach](#driver-approach) + - [Telemetry](#telemetry) ## Class members The `KeyboardManager` module has [3 main class members](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/dll/dllmain.cpp#L54-L61): @@ -179,7 +182,7 @@ While the above work around fixes most of the cases, there are still some scenar Other approaches for remapping which were deprioritized are: ### Registry approach -This method is used by [SharpKeys](https://github.com/randyrants/sharpkeys) and involves using the [Microsoft Keyboard Scancode mapper registry key](https://github.com/randyrants/sharpkeys) to remap keys based on their scan codes. This has the advantage of being applied in all scenarios and not facing any elevation or UAC issues, however the disadvantages are that for modifying the settings the process must run elevated (as it modifies HKLM registry) and it requires a reboot to get applied. Another issue which is an advantage/disadvantage for users is that the process does not need to be running, so the remaps are applied all the time, including at the password prompt on logging in to the user's Windows account, which could get a user stuck if they orphaned a key in their password. This registry doesn't have any support for remapping shortcuts either, so the hook approach was prioritized over this. +This method is used by [SharpKeys](https://github.com/randyrants/sharpkeys) and involves using the [Microsoft Keyboard Scancode mapper registry key](https://github.com/randyrants/sharpkeys) to remap keys based on their scan codes. This has the advantage of being applied in all scenarios and not facing any elevation or UAC issues, however the disadvantages are that for modifying the settings the process must run elevated (as it modifies HKLM registry) and it requires a reboot to get applied. Another issue which is an advantage/disadvantage for users is that the process does not need to be running, so the remaps are applied all the time, including at the password prompt on logging into the user's Windows account, which could get a user stuck if they orphaned a key in their password. This registry doesn't have any support for remapping shortcuts either, so the hook approach was prioritized over this. ### Driver approach Using a driver approach has the benefit of not depending on precedence orders as KBM could always run before low level hooks, and it also has the benefit of differentiating between different keyboards, allowing [multi keyboard-specific remaps](https://github.com/microsoft/PowerToys/issues/1460). The disadvantages are however that any bug or crash could have system level consequences. [Interception](https://github.com/oblitum/Interception) is an open source driver that could be used for implementing this. The approach was deprioritized due to the potential side effects. diff --git a/doc/devdocs/modules/keyboardmanager/keyboardmanagercommon.md b/doc/devdocs/modules/keyboardmanager/keyboardmanagercommon.md index 7a43fb07da..e0258db13d 100644 --- a/doc/devdocs/modules/keyboardmanager/keyboardmanagercommon.md +++ b/doc/devdocs/modules/keyboardmanager/keyboardmanagercommon.md @@ -34,7 +34,7 @@ In addition to this, if the user has opened the Type window, and the window is i The [`SaveConfigToFile`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/KeyboardManagerState.cpp#L500-L607) method is called on clicking the OK button on the EditKeyboardWindow or EditShortcutsWindow. Since PowerToys Settings also reads the config JSON file, [a named mutex is used](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/KeyboardManagerState.cpp#L582-L600) before accessing the file, with a 1 second timeout. If the mutex is obtained the settings are written to the default.json file. ### Concurrent Access to remap tables -To prevent the UI thread and low level hook thread from concurrently accessing the remap tables we use an [`atomic bool` variable](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/KeyboardManagerState.h#L91-L92), which is set to `true` while the tables are getting updated. When this is `true` the hook will skip all remappings. Use of mutexes in the hook were removed to prevent re-entrant mutex bugs. +To prevent the UI thread and low level hook thread from concurrently accessing the remap tables we use an [`atomic bool` variable](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/KeyboardManagerState.h#L91-L92), which is set to `true` while the tables are getting updated. When this is `true` the hook will skip all remappings. Use of mutexes in the hook were removed to prevent reentrant mutex bugs. ## KeyDelay [This class](https://github.com/microsoft/PowerToys/blob/main/src/modules/keyboardmanager/common/KeyDelay.cpp) implements a queue based approach for processing key events and based on the time difference between key down and key up events [executes separate methods for `ShortPress`, `LongPress` or `LongPressReleased`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/KeyDelay.h#L69-L72). The class is used for the hold Enter/Esc functionality required for making the Type window accessible and prevent keyboard traps (see [this](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/ui/SingleKeyRemapControl.cpp#L273-L292) for an example of it's usage). The `KeyEvents` are added to the queue from the hook thread of KBM, and a separate [`DelayThread`](https://github.com/microsoft/PowerToys/blob/b80578b1b9a4b24c9945bddac33c771204280107/src/modules/keyboardmanager/common/KeyDelay.cpp#L142-L166) is used to process the key events by checking the `time` member in the key event. The thresholds for short vs long press and hold wait timeouts are `static` constants, but if the module is extended for other purposes these could be made into arguments. diff --git a/src/common/GPOWrapper/GPOWrapper.cpp b/src/common/GPOWrapper/GPOWrapper.cpp index 4489c4ef2c..513ba8a5c1 100644 --- a/src/common/GPOWrapper/GPOWrapper.cpp +++ b/src/common/GPOWrapper/GPOWrapper.cpp @@ -78,7 +78,7 @@ namespace winrt::PowerToys::GPOWrapper::implementation } GpoRuleConfigured GPOWrapper::GetConfiguredMouseHighlighterEnabledValue() { - return (GpoRuleConfigured)powertoys_gpo::getConfiguredMouseHightlighterEnabledValue(); + return (GpoRuleConfigured)powertoys_gpo::getConfiguredMouseHighlighterEnabledValue(); } GpoRuleConfigured GPOWrapper::GetConfiguredMousePointerCrosshairsEnabledValue() { diff --git a/src/common/utils/gpo.h b/src/common/utils/gpo.h index 19b772d550..c77c036c51 100644 --- a/src/common/utils/gpo.h +++ b/src/common/utils/gpo.h @@ -190,7 +190,7 @@ namespace powertoys_gpo { return getConfiguredValue(POLICY_CONFIGURE_ENABLED_FIND_MY_MOUSE); } - inline gpo_rule_configured_t getConfiguredMouseHightlighterEnabledValue() + inline gpo_rule_configured_t getConfiguredMouseHighlighterEnabledValue() { return getConfiguredValue(POLICY_CONFIGURE_ENABLED_MOUSE_HIGHLIGHTER); } diff --git a/src/modules/MouseUtils/MouseHighlighter/dllmain.cpp b/src/modules/MouseUtils/MouseHighlighter/dllmain.cpp index 88ec7cffb6..75cf746a02 100644 --- a/src/modules/MouseUtils/MouseHighlighter/dllmain.cpp +++ b/src/modules/MouseUtils/MouseHighlighter/dllmain.cpp @@ -87,7 +87,7 @@ public: // Return the configured status for the gpo policy for the module virtual powertoys_gpo::gpo_rule_configured_t gpo_policy_enabled_configuration() override { - return powertoys_gpo::getConfiguredMouseHightlighterEnabledValue(); + return powertoys_gpo::getConfiguredMouseHighlighterEnabledValue(); } // Return JSON with the configuration options. diff --git a/src/modules/fancyzones/FancyZonesLib/FancyZones.cpp b/src/modules/fancyzones/FancyZonesLib/FancyZones.cpp index 0539abc16e..95c80c80e1 100644 --- a/src/modules/fancyzones/FancyZonesLib/FancyZones.cpp +++ b/src/modules/fancyzones/FancyZonesLib/FancyZones.cpp @@ -435,7 +435,7 @@ void FancyZones::WindowCreated(HWND window) noexcept { // window is recreated after switching virtual desktop // avoid moving already opened windows after switching vd - bool isMoved = FancyZonesWindowProperties::RetreiveMovedOnOpeningProperty(window); + bool isMoved = FancyZonesWindowProperties::RetrieveMovedOnOpeningProperty(window); if (!isMoved) { FancyZonesWindowProperties::StampMovedOnOpeningProperty(window); diff --git a/src/modules/fancyzones/FancyZonesLib/FancyZonesData/AppliedLayouts.cpp b/src/modules/fancyzones/FancyZonesLib/FancyZonesData/AppliedLayouts.cpp index 56c930a02f..a6c86952d6 100644 --- a/src/modules/fancyzones/FancyZonesLib/FancyZonesData/AppliedLayouts.cpp +++ b/src/modules/fancyzones/FancyZonesLib/FancyZonesData/AppliedLayouts.cpp @@ -467,7 +467,7 @@ bool AppliedLayouts::ApplyDefaultLayout(const FancyZonesDataTypes::WorkAreaId& d return false; } - MonitorConfiguraionType type = MonitorConfiguraionType::Horizontal; + MonitorConfigurationType type = MonitorConfigurationType::Horizontal; MONITORINFOEX monitorInfo; monitorInfo.cbSize = sizeof(monitorInfo); if (GetMonitorInfo(deviceId.monitorId.monitor, &monitorInfo)) @@ -476,7 +476,7 @@ bool AppliedLayouts::ApplyDefaultLayout(const FancyZonesDataTypes::WorkAreaId& d LONG height = monitorInfo.rcMonitor.bottom - monitorInfo.rcMonitor.top; if (height > width) { - type = MonitorConfiguraionType::Vertical; + type = MonitorConfigurationType::Vertical; } } diff --git a/src/modules/fancyzones/FancyZonesLib/FancyZonesData/DefaultLayouts.cpp b/src/modules/fancyzones/FancyZonesLib/FancyZonesData/DefaultLayouts.cpp index 541ce2a6c2..56871183bc 100644 --- a/src/modules/fancyzones/FancyZonesLib/FancyZonesData/DefaultLayouts.cpp +++ b/src/modules/fancyzones/FancyZonesLib/FancyZonesData/DefaultLayouts.cpp @@ -9,23 +9,23 @@ namespace DefaultLayoutsJsonUtils { - MonitorConfiguraionType TypeFromString(const std::wstring& data) + MonitorConfigurationType TypeFromString(const std::wstring& data) { if (data == L"vertical") { - return MonitorConfiguraionType::Vertical; + return MonitorConfigurationType::Vertical; } - return MonitorConfiguraionType::Horizontal; + return MonitorConfigurationType::Horizontal; } - std::wstring TypeToString(MonitorConfiguraionType type) + std::wstring TypeToString(MonitorConfigurationType type) { switch (type) { - case MonitorConfiguraionType::Horizontal: + case MonitorConfigurationType::Horizontal: return L"horizontal"; - case MonitorConfiguraionType::Vertical: + case MonitorConfigurationType::Vertical: return L"vertical"; default: return L"horizontal"; @@ -80,7 +80,7 @@ namespace DefaultLayoutsJsonUtils struct DefaultLayoutJSON { - MonitorConfiguraionType monitorConfigurationType{ MonitorConfiguraionType::Horizontal }; + MonitorConfigurationType monitorConfigurationType{ MonitorConfigurationType::Horizontal }; LayoutData layout{}; static std::optional FromJson(const json::JsonObject& json) @@ -117,7 +117,7 @@ namespace DefaultLayoutsJsonUtils { if (auto obj = DefaultLayoutJSON::FromJson(layouts.GetObjectAt(i)); obj.has_value()) { - map[static_cast(obj->monitorConfigurationType)] = std::move(obj->layout); + map[static_cast(obj->monitorConfigurationType)] = std::move(obj->layout); } } @@ -163,7 +163,7 @@ void DefaultLayouts::LoadData() } } -LayoutData DefaultLayouts::GetDefaultLayout(MonitorConfiguraionType type) const noexcept +LayoutData DefaultLayouts::GetDefaultLayout(MonitorConfigurationType type) const noexcept { auto iter = m_layouts.find(type); if (iter != m_layouts.end()) diff --git a/src/modules/fancyzones/FancyZonesLib/FancyZonesData/DefaultLayouts.h b/src/modules/fancyzones/FancyZonesLib/FancyZonesData/DefaultLayouts.h index e797d2871c..021a540b99 100644 --- a/src/modules/fancyzones/FancyZonesLib/FancyZonesData/DefaultLayouts.h +++ b/src/modules/fancyzones/FancyZonesLib/FancyZonesData/DefaultLayouts.h @@ -22,7 +22,7 @@ namespace NonLocalizable } } -enum class MonitorConfiguraionType +enum class MonitorConfigurationType { Horizontal = 0, Vertical @@ -31,7 +31,7 @@ enum class MonitorConfiguraionType class DefaultLayouts { public: - using TDefaultLayoutsContainer = std::map; + using TDefaultLayoutsContainer = std::map; static DefaultLayouts& instance(); @@ -46,7 +46,7 @@ public: void LoadData(); - LayoutData GetDefaultLayout(MonitorConfiguraionType type = MonitorConfiguraionType::Horizontal) const noexcept; + LayoutData GetDefaultLayout(MonitorConfigurationType type = MonitorConfigurationType::Horizontal) const noexcept; private: DefaultLayouts(); diff --git a/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProperties.cpp b/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProperties.cpp index eda80ba329..2cec6f78f4 100644 --- a/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProperties.cpp +++ b/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProperties.cpp @@ -88,7 +88,7 @@ void FancyZonesWindowProperties::StampMovedOnOpeningProperty(HWND window) ::SetPropW(window, ZonedWindowProperties::PropertyMovedOnOpening, (HANDLE)1); } -bool FancyZonesWindowProperties::RetreiveMovedOnOpeningProperty(HWND window) +bool FancyZonesWindowProperties::RetrieveMovedOnOpeningProperty(HWND window) { HANDLE handle = ::GetProp(window, ZonedWindowProperties::PropertyMovedOnOpening); return handle != nullptr; diff --git a/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProperties.h b/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProperties.h index 6c3c17e37d..8b3bae38e1 100644 --- a/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProperties.h +++ b/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProperties.h @@ -23,7 +23,7 @@ namespace FancyZonesWindowProperties ZoneIndexSet RetrieveZoneIndexProperty(HWND window); void StampMovedOnOpeningProperty(HWND window); - bool RetreiveMovedOnOpeningProperty(HWND window); + bool RetrieveMovedOnOpeningProperty(HWND window); std::optional GetTabSortKeyWithinZone(HWND window); void SetTabSortKeyWithinZone(HWND window, std::optional tabSortKeyWithinZone); diff --git a/src/modules/fancyzones/FancyZonesLib/trace.h b/src/modules/fancyzones/FancyZonesLib/trace.h index 2e67df6f26..9555f5563d 100644 --- a/src/modules/fancyzones/FancyZonesLib/trace.h +++ b/src/modules/fancyzones/FancyZonesLib/trace.h @@ -19,8 +19,8 @@ public: static void EditorLaunched(int value) noexcept; static void Error(const DWORD errorCode, std::wstring errorMessage, std::wstring methodName) noexcept; static void QuickLayoutSwitched(bool shortcutUsed) noexcept; - static void SnapNewWindowIntoZone(Layout* activeaLayout, LayoutAssignedWindows* layoutWindows) noexcept; - static void KeyboardSnapWindowToZone(Layout* activeaLayout, LayoutAssignedWindows* layoutWindows) noexcept; + static void SnapNewWindowIntoZone(Layout* activeLayout, LayoutAssignedWindows* layoutWindows) noexcept; + static void KeyboardSnapWindowToZone(Layout* activeLayout, LayoutAssignedWindows* layoutWindows) noexcept; }; static void SettingsTelemetry(const Settings& settings) noexcept; diff --git a/src/modules/fancyzones/FancyZonesTests/UnitTests/DefaultLayoutsTests.Spec.cpp b/src/modules/fancyzones/FancyZonesTests/UnitTests/DefaultLayoutsTests.Spec.cpp index feda8cb003..601145897e 100644 --- a/src/modules/fancyzones/FancyZonesTests/UnitTests/DefaultLayoutsTests.Spec.cpp +++ b/src/modules/fancyzones/FancyZonesTests/UnitTests/DefaultLayoutsTests.Spec.cpp @@ -63,7 +63,7 @@ namespace FancyZonesUnitTests .uuid = FancyZonesUtils::GuidFromString(L"{ACE817FD-2C51-4E13-903A-84CAB86FD17C}").value(), .type = FancyZonesDataTypes::ZoneSetLayoutType::Custom }; - Assert::IsTrue(horizontal == DefaultLayouts::instance().GetDefaultLayout(MonitorConfiguraionType::Horizontal)); + Assert::IsTrue(horizontal == DefaultLayouts::instance().GetDefaultLayout(MonitorConfigurationType::Horizontal)); LayoutData vertical{ .uuid = GUID_NULL, @@ -73,7 +73,7 @@ namespace FancyZonesUnitTests .zoneCount = 4, .sensitivityRadius = 30 }; - Assert::IsTrue(vertical == DefaultLayouts::instance().GetDefaultLayout(MonitorConfiguraionType::Vertical)); + Assert::IsTrue(vertical == DefaultLayouts::instance().GetDefaultLayout(MonitorConfigurationType::Vertical)); } TEST_METHOD (DefaultLayoutsParseEmpty) @@ -96,8 +96,8 @@ namespace FancyZonesUnitTests .sensitivityRadius = DefaultValues::SensitivityRadius }; - Assert::IsTrue(priorityGrid == DefaultLayouts::instance().GetDefaultLayout(MonitorConfiguraionType::Horizontal)); - Assert::IsTrue(priorityGrid == DefaultLayouts::instance().GetDefaultLayout(MonitorConfiguraionType::Vertical)); + Assert::IsTrue(priorityGrid == DefaultLayouts::instance().GetDefaultLayout(MonitorConfigurationType::Horizontal)); + Assert::IsTrue(priorityGrid == DefaultLayouts::instance().GetDefaultLayout(MonitorConfigurationType::Vertical)); } TEST_METHOD (DefaultLayoutsNoFile) @@ -114,8 +114,8 @@ namespace FancyZonesUnitTests .sensitivityRadius = DefaultValues::SensitivityRadius }; - Assert::IsTrue(priorityGrid == DefaultLayouts::instance().GetDefaultLayout(MonitorConfiguraionType::Horizontal)); - Assert::IsTrue(priorityGrid == DefaultLayouts::instance().GetDefaultLayout(MonitorConfiguraionType::Vertical)); + Assert::IsTrue(priorityGrid == DefaultLayouts::instance().GetDefaultLayout(MonitorConfigurationType::Horizontal)); + Assert::IsTrue(priorityGrid == DefaultLayouts::instance().GetDefaultLayout(MonitorConfigurationType::Vertical)); } }; } \ No newline at end of file diff --git a/src/modules/interface/powertoy_module_interface.h b/src/modules/interface/powertoy_module_interface.h index a2f7dfcb06..723ef8fb1c 100644 --- a/src/modules/interface/powertoy_module_interface.h +++ b/src/modules/interface/powertoy_module_interface.h @@ -119,7 +119,7 @@ public: virtual bool is_enabled_by_default() const { return true; } - /* Provides the GPO configuration value for the module. This should be overriden by the module interface to get the proper gpo policy setting. */ + /* Provides the GPO configuration value for the module. This should be overridden by the module interface to get the proper gpo policy setting. */ virtual powertoys_gpo::gpo_rule_configured_t gpo_policy_enabled_configuration() { return powertoys_gpo::gpo_rule_configured_not_configured; diff --git a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/SingleKeyRemapControl.cpp b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/SingleKeyRemapControl.cpp index 5af454304b..a58f8b8c36 100644 --- a/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/SingleKeyRemapControl.cpp +++ b/src/modules/keyboardmanager/KeyboardManagerEditorLibrary/SingleKeyRemapControl.cpp @@ -192,9 +192,9 @@ void SingleKeyRemapControl::AddNewControlKeyRemapRow(StackPanel& parent, std::ve deleteRemapKeys.SetValue(Automation::AutomationProperties::NameProperty(), box_value(GET_RESOURCE_STRING(IDS_DELETE_REMAPPING_BUTTON))); // Add tooltip for delete button which would appear on hover - ToolTip deleteRemapKeystoolTip; - deleteRemapKeystoolTip.Content(box_value(GET_RESOURCE_STRING(IDS_DELETE_REMAPPING_BUTTON))); - ToolTipService::SetToolTip(deleteRemapKeys, deleteRemapKeystoolTip); + ToolTip deleteRemapKeysToolTip; + deleteRemapKeysToolTip.Content(box_value(GET_RESOURCE_STRING(IDS_DELETE_REMAPPING_BUTTON))); + ToolTipService::SetToolTip(deleteRemapKeys, deleteRemapKeysToolTip); row.Children().Append(deleteRemapKeys); try { diff --git a/src/modules/poweraccent/PowerAccentKeyboardService/KeyboardListener.cpp b/src/modules/poweraccent/PowerAccentKeyboardService/KeyboardListener.cpp index 362f3733fc..6c48ae0a04 100644 --- a/src/modules/poweraccent/PowerAccentKeyboardService/KeyboardListener.cpp +++ b/src/modules/poweraccent/PowerAccentKeyboardService/KeyboardListener.cpp @@ -108,7 +108,7 @@ namespace winrt::PowerToys::PowerAccentKeyboardService::implementation { std::lock_guard lock(m_mutex_excluded_apps); m_settings.excludedApps = std::move(excludedApps); - m_prevForegrndAppExcl = { NULL, false }; + m_prevForegroundAppExcl = { NULL, false }; } } @@ -118,25 +118,25 @@ namespace winrt::PowerToys::PowerAccentKeyboardService::implementation if (m_settings.excludedApps.empty()) { - m_prevForegrndAppExcl = { NULL, false }; + m_prevForegroundAppExcl = { NULL, false }; return false; } if (HWND foregroundApp{ GetForegroundWindow() }) { - if (m_prevForegrndAppExcl.first == foregroundApp) + if (m_prevForegroundAppExcl.first == foregroundApp) { - return m_prevForegrndAppExcl.second; + return m_prevForegroundAppExcl.second; } auto processPath = get_process_path(foregroundApp); CharUpperBuffW(processPath.data(), (DWORD)processPath.length()); - m_prevForegrndAppExcl = { foregroundApp, + m_prevForegroundAppExcl = { foregroundApp, find_app_name_in_path(processPath, m_settings.excludedApps) }; - return m_prevForegrndAppExcl.second; + return m_prevForegroundAppExcl.second; } - m_prevForegrndAppExcl = { NULL, false }; + m_prevForegroundAppExcl = { NULL, false }; return false; } diff --git a/src/modules/poweraccent/PowerAccentKeyboardService/KeyboardListener.h b/src/modules/poweraccent/PowerAccentKeyboardService/KeyboardListener.h index c56f7c912a..bd73036ff2 100644 --- a/src/modules/poweraccent/PowerAccentKeyboardService/KeyboardListener.h +++ b/src/modules/poweraccent/PowerAccentKeyboardService/KeyboardListener.h @@ -60,7 +60,7 @@ namespace winrt::PowerToys::PowerAccentKeyboardService::implementation bool m_rightShiftPressed; std::mutex m_mutex_excluded_apps; - std::pair m_prevForegrndAppExcl{ NULL, false }; + std::pair m_prevForegroundAppExcl{ NULL, false }; static inline const std::vector letters = { LetterKey::VK_0, LetterKey::VK_1, diff --git a/src/modules/previewpane/GcodePreviewHandler/GcodePreviewHandler.csproj b/src/modules/previewpane/GcodePreviewHandler/GcodePreviewHandler.csproj index f04ff16884..61911f668e 100644 --- a/src/modules/previewpane/GcodePreviewHandler/GcodePreviewHandler.csproj +++ b/src/modules/previewpane/GcodePreviewHandler/GcodePreviewHandler.csproj @@ -38,7 +38,7 @@ false - + $(NoWarn);1591 diff --git a/src/modules/previewpane/GcodeThumbnailProvider/GcodeThumbnailProvider.csproj b/src/modules/previewpane/GcodeThumbnailProvider/GcodeThumbnailProvider.csproj index 1ccf566290..d982a02d54 100644 --- a/src/modules/previewpane/GcodeThumbnailProvider/GcodeThumbnailProvider.csproj +++ b/src/modules/previewpane/GcodeThumbnailProvider/GcodeThumbnailProvider.csproj @@ -25,7 +25,7 @@ false - + $(NoWarn);1591 diff --git a/src/modules/previewpane/MarkdownPreviewHandler/MarkdownPreviewHandler.csproj b/src/modules/previewpane/MarkdownPreviewHandler/MarkdownPreviewHandler.csproj index 1b4a374c2a..022792b61c 100644 --- a/src/modules/previewpane/MarkdownPreviewHandler/MarkdownPreviewHandler.csproj +++ b/src/modules/previewpane/MarkdownPreviewHandler/MarkdownPreviewHandler.csproj @@ -44,7 +44,7 @@ false - + $(NoWarn);1591 diff --git a/src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandler.csproj b/src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandler.csproj index 420869d009..44407139d4 100644 --- a/src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandler.csproj +++ b/src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandler.csproj @@ -33,7 +33,7 @@ false - + $(NoWarn);1591 diff --git a/src/modules/previewpane/PdfPreviewHandler/PdfPreviewHandler.csproj b/src/modules/previewpane/PdfPreviewHandler/PdfPreviewHandler.csproj index 90cd137c00..46c9089dc8 100644 --- a/src/modules/previewpane/PdfPreviewHandler/PdfPreviewHandler.csproj +++ b/src/modules/previewpane/PdfPreviewHandler/PdfPreviewHandler.csproj @@ -38,7 +38,7 @@ false - + $(NoWarn);1591 diff --git a/src/modules/previewpane/PdfThumbnailProvider/PdfThumbnailProvider.csproj b/src/modules/previewpane/PdfThumbnailProvider/PdfThumbnailProvider.csproj index d89816e909..e4a75a9e62 100644 --- a/src/modules/previewpane/PdfThumbnailProvider/PdfThumbnailProvider.csproj +++ b/src/modules/previewpane/PdfThumbnailProvider/PdfThumbnailProvider.csproj @@ -24,7 +24,7 @@ false - + $(NoWarn);1591 diff --git a/src/modules/previewpane/StlThumbnailProvider/StlThumbnailProvider.csproj b/src/modules/previewpane/StlThumbnailProvider/StlThumbnailProvider.csproj index 32b8de4efe..cf7acc1190 100644 --- a/src/modules/previewpane/StlThumbnailProvider/StlThumbnailProvider.csproj +++ b/src/modules/previewpane/StlThumbnailProvider/StlThumbnailProvider.csproj @@ -25,7 +25,7 @@ false - + $(NoWarn);1591 diff --git a/src/modules/previewpane/SvgPreviewHandler/SvgPreviewHandler.csproj b/src/modules/previewpane/SvgPreviewHandler/SvgPreviewHandler.csproj index c187c0916e..eb6ee592ef 100644 --- a/src/modules/previewpane/SvgPreviewHandler/SvgPreviewHandler.csproj +++ b/src/modules/previewpane/SvgPreviewHandler/SvgPreviewHandler.csproj @@ -39,7 +39,7 @@ false - + $(NoWarn);1591 diff --git a/src/modules/previewpane/SvgThumbnailProvider/SvgThumbnailProvider.csproj b/src/modules/previewpane/SvgThumbnailProvider/SvgThumbnailProvider.csproj index f66e6159df..f596a5a142 100644 --- a/src/modules/previewpane/SvgThumbnailProvider/SvgThumbnailProvider.csproj +++ b/src/modules/previewpane/SvgThumbnailProvider/SvgThumbnailProvider.csproj @@ -27,7 +27,7 @@ false - + $(NoWarn);1591 diff --git a/tools/BugReportTool/BugReportTool/ReportGPOValues.cpp b/tools/BugReportTool/BugReportTool/ReportGPOValues.cpp index 2950a289ab..dcda0253a8 100644 --- a/tools/BugReportTool/BugReportTool/ReportGPOValues.cpp +++ b/tools/BugReportTool/BugReportTool/ReportGPOValues.cpp @@ -46,7 +46,7 @@ void ReportGPOValues(const std::filesystem::path& tmpDir) report << "getConfiguredImageResizerEnabledValue: " << gpo_rule_configured_to_string(powertoys_gpo::getConfiguredImageResizerEnabledValue()) << std::endl; report << "getConfiguredKeyboardManagerEnabledValue: " << gpo_rule_configured_to_string(powertoys_gpo::getConfiguredKeyboardManagerEnabledValue()) << std::endl; report << "getConfiguredFindMyMouseEnabledValue: " << gpo_rule_configured_to_string(powertoys_gpo::getConfiguredFindMyMouseEnabledValue()) << std::endl; - report << "getConfiguredMouseHightlighterEnabledValue: " << gpo_rule_configured_to_string(powertoys_gpo::getConfiguredMouseHightlighterEnabledValue()) << std::endl; + report << "getConfiguredMouseHighlighterEnabledValue: " << gpo_rule_configured_to_string(powertoys_gpo::getConfiguredMouseHighlighterEnabledValue()) << std::endl; report << "getConfiguredMousePointerCrosshairsEnabledValue: " << gpo_rule_configured_to_string(powertoys_gpo::getConfiguredMousePointerCrosshairsEnabledValue()) << std::endl; report << "getConfiguredPowerRenameEnabledValue: " << gpo_rule_configured_to_string(powertoys_gpo::getConfiguredPowerRenameEnabledValue()) << std::endl; report << "getConfiguredPowerLauncherEnabledValue: " << gpo_rule_configured_to_string(powertoys_gpo::getConfiguredPowerLauncherEnabledValue()) << std::endl;