Compare commits

..

76 Commits

Author SHA1 Message Date
Sean (ANGRYxScotsman)
58dacd5b0b New win 11 Creator page (#4115)
* made Win 11 Creator page

* update store to application
2026-02-25 13:50:36 -06:00
Chris Titus
14ad9f7fea Win11 iso (#4113)
* Tab creation

* scaffold outline for the iso tab

* autounattended creation

* inital modification success

* iso save success

* cleanup and iso improvements

* fix startmenu on new 26h2

* remove old first startup

* Fix run for use

* fix unapproved verb

* Keep step 4 output expanded

* update auto-merge

* Cleanup

* remove out-null and trailing whitespace

* explain modify and creator button

* fix scroll to end

* remove workflow change

* fix home updates
2026-02-24 15:50:41 -06:00
Gabi
52afab2252 Remove edge (#4112) 2026-02-24 15:40:41 -06:00
Chris Titus
2ba3a5d324 Win11 ISO Creator (#4110)
* Tab creation

* scaffold outline for the iso tab

* autounattended creation

* inital modification success

* iso save success

* cleanup and iso improvements

* fix startmenu on new 26h2

* remove old first startup

* Fix run for use

* fix unapproved verb

* Keep step 4 output expanded

* update auto-merge

* Cleanup

* remove out-null and trailing whitespace

* explain modify and creator button

* fix scroll to end

* remove workflow change
2026-02-24 15:28:49 -06:00
Chris Titus
f854d14117 chore: Update generated dev docs (#4105) 2026-02-23 18:28:56 -06:00
Chris Titus
19204534a2 Add --admin flag to auto-merge command 2026-02-23 18:28:25 -06:00
Chris Titus
a9d9b148db Change GH_TOKEN to use AUTO_MERGE secret 2026-02-23 18:26:20 -06:00
Chris Titus Tech
d5d0bf25f0 automerge docs 2026-02-23 14:53:46 -06:00
Chris Titus Tech
da3fd87f9a revise approval 2026-02-23 14:46:15 -06:00
Chris Titus Tech
9e8cefc973 fix automerge 2026-02-23 14:43:52 -06:00
Gabi
a532e9ec9d Remove WPFTweaksDisableExplorerAutoDiscovery From Minimal Preset (#4081)
* WPFTweaksDisableExplorerAutoDiscovery Shouldn't not be deafult

* Update preset.json

* Update tweaks.json

* Update config/tweaks.json

Co-authored-by: Paweł Gwozdowski <kernea.g@proton.me>

---------

Co-authored-by: Paweł Gwozdowski <kernea.g@proton.me>
2026-02-23 10:17:01 -06:00
dependabot[bot]
844979fee7 Bump peter-evans/create-pull-request from 6 to 8 (#4104)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 8.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v8)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-23 09:23:33 -06:00
Sean (ANGRYxScotsman)
78302934ef updated workflows for automation (#4102)
* updated workflows for automation

* added back the debug logs

* Update docs.yaml

* Update pre-release.yaml
2026-02-22 21:25:59 -06:00
Gabi
349889b194 Minor format changes for Invoke-WPFSystemRepair.ps1 (#4100)
* Format changes

* Update Invoke-WPFSystemRepair.ps1
2026-02-22 17:31:54 -06:00
Raphaël
c619f3a830 Add more development tools to applications.json (#4093)
* Add .NET Desktop Runtime 10 to applications.json

* Add LLVM to applications.json

* Add NASM to applications.json
2026-02-22 17:30:43 -06:00
KamaleiZestri
d005a225a2 NoUI mode and Concurrency edits (#4092)
* Autorun changes

* Missed a handle

* Remove todo

---------

Co-authored-by: Chris Titus <dfm.titus@gmail.com>
2026-02-22 17:28:55 -06:00
Gabi
e79e946e76 Remove incorrect infromaiton from WPFTweaksRazerBlock (#4082) 2026-02-22 17:23:19 -06:00
github-actions[bot]
3b957e1a77 Update sponsors in README (#4095)
Co-authored-by: ChrisTitusTech <7896101+ChrisTitusTech@users.noreply.github.com>
2026-02-22 17:21:52 -06:00
Gabi
d078d67b1d Remove debug option (#4094)
* Remove debug option

* Remove debug option
2026-02-22 17:21:32 -06:00
Gabi
191fe95572 Update-KnownIssues.md (#4096)
* Update KnownIssues.md

* Update KnownIssues.md
2026-02-22 17:20:39 -06:00
Sean (ANGRYxScotsman)
d10c9413ac Update devdocs-generator (#4091)
* Update devdocs-generator.ps1

* made new dir

* Update devdocs-generator.ps1

* Update devdocs-generator.ps1
2026-02-22 17:19:43 -06:00
Chris Titus
e93753e5c9 Json-Cleanup-Expansion (#4090)
* initial cleanup

* remove winutilgpu
2026-02-22 17:19:04 -06:00
Gabi
5eec99df1c Fix title screen image url (#4087) 2026-02-18 15:29:41 -06:00
Gabi
7e2ba41b8b Update inputXML.xaml (#4089) 2026-02-18 15:29:14 -06:00
Chris Titus
d3dc3e7976 Merge branches 'main' and 'main' of https://github.com/ChrisTitusTech/winutil 2026-02-18 14:44:33 -06:00
Gabi
5a4d822710 Fix more images in CONTRIBUTING.md (#4086) 2026-02-18 14:44:19 -06:00
Chris Titus
2625478ef3 assign docs label 2026-02-18 14:41:00 -06:00
github-actions[bot]
956a544c2e Update generated documentation (#4084)
Co-authored-by: ChrisTitusTech <7896101+ChrisTitusTech@users.noreply.github.com>
2026-02-18 14:33:39 -06:00
Gabi
50dbf5bd05 Fix fork image (#4085) 2026-02-18 14:32:29 -06:00
Gabi
338c3e7e57 Add warning to WPFToggleStartMenuRecommendations (#4083) 2026-02-18 14:31:38 -06:00
Gabi
1a0e084d7e Add Undoscript to WPFToggleTaskbarAlignment (#4079) 2026-02-18 14:23:09 -06:00
Gabi
89147414a0 Fix WPFTweaksRemoveCopilot's InvokeScript (#4077) 2026-02-18 14:22:23 -06:00
Gabi
ae4b3f3ac7 Remove file missing error from running complie.ps1 (#4078)
* Remove Validatsion of the ExcludedItems List From complie.ps1 and remove annoying warning

* Update Invoke-Preprocessing.ps1
2026-02-18 14:21:45 -06:00
Chris Titus
043ec9abe0 Merge branch 'main' of https://github.com/ChrisTitusTech/winutil 2026-02-18 14:18:55 -06:00
Chris Titus
5c92fcbde5 delete branch after it merges 2026-02-18 14:18:53 -06:00
github-actions[bot]
b1094c9177 chore: Update Generated Dev Docs (#4076)
* Update generated documentation

* trigger workflow

---------

Co-authored-by: ChrisTitusTech <7896101+ChrisTitusTech@users.noreply.github.com>
Co-authored-by: Chris Titus <contact@christitus.com>
2026-02-18 20:17:33 +00:00
Chris Titus
9ab1c6bbd3 automerge pat 2026-02-18 14:16:07 -06:00
Chris Titus
97d3ada895 update auto merge 2026-02-18 14:11:15 -06:00
Chris Titus
8212b3ed5e Merge branch 'main' of https://github.com/ChrisTitusTech/winutil 2026-02-18 13:57:50 -06:00
Chris Titus
d410667c6d auto approve docs 2026-02-18 13:57:48 -06:00
Gabi
e51e345438 Update tweaks.json (#4074) 2026-02-18 12:40:53 -06:00
github-actions[bot]
3404f185f1 Update generated documentation (#4075)
Co-authored-by: ChrisTitusTech <7896101+ChrisTitusTech@users.noreply.github.com>
2026-02-18 12:37:09 -06:00
Chris Titus
f15c212df5 no persist on perms workflow 2026-02-18 12:34:23 -06:00
Chris Titus
152c157b51 fix docs to create pr 2026-02-18 12:31:08 -06:00
Sean (ANGRYxScotsman)
80e54a0ea5 updated doc workflow (#4069)
* updated workflow

* changed the commit message

* fixed spacing in copyright

i will notice these issues before committing in future lol

* Update devdocs-generator.md
2026-02-18 11:51:44 -06:00
Gabi
7fb1643378 Someone touched my perfect code for WPFTweaksRemoveCopilot (#4068) 2026-02-18 11:45:05 -06:00
Eren
f6c0c9682c apply escaping (#4071) 2026-02-18 11:44:42 -06:00
github-actions[bot]
b7ef73cb10 Update sponsors in README (#4073)
Co-authored-by: ChrisTitusTech <7896101+ChrisTitusTech@users.noreply.github.com>
2026-02-18 11:17:51 -06:00
Chris Titus
0b76ab3aa4 verbose checks for if PR is needed 2026-02-18 11:14:52 -06:00
Chris Titus
436e3c353e persist creds 2026-02-18 11:10:57 -06:00
Chris Titus
50ca97575b update perms 2026-02-18 11:08:56 -06:00
Chris Titus
618561e5cf update to pr for sponsors 2026-02-18 10:59:30 -06:00
Chris Titus
725244c28e change to issue pr 2026-02-18 10:52:46 -06:00
Chris Titus
d4c768315b update sponsors 2026-02-18 10:45:21 -06:00
Gabi
e909d1a847 Delete WPFTweaksLaptopHibernation (#4066) 2026-02-17 14:24:29 -06:00
Gabi
dcfa68476a Add-WPFTweaksRevertStartMenu (#4023)
* Add WPFTweaksRevertStartMenu

* Create revertstartmenu.md

* Update tweaks.json

* Update tweaks.json

* Update tweaks.json

* Update revertstartmenu.md

* Update tweaks.json

* Update tweaks.json

* Update revertstartmenu.md

* Update tweaks.json
2026-02-17 13:49:54 -06:00
Eren
60d31a1fe0 Hightlight FOSS Apps (#4065)
* add foss tag functionality

* update applications

* update

* update

* fix

* update

* update

* fix formatting
2026-02-17 13:35:26 -06:00
Gabi
5476cd928f Fix WPFTweaksEdgeDebloat block copilot not working (#4063)
* Fix WPFTweaksEdgeDebloat block copilot not working

* Update tweaks.json

* Update tweaks.json

* Update tweaks.json
2026-02-17 13:31:44 -06:00
Gabi
84f2046912 Update-WPFTweaksWidget (#4058)
* Update WPFTweaksWidget how did you miss this chris?

* Fix WPFTweaksWidget not working
2026-02-17 13:30:37 -06:00
Gabi
586fd56603 Update-Invoke-WPFSystemRepair.ps1 (#4043)
* Update Invoke-WPFSystemRepair.ps1

* Update Invoke-WPFSystemRepair.ps1

* add chkdsk back in to tell users if there disk is broken

* Merge branch 'Update-Invoke-WPFSystemRepair' of https://github.com/gabinun/winutil into pr/GabiNun/4043

* add doc
2026-02-17 12:55:51 -06:00
KamaleiZestri
70a94abe02 Decoupled UI and data (#4051)
* Decoupled UI and data

* Fix bad variable naming

* Fix mistype

* Fix mistype v2

Editing from mobile is hard
2026-02-17 12:39:44 -06:00
KamaleiZestri
0e41122d89 More microwin files to delete (#4050) 2026-02-17 12:31:23 -06:00
Gabi
4e7416a2dc Remove Adobe Creative Cloud (#4048)
* Delete functions/public/Invoke-WPFRunAdobeCCCleanerTool.ps1

* Update feature.json
2026-02-17 12:30:38 -06:00
Gabi
61a6265cf9 Fix WPFTweaksBlockAdobeNet (#4042)
* Fix WPFTweaksBlockAdobeNet

* Update tweaks.json
2026-02-17 12:29:41 -06:00
Sean (ANGRYxScotsman)
5582c3cb44 More winutil docs update (#4038)
* updated the gen to add a blackline under the frontmatter and added .md file in the same location with breakdown on what the script does

* copyright fix.

found out the reason why it rendered correctly on my pc and not with site builder. it was because we use --minify for the site builder and i have not been using that on the local instance

* Update pre-release.yaml

* Update en.yaml
2026-02-17 12:28:36 -06:00
Gabi
08b24c7187 Change 'Get Installed' to 'Show Installed Apps' (#4027)
* Update appnavigation.json

* Update _index.md

* Update inputXML.xaml

* Update Invoke-WinUtilCurrentSystem.ps1

* Update Invoke-WinUtilCurrentSystem.ps1
2026-02-12 14:37:11 -06:00
KamaleiZestri
5fcc288037 Disable Sticky Keys shortcut added to toggle (#4028)
* disable sticky keys shortcut

* Merge branch 'main' into sticky
2026-02-12 14:36:17 -06:00
Gabi
8e8b0bb296 Make WPFToggleTaskbarAlignment restart explorer (#4034) 2026-02-12 14:35:31 -06:00
Eren
be8d20d478 export and import toggle switch states in config JSON (#4037)
* feat: add support for importing and exporting WPFToggle checkbox states.

* feat: add export and import

* remove unnecessary buttons from tweaks tab

* Merge branch 'main' into feature/import-export

* Merge branch 'main' into feature/import-export
2026-02-12 14:34:28 -06:00
Sean (ANGRYxScotsman)
9b03b94435 more winutil website update and new features (#4030)
* updated theme to the latest version

* Update en.yaml

* removed all the order from the docs

* add the store link

* update homepage

* add filename and line number to all the code blocks and also removed pages

* auto pull the code from the json files

* Merge branch 'main' into winutil-new-features

* the script updated linenostart=

* Delete LaptopHibernation.md
2026-02-12 14:33:11 -06:00
Eren
9d841687e3 Fix winget package uninstallation issues (#4036)
* refactor: refine Program parameter type to string

* refactor: rename `Invoke-WPFRunspace` parameter `ArgumentList` to `ParameterList`
2026-02-12 13:52:09 -06:00
Gabi
20046d4b73 Delete-WPFTweaksLaptopHibernation (#4031)
* Update tweaks.json

* Delete docs/content/dev/tweaks/Essential-Tweaks/LaptopHibernation.md

---------

Co-authored-by: Chris Titus <dfm.titus@gmail.com>
2026-02-11 09:31:05 -06:00
Eren
b2ccb3669b Content-based Automatic Sorting (#4022)
* Implement Auto-sorting instead of manually defining order

* ffix visual bugs
2026-02-11 09:28:09 -06:00
Sean (ANGRYxScotsman)
aaed116798 added frontmatter to pages (#4024)
* added frontmatter to widget.md

* update more pages

* updated copyright to automatically pull the year
2026-02-10 17:59:31 -06:00
Gabi
354b09ec0d Fix-WPFTweaksWidget (#4025)
* Fix WPFTweaksWidget

* Update Widget.md
2026-02-10 17:56:10 -06:00
Sean (ANGRYxScotsman)
cfde1b5a92 Edited some things i forgot to do (#4019)
* move debloat edge to z--advanced-tweaks---caution

* updated frontmatter on the pages i have the shortcodes
2026-02-10 14:32:17 -06:00
180 changed files with 5268 additions and 2778 deletions

View File

@@ -68,9 +68,9 @@ graph TD
### Fork the Repo ### Fork the Repo
* Fork the WinUtil Repository [here](https://github.com/ChrisTitusTech/winutil) to create a copy that will be available in your repository list. * Fork the WinUtil Repository [here](https://github.com/ChrisTitusTech/winutil) to create a copy that will be available in your repository list.
![Fork Image](assets/Fork-Button-Dark.png#only-dark#gh-dark-mode-only) ![Fork Image](/docs/assets/images/Fork-Button-Dark.png#gh-dark-mode-only)
![Fork Image](assets/Fork-Button-Light.png#only-light#gh-light-mode-only) ![Fork Image](/docs/assets/images/Fork-Button-Light.png#only-light#gh-light-mode-only)
### Clone the Fork ### Clone the Fork
!!! tip !!! tip
@@ -94,22 +94,22 @@ graph TD
* Run the following command to compile and run WinUtil: * Run the following command to compile and run WinUtil:
* `.\Compile.ps1 -run` * `.\Compile.ps1 -run`
![Compile](assets/Compile.png) ![Compile](/docs/assets/images/Complie.png)
* After seeing that your changes work properly, feel free to commit the changes to the repository and make a PR. For help on that, follow the documentation below. * After seeing that your changes work properly, feel free to commit the changes to the repository and make a PR. For help on that, follow the documentation below.
### Committing the changes ### Committing the changes
* Before committing your changes, please discard changes made to the `winutil.ps1` file, like the following: * Before committing your changes, please discard changes made to the `winutil.ps1` file, like the following:
![Push Commit Image](assets/Discard-GHD.png) ![Push Commit Image](/docs/assets/images/Discard-GHD.png)
* Now, commit your changes once you are happy with the result. * Now, commit your changes once you are happy with the result.
![Commit Image](assets/Commit-GHD.png) ![Commit Image](/docs/assets/images/Commit-GHD.png)
* Push the changes to upload them to your fork on github.com. * Push the changes to upload them to your fork on github.com.
![Push Commit Image](assets/Push-Commit.png) ![Push Commit Image](/docs/assets/images/Push-Commit.png)
### Making a PR ### Making a PR
* To make a PR on your repo under a new branch linking to the main branch, a button will show and say Preview and Create pull request. Click that button and fill in all the information that is provided on the template. Once all the information is filled in correctly, check your PR to make sure there is not a WinUtil.ps1 file attached to the PR. Once everything is good, make the PR and wait for Chris (the maintainer) to accept or deny your PR. Once it is accepted by Chris, you will be able to see your changes in the "/windev" build. * To make a PR on your repo under a new branch linking to the main branch, a button will show and say Preview and Create pull request. Click that button and fill in all the information that is provided on the template. Once all the information is filled in correctly, check your PR to make sure there is not a WinUtil.ps1 file attached to the PR. Once everything is good, make the PR and wait for Chris (the maintainer) to accept or deny your PR. Once it is accepted by Chris, you will be able to see your changes in the "/windev" build.

31
.github/workflows/auto-merge-docs.yaml vendored Normal file
View File

@@ -0,0 +1,31 @@
name: Auto-merge Docs PRs
on:
pull_request:
types: [opened, synchronize, reopened]
branches:
- main
jobs:
auto-merge:
if: github.event.pull_request.head.ref == 'docs-update' && (github.event.pull_request.user.login == 'ChrisTitusTech' || github.event.pull_request.user.login == 'github-actions[bot]')
runs-on: ubuntu-latest
permissions:
pull-requests: write
contents: write
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Auto-approve PR
if: github.event.pull_request.user.login == 'github-actions[bot]'
run: gh pr review "$PR_NUMBER" --approve
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
GH_TOKEN: ${{ secrets.AUTO_MERGE }}
- name: Enable auto-merge
run: gh pr merge "$PR_NUMBER" --squash --delete-branch --admin
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
GH_TOKEN: ${{ secrets.AUTO_MERGE }}

View File

@@ -6,12 +6,16 @@ on:
- main - main
paths: paths:
- "docs/**" - "docs/**"
- "config/tweaks.json"
- "config/feature.json"
- "functions/**"
workflow_dispatch: workflow_dispatch:
permissions: permissions:
contents: read contents: read
pages: write pages: write
id-token: write id-token: write
pull-requests: write
concurrency: concurrency:
group: "pages" group: "pages"
@@ -39,9 +43,40 @@ jobs:
with: with:
submodules: recursive submodules: recursive
fetch-depth: 0 fetch-depth: 0
persist-credentials: false
- name: Setup Pages - name: Setup Pages
id: pages id: pages
uses: actions/configure-pages@v5 uses: actions/configure-pages@v5
- name: Generate Dev Docs from JSON
shell: pwsh
run: |
Set-Location tools
./devdocs-generator.ps1
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v8
with:
token: ${{ secrets.AUTO_MERGE }}
commit-message: 'chore: Update generated dev docs'
title: 'chore: Update Generated Dev Docs'
body: 'Automated update of generated documentation from JSON sources'
branch: docs-update
delete-branch: true
add-paths: |
docs/content/dev/
config/tweaks.json
config/feature.json
labels: |
automated
documentation
- name: Check outputs
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
- name: Install Node.js dependencies - name: Install Node.js dependencies
run: "cd docs && [[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true" run: "cd docs && [[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
- name: Cache Restore - name: Cache Restore

View File

@@ -3,6 +3,7 @@ name: Pre-Release WinUtil
permissions: permissions:
contents: write contents: write
actions: read actions: read
pull-requests: write
on: on:
workflow_dispatch: # Manual trigger added workflow_dispatch: # Manual trigger added
@@ -16,12 +17,41 @@ jobs:
- name: Checkout Repository - name: Checkout Repository
uses: actions/checkout@v6 uses: actions/checkout@v6
- name: Generate Dev Docs and Update JSON Links
shell: pwsh
run: |
Set-Location tools
./devdocs-generator.ps1
- name: Compile project - name: Compile project
shell: pwsh shell: pwsh
run: | run: |
Set-ExecutionPolicy Bypass -Scope Process -Force; ./Compile.ps1 Set-ExecutionPolicy Bypass -Scope Process -Force; ./Compile.ps1
continue-on-error: false # Directly fail the job on error, removing the need for a separate check continue-on-error: false # Directly fail the job on error, removing the need for a separate check
- name: Create Pull Request for Updated JSON Links
id: cpr
uses: peter-evans/create-pull-request@v8
with:
token: ${{ secrets.AUTO_MERGE }}
commit-message: 'chore: Update documentation links in JSON configs'
title: 'chore: Update Generated Dev Docs'
body: 'Automated update of documentation links in JSON configs from pre-release build'
branch: docs-update
delete-branch: true
add-paths: |
config/tweaks.json
config/feature.json
labels: |
automated
documentation
- name: Check outputs
shell: bash
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
- name: Set Version to Todays Date - name: Set Version to Todays Date
id: extract_version id: extract_version
run: | run: |

View File

@@ -5,6 +5,7 @@ on:
- cron: 30 15 * * 0-6 - cron: 30 15 * * 0-6
permissions: permissions:
contents: write contents: write
pull-requests: write
jobs: jobs:
deploy: deploy:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -12,6 +13,8 @@ jobs:
steps: steps:
- name: Checkout 🛎️ - name: Checkout 🛎️
uses: actions/checkout@v6 uses: actions/checkout@v6
with:
persist-credentials: false
- name: Generate Sponsors 💖 - name: Generate Sponsors 💖
uses: JamesIves/github-sponsors-readme-action@v1 uses: JamesIves/github-sponsors-readme-action@v1
@@ -19,8 +22,19 @@ jobs:
token: ${{ secrets.PAT }} token: ${{ secrets.PAT }}
file: 'README.md' file: 'README.md'
- name: Deploy to GitHub Pages 🚀 - name: Create Pull Request 🚀
uses: JamesIves/github-pages-deploy-action@v4 id: cpr
uses: peter-evans/create-pull-request@v8
with: with:
branch: main token: ${{ secrets.GITHUB_TOKEN }}
folder: '.' commit-message: 'Update sponsors in README'
title: 'chore: Update Sponsors README'
body: 'Automated update of sponsors section'
branch: sponsors-update
delete-branch: true
labels: automated
- name: Check outputs
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"

View File

@@ -1,5 +1,4 @@
param ( param (
[switch]$Debug,
[switch]$Run, [switch]$Run,
[string]$Arguments [string]$Arguments
) )
@@ -104,19 +103,26 @@ $xaml
'@ '@
"@) "@)
Update-Progress "Adding: autounattend.xml" 95
$autounattendRaw = Get-Content "$workingdir\tools\autounattend.xml" -Raw
# Strip XML comments (<!-- ... -->, including multi-line)
$autounattendRaw = [regex]::Replace($autounattendRaw, '<!--.*?-->', '', [System.Text.RegularExpressions.RegexOptions]::Singleline)
# Drop blank lines and trim trailing whitespace per line
$autounattendXml = ($autounattendRaw -split "`r?`n" |
Where-Object { $_.Trim() -ne '' } |
ForEach-Object { $_.TrimEnd() }) -join "`r`n"
$script_content.Add(@"
`$WinUtilAutounattendXml = @'
$autounattendXml
'@
"@)
$script_content.Add($(Get-Content "scripts\main.ps1")) $script_content.Add($(Get-Content "scripts\main.ps1"))
if ($Debug) {
Update-Progress "Writing debug files" 95
$appXamlContent | Out-File -FilePath "xaml\inputApp.xaml" -Encoding ascii
$tweaksXamlContent | Out-File -FilePath "xaml\inputTweaks.xaml" -Encoding ascii
$featuresXamlContent | Out-File -FilePath "xaml\inputFeatures.xaml" -Encoding ascii
} else {
Update-Progress "Removing temporary files" 99 Update-Progress "Removing temporary files" 99
Remove-Item "xaml\inputApp.xaml" -ErrorAction SilentlyContinue Remove-Item "xaml\inputApp.xaml" -ErrorAction SilentlyContinue
Remove-Item "xaml\inputTweaks.xaml" -ErrorAction SilentlyContinue Remove-Item "xaml\inputTweaks.xaml" -ErrorAction SilentlyContinue
Remove-Item "xaml\inputFeatures.xaml" -ErrorAction SilentlyContinue Remove-Item "xaml\inputFeatures.xaml" -ErrorAction SilentlyContinue
}
Set-Content -Path "$scriptname" -Value ($script_content -join "`r`n") -Encoding ascii Set-Content -Path "$scriptname" -Value ($script_content -join "`r`n") -Encoding ascii
Write-Progress -Activity "Compiling" -Completed Write-Progress -Activity "Compiling" -Completed

View File

@@ -7,7 +7,7 @@
This utility is a compilation of Windows tasks I perform on each Windows system I use. It is meant to streamline *installs*, debloat with *tweaks*, troubleshoot with *config*, and fix Windows *updates*. I am extremely picky about any contributions to keep this project clean and efficient. This utility is a compilation of Windows tasks I perform on each Windows system I use. It is meant to streamline *installs*, debloat with *tweaks*, troubleshoot with *config*, and fix Windows *updates*. I am extremely picky about any contributions to keep this project clean and efficient.
![screen-install](https://raw.githubusercontent.com/Chris-Titus-Docs/winutil-docs/refs/heads/main/assets/images/Title-Screen.png) ![screen-install](/docs/assets/images/Title-Screen.png)
## 💡 Usage ## 💡 Usage
@@ -76,7 +76,7 @@ You'll see a new file named `winutil.ps1`, which's created by `Compile.ps1` scri
These are the sponsors that help keep this project alive with monthly contributions. These are the sponsors that help keep this project alive with monthly contributions.
<!-- sponsors --><a href="https://github.com/markamos"><img src="https:&#x2F;&#x2F;github.com&#x2F;markamos.png" width="60px" alt="User avatar: Mark Amos" /></a><a href="https://github.com/dwelfusius"><img src="https:&#x2F;&#x2F;github.com&#x2F;dwelfusius.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/mews-se"><img src="https:&#x2F;&#x2F;github.com&#x2F;mews-se.png" width="60px" alt="User avatar: Martin Stockzell" /></a><a href="https://github.com/jdiegmueller"><img src="https:&#x2F;&#x2F;github.com&#x2F;jdiegmueller.png" width="60px" alt="User avatar: Jason A. Diegmueller" /></a><a href="https://github.com/robertsandrock"><img src="https:&#x2F;&#x2F;github.com&#x2F;robertsandrock.png" width="60px" alt="User avatar: RMS" /></a><a href="https://github.com/KenichiQaz"><img src="https:&#x2F;&#x2F;github.com&#x2F;KenichiQaz.png" width="60px" alt="User avatar: Stefan" /></a><a href="https://github.com/paulsheets"><img src="https:&#x2F;&#x2F;github.com&#x2F;paulsheets.png" width="60px" alt="User avatar: Paul" /></a><a href="https://github.com/djones369"><img src="https:&#x2F;&#x2F;github.com&#x2F;djones369.png" width="60px" alt="User avatar: Dave J (WhamGeek)" /></a><a href="https://github.com/anthonymendez"><img src="https:&#x2F;&#x2F;github.com&#x2F;anthonymendez.png" width="60px" alt="User avatar: Anthony Mendez" /></a><a href="https://github.com/FatBastard0"><img src="https:&#x2F;&#x2F;github.com&#x2F;FatBastard0.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DursleyGuy"><img src="https:&#x2F;&#x2F;github.com&#x2F;DursleyGuy.png" width="60px" alt="User avatar: DursleyGuy" /></a><a href="https://github.com/quaszi"><img src="https:&#x2F;&#x2F;github.com&#x2F;quaszi.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DwayneTheRockLobster1"><img src="https:&#x2F;&#x2F;github.com&#x2F;DwayneTheRockLobster1.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/KieraKujisawa"><img src="https:&#x2F;&#x2F;github.com&#x2F;KieraKujisawa.png" width="60px" alt="User avatar: Kiera Meredith" /></a><a href="https://github.com/andrewpayne68"><img src="https:&#x2F;&#x2F;github.com&#x2F;andrewpayne68.png" width="60px" alt="User avatar: Andrew P" /></a><!-- sponsors --> <!-- sponsors --><a href="https://github.com/dwelfusius"><img src="https:&#x2F;&#x2F;github.com&#x2F;dwelfusius.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/mews-se"><img src="https:&#x2F;&#x2F;github.com&#x2F;mews-se.png" width="60px" alt="User avatar: Martin Stockzell" /></a><a href="https://github.com/jdiegmueller"><img src="https:&#x2F;&#x2F;github.com&#x2F;jdiegmueller.png" width="60px" alt="User avatar: Jason A. Diegmueller" /></a><a href="https://github.com/robertsandrock"><img src="https:&#x2F;&#x2F;github.com&#x2F;robertsandrock.png" width="60px" alt="User avatar: RMS" /></a><a href="https://github.com/KenichiQaz"><img src="https:&#x2F;&#x2F;github.com&#x2F;KenichiQaz.png" width="60px" alt="User avatar: Stefan" /></a><a href="https://github.com/paulsheets"><img src="https:&#x2F;&#x2F;github.com&#x2F;paulsheets.png" width="60px" alt="User avatar: Paul" /></a><a href="https://github.com/djones369"><img src="https:&#x2F;&#x2F;github.com&#x2F;djones369.png" width="60px" alt="User avatar: Dave J (WhamGeek)" /></a><a href="https://github.com/anthonymendez"><img src="https:&#x2F;&#x2F;github.com&#x2F;anthonymendez.png" width="60px" alt="User avatar: Anthony Mendez" /></a><a href="https://github.com/FatBastard0"><img src="https:&#x2F;&#x2F;github.com&#x2F;FatBastard0.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DursleyGuy"><img src="https:&#x2F;&#x2F;github.com&#x2F;DursleyGuy.png" width="60px" alt="User avatar: DursleyGuy" /></a><a href="https://github.com/quaszi"><img src="https:&#x2F;&#x2F;github.com&#x2F;quaszi.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/DwayneTheRockLobster1"><img src="https:&#x2F;&#x2F;github.com&#x2F;DwayneTheRockLobster1.png" width="60px" alt="User avatar: " /></a><a href="https://github.com/KieraKujisawa"><img src="https:&#x2F;&#x2F;github.com&#x2F;KieraKujisawa.png" width="60px" alt="User avatar: Kiera Meredith" /></a><a href="https://github.com/andrewpayne68"><img src="https:&#x2F;&#x2F;github.com&#x2F;andrewpayne68.png" width="60px" alt="User avatar: Andrew P" /></a><a href="https://github.com/nathanzilgo"><img src="https:&#x2F;&#x2F;github.com&#x2F;nathanzilgo.png" width="60px" alt="User avatar: Nathan Fernandes Pedroza" /></a><!-- sponsors -->
## 🏅 Thanks to all Contributors ## 🏅 Thanks to all Contributors
Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻. Thanks a lot for spending your time helping Winutil grow. Thanks a lot! Keep rocking 🍻.

File diff suppressed because it is too large Load Diff

View File

@@ -60,7 +60,7 @@
"Description": "Clear the selection of applications" "Description": "Clear the selection of applications"
}, },
"WPFGetInstalled": { "WPFGetInstalled": {
"Content": "Get Installed", "Content": "Show Installed Apps",
"Category": "__Selection", "Category": "__Selection",
"Type": "Button", "Type": "Button",
"Order": "4", "Order": "4",
@@ -72,5 +72,13 @@
"Type": "Button", "Type": "Button",
"Order": "5", "Order": "5",
"Description": "Show the selected applications" "Description": "Show the selected applications"
},
"WPFToggleFOSSHighlight": {
"Content": "Highlight FOSS",
"Category": "__Selection",
"Type": "Toggle",
"Checked": true,
"Order": "6",
"Description": "Toggle the green highlight for FOSS applications"
} }
} }

View File

@@ -4,7 +4,6 @@
"Description": ".NET and .NET Framework is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.", "Description": ".NET and .NET Framework is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a010_",
"feature": [ "feature": [
"NetFx4-AdvSrvs", "NetFx4-AdvSrvs",
"NetFx3" "NetFx3"
@@ -17,7 +16,6 @@
"Description": "Hyper-V is a hardware virtualization product developed by Microsoft that allows users to create and manage virtual machines.", "Description": "Hyper-V is a hardware virtualization product developed by Microsoft that allows users to create and manage virtual machines.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a011_",
"feature": [ "feature": [
"Microsoft-Hyper-V-All" "Microsoft-Hyper-V-All"
], ],
@@ -31,7 +29,6 @@
"Description": "Enables legacy programs from previous versions of windows", "Description": "Enables legacy programs from previous versions of windows",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a012_",
"feature": [ "feature": [
"WindowsMediaPlayer", "WindowsMediaPlayer",
"MediaPlayback", "MediaPlayback",
@@ -46,7 +43,6 @@
"Description": "Windows Subsystem for Linux is an optional feature of Windows that allows Linux programs to run natively on Windows without the need for a separate virtual machine or dual booting.", "Description": "Windows Subsystem for Linux is an optional feature of Windows that allows Linux programs to run natively on Windows without the need for a separate virtual machine or dual booting.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a020_",
"feature": [ "feature": [
"VirtualMachinePlatform", "VirtualMachinePlatform",
"Microsoft-Windows-Subsystem-Linux" "Microsoft-Windows-Subsystem-Linux"
@@ -59,7 +55,6 @@
"Description": "Network File System (NFS) is a mechanism for storing files on a network.", "Description": "Network File System (NFS) is a mechanism for storing files on a network.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a014_",
"feature": [ "feature": [
"ServicesForNFS-ClientOnly", "ServicesForNFS-ClientOnly",
"ClientForNFS-Infrastructure", "ClientForNFS-Infrastructure",
@@ -79,7 +74,6 @@
"Description": "Enables daily registry backup, previously disabled by Microsoft in Windows 10 1803.", "Description": "Enables daily registry backup, previously disabled by Microsoft in Windows 10 1803.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a017_",
"feature": [], "feature": [],
"InvokeScript": [ "InvokeScript": [
" "
@@ -97,7 +91,6 @@
"Description": "Enables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.", "Description": "Enables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a018_",
"feature": [], "feature": [],
"InvokeScript": [ "InvokeScript": [
"bcdedit /set bootmenupolicy legacy" "bcdedit /set bootmenupolicy legacy"
@@ -109,7 +102,6 @@
"Description": "Disables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.", "Description": "Disables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a019_",
"feature": [], "feature": [],
"InvokeScript": [ "InvokeScript": [
"bcdedit /set bootmenupolicy standard" "bcdedit /set bootmenupolicy standard"
@@ -121,7 +113,6 @@
"Description": "Windows Sandbox is a lightweight virtual machine that provides a temporary desktop environment to safely run applications and programs in isolation.", "Description": "Windows Sandbox is a lightweight virtual machine that provides a temporary desktop environment to safely run applications and programs in isolation.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a021_",
"feature": [ "feature": [
"Containers-DisposableClientVM" "Containers-DisposableClientVM"
], ],
@@ -131,71 +122,65 @@
"Content": "Install Features", "Content": "Install Features",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a060_",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"function": "Invoke-WPFFeatureInstall",
"link": "https://winutil.christitus.com/dev/features/features/install" "link": "https://winutil.christitus.com/dev/features/features/install"
}, },
"WPFPanelAutologin": { "WPFPanelAutologin": {
"Content": "Set Up Autologin", "Content": "Set Up Autologin",
"category": "Fixes", "category": "Fixes",
"Order": "a040_",
"panel": "1", "panel": "1",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"function": "Invoke-WPFPanelAutologin",
"link": "https://winutil.christitus.com/dev/features/fixes/autologin" "link": "https://winutil.christitus.com/dev/features/fixes/autologin"
}, },
"WPFFixesUpdate": { "WPFFixesUpdate": {
"Content": "Reset Windows Update", "Content": "Reset Windows Update",
"category": "Fixes", "category": "Fixes",
"panel": "1", "panel": "1",
"Order": "a041_",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"function": "Invoke-WPFFixesUpdate",
"link": "https://winutil.christitus.com/dev/features/fixes/update" "link": "https://winutil.christitus.com/dev/features/fixes/update"
}, },
"WPFFixesNetwork": { "WPFFixesNetwork": {
"Content": "Reset Network", "Content": "Reset Network",
"category": "Fixes", "category": "Fixes",
"Order": "a042_",
"panel": "1", "panel": "1",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"function": "Invoke-WPFFixesNetwork",
"link": "https://winutil.christitus.com/dev/features/fixes/network" "link": "https://winutil.christitus.com/dev/features/fixes/network"
}, },
"WPFPanelDISM": { "WPFPanelDISM": {
"Content": "System Corruption Scan", "Content": "System Corruption Scan",
"category": "Fixes", "category": "Fixes",
"panel": "1", "panel": "1",
"Order": "a043_",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"function": "Invoke-WPFSystemRepair",
"link": "https://winutil.christitus.com/dev/features/fixes/dism" "link": "https://winutil.christitus.com/dev/features/fixes/dism"
}, },
"WPFFixesWinget": { "WPFFixesWinget": {
"Content": "WinGet Reinstall", "Content": "WinGet Reinstall",
"category": "Fixes", "category": "Fixes",
"panel": "1", "panel": "1",
"Order": "a044_",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"function": "Invoke-WPFFixesWinget",
"link": "https://winutil.christitus.com/dev/features/fixes/winget" "link": "https://winutil.christitus.com/dev/features/fixes/winget"
}, },
"WPFRunAdobeCCCleanerTool": {
"Content": "Remove Adobe Creative Cloud",
"category": "Fixes",
"panel": "1",
"Order": "a045_",
"Type": "Button",
"ButtonWidth": "300",
"link": "https://winutil.christitus.com/dev/features/fixes/runadobecccleanertool"
},
"WPFPanelControl": { "WPFPanelControl": {
"Content": "Control Panel", "Content": "Control Panel",
"category": "Legacy Windows Panels", "category": "Legacy Windows Panels",
"panel": "2", "panel": "2",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"InvokeScript": [
"control"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/control" "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/control"
}, },
"WPFPanelComputer": { "WPFPanelComputer": {
@@ -204,6 +189,9 @@
"panel": "2", "panel": "2",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"InvokeScript": [
"compmgmt.msc"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/computer" "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/computer"
}, },
"WPFPanelNetwork": { "WPFPanelNetwork": {
@@ -212,6 +200,9 @@
"panel": "2", "panel": "2",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"InvokeScript": [
"ncpa.cpl"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/network" "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/network"
}, },
"WPFPanelPower": { "WPFPanelPower": {
@@ -220,6 +211,9 @@
"panel": "2", "panel": "2",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"InvokeScript": [
"powercfg.cpl"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/power" "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/power"
}, },
"WPFPanelPrinter": { "WPFPanelPrinter": {
@@ -228,6 +222,9 @@
"panel": "2", "panel": "2",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"InvokeScript": [
"Start-Process 'shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}'"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/printer" "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/printer"
}, },
"WPFPanelRegion": { "WPFPanelRegion": {
@@ -236,6 +233,9 @@
"panel": "2", "panel": "2",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"InvokeScript": [
"intl.cpl"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/region" "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/region"
}, },
"WPFPanelRestore": { "WPFPanelRestore": {
@@ -244,6 +244,9 @@
"panel": "2", "panel": "2",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"InvokeScript": [
"rstrui.exe"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/restore" "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/restore"
}, },
"WPFPanelSound": { "WPFPanelSound": {
@@ -252,7 +255,10 @@
"panel": "2", "panel": "2",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/user" "InvokeScript": [
"mmsys.cpl"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/sound"
}, },
"WPFPanelSystem": { "WPFPanelSystem": {
"Content": "System Properties", "Content": "System Properties",
@@ -260,6 +266,9 @@
"panel": "2", "panel": "2",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"InvokeScript": [
"sysdm.cpl"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/system" "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/system"
}, },
"WPFPanelTimedate": { "WPFPanelTimedate": {
@@ -268,30 +277,36 @@
"panel": "2", "panel": "2",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300", "ButtonWidth": "300",
"InvokeScript": [
"timedate.cpl"
],
"link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/timedate" "link": "https://winutil.christitus.com/dev/features/legacy-windows-panels/timedate"
}, },
"WPFWinUtilInstallPSProfile": { "WPFWinUtilInstallPSProfile": {
"Content": "Install CTT PowerShell Profile", "Content": "Install CTT PowerShell Profile",
"category": "Powershell Profile Powershell 7+ Only", "category": "Powershell Profile Powershell 7+ Only",
"panel": "2", "panel": "2",
"Order": "a083_",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300" "ButtonWidth": "300",
"function": "Invoke-WinUtilInstallPSProfile",
"link": "https://winutil.christitus.com/dev/features/powershell-profile-powershell-7--only/installpsprofile"
}, },
"WPFWinUtilUninstallPSProfile": { "WPFWinUtilUninstallPSProfile": {
"Content": "Uninstall CTT PowerShell Profile", "Content": "Uninstall CTT PowerShell Profile",
"category": "Powershell Profile Powershell 7+ Only", "category": "Powershell Profile Powershell 7+ Only",
"panel": "2", "panel": "2",
"Order": "a084_",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300" "ButtonWidth": "300",
"function": "Invoke-WinUtilUninstallPSProfile",
"link": "https://winutil.christitus.com/dev/features/powershell-profile-powershell-7--only/uninstallpsprofile"
}, },
"WPFWinUtilSSHServer": { "WPFWinUtilSSHServer": {
"Content": "Enable OpenSSH Server", "Content": "Enable OpenSSH Server",
"category": "Remote Access", "category": "Remote Access",
"panel": "2", "panel": "2",
"Order": "a084_",
"Type": "Button", "Type": "Button",
"ButtonWidth": "300" "ButtonWidth": "300",
"function": "Invoke-WPFSSHServer",
"link": "https://winutil.christitus.com/dev/features/remote-access/sshserver"
} }
} }

View File

@@ -16,7 +16,6 @@
], ],
"Minimal": [ "Minimal": [
"WPFTweaksConsumerFeatures", "WPFTweaksConsumerFeatures",
"WPFTweaksDisableExplorerAutoDiscovery",
"WPFTweaksWPBT", "WPFTweaksWPBT",
"WPFTweaksServices", "WPFTweaksServices",
"WPFTweaksTelemetry" "WPFTweaksTelemetry"

View File

@@ -65,10 +65,12 @@
"ButtonTweaksBackgroundColor": "#F7F7F7", "ButtonTweaksBackgroundColor": "#F7F7F7",
"ButtonConfigBackgroundColor": "#F7F7F7", "ButtonConfigBackgroundColor": "#F7F7F7",
"ButtonUpdatesBackgroundColor": "#F7F7F7", "ButtonUpdatesBackgroundColor": "#F7F7F7",
"ButtonWin11ISOBackgroundColor": "#F7F7F7",
"ButtonInstallForegroundColor": "#232629", "ButtonInstallForegroundColor": "#232629",
"ButtonTweaksForegroundColor": "#232629", "ButtonTweaksForegroundColor": "#232629",
"ButtonConfigForegroundColor": "#232629", "ButtonConfigForegroundColor": "#232629",
"ButtonUpdatesForegroundColor": "#232629", "ButtonUpdatesForegroundColor": "#232629",
"ButtonWin11ISOForegroundColor": "#232629",
"ButtonBackgroundColor": "#F5F5F5", "ButtonBackgroundColor": "#F5F5F5",
"ButtonBackgroundPressedColor": "#1A1A1A", "ButtonBackgroundPressedColor": "#1A1A1A",
"ButtonBackgroundMouseoverColor": "#C2C2C2", "ButtonBackgroundMouseoverColor": "#C2C2C2",
@@ -105,10 +107,12 @@
"ButtonTweaksBackgroundColor": "#333333", "ButtonTweaksBackgroundColor": "#333333",
"ButtonConfigBackgroundColor": "#444444", "ButtonConfigBackgroundColor": "#444444",
"ButtonUpdatesBackgroundColor": "#555555", "ButtonUpdatesBackgroundColor": "#555555",
"ButtonWin11ISOBackgroundColor": "#666666",
"ButtonInstallForegroundColor": "#F7F7F7", "ButtonInstallForegroundColor": "#F7F7F7",
"ButtonTweaksForegroundColor": "#F7F7F7", "ButtonTweaksForegroundColor": "#F7F7F7",
"ButtonConfigForegroundColor": "#F7F7F7", "ButtonConfigForegroundColor": "#F7F7F7",
"ButtonUpdatesForegroundColor": "#F7F7F7", "ButtonUpdatesForegroundColor": "#F7F7F7",
"ButtonWin11ISOForegroundColor": "#F7F7F7",
"ButtonBackgroundColor": "#1E3747", "ButtonBackgroundColor": "#1E3747",
"ButtonBackgroundPressedColor": "#F7F7F7", "ButtonBackgroundPressedColor": "#F7F7F7",
"ButtonBackgroundMouseoverColor": "#3B4252", "ButtonBackgroundMouseoverColor": "#3B4252",

File diff suppressed because it is too large Load Diff

View File

@@ -27,6 +27,14 @@ If you are still having issues, try using a **VPN**, or changing your **DNS prov
| Cloudflare | `1.1.1.1` | `1.0.0.1` | | Cloudflare | `1.1.1.1` | `1.0.0.1` |
| Google | `8.8.8.8` | `8.8.4.4` | | Google | `8.8.8.8` | `8.8.4.4` |
### Script Won't Run
If your PowerShell session is running in **Constrained Language Mode**, some scripts and commands may fail to execute. To check the current language mode, run:
```powershell
$ExecutionContext.SessionState.LanguageMode
```
If it returns `ConstrainedLanguage`, you may need to switch to `FullLanguage` mode or run the script in a session with administrative privileges. Be aware that some security policies may enforce Constrained Language Mode, especially in corporate or managed environments.
### Script blocked by Execution Policy ### Script blocked by Execution Policy
1. Ensure you are running PowerShell as admin: Press `Windows Key`+`X` and select _PowerShell (Admin)_ in Windows 10, or `Windows Terminal (Admin)` in Windows 11. 1. Ensure you are running PowerShell as admin: Press `Windows Key`+`X` and select _PowerShell (Admin)_ in Windows 10, or `Windows Terminal (Admin)` in Windows 11.

View File

@@ -22,5 +22,5 @@ irm "https://christitus.com/win" | iex
``` ```
> [!NOTE] > [!IMPORTANT]
> Winutil is updated frequently as of the time of writing. Consequently, features and functionalities may evolve, and the documentation may not always reflect the most current images or information. > Winutil is updated frequently as of the time of writing. Consequently, features and functionalities may evolve, and the documentation may not always reflect the most current images or information.

View File

@@ -1,6 +1,7 @@
--- ---
title: Developer Reference title: Developer Reference
weight: 3 weight: 3
toc: false
--- ---
> [!NOTE] > [!NOTE]
@@ -41,3 +42,11 @@ weight: 3
### Features ### Features
{{< autolinks section="dev/features/features" >}} {{< autolinks section="dev/features/features" >}}
### Remote Access
{{< autolinks section="dev/features/remote-access" >}}
### Powershell Profile Powershell 7+ Only
{{< autolinks section="dev/features/powershell-profile-powershell-7--only" >}}

View File

@@ -194,7 +194,7 @@ Update UI
### applications.json Structure ### applications.json Structure
```json ```json {filename="config/applications.json"}
{ {
"WPFInstall<AppName>": { "WPFInstall<AppName>": {
"category": "Browsers", "category": "Browsers",
@@ -217,14 +217,13 @@ Update UI
### tweaks.json Structure ### tweaks.json Structure
```json ```json {filename="config/tweaks.json"}
{ {
"WPFTweaksTelemetry": { "WPFTweaksTelemetry": {
"Content": "Disable Telemetry", "Content": "Disable Telemetry",
"Description": "Disables Microsoft Telemetry", "Description": "Disables Microsoft Telemetry",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Order": "a003_",
"registry": [ "registry": [
{ {
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\DataCollection", "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\DataCollection",
@@ -365,7 +364,7 @@ $sync.form.Dispatcher.Invoke([action]{
### Adding a New Application ### Adding a New Application
1. Edit `config/applications.json`: 1. Edit `config/applications.json`:
```json ```json {filename="config/applications.json"}
{ {
"WPFInstallNewApp": { "WPFInstallNewApp": {
"category": "Utilities", "category": "Utilities",
@@ -383,7 +382,7 @@ $sync.form.Dispatcher.Invoke([action]{
### Adding a New Tweak ### Adding a New Tweak
1. Edit `config/tweaks.json`: 1. Edit `config/tweaks.json`:
```json ```json {filename="config/tweaks.json"}
{ {
"WPFTweaksNewTweak": { "WPFTweaksNewTweak": {
"Content": "New Tweak", "Content": "New Tweak",

View File

@@ -2,13 +2,13 @@
title: "Disable Legacy F8 Boot Recovery" title: "Disable Legacy F8 Boot Recovery"
description: "" description: ""
--- ---
```json
```json {filename="config/feature.json",linenos=inline,linenostart=100}
"WPFFeatureDisableLegacyRecovery": { "WPFFeatureDisableLegacyRecovery": {
"Content": "Disable Legacy F8 Boot Recovery", "Content": "Disable Legacy F8 Boot Recovery",
"Description": "Disables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.", "Description": "Disables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a019_",
"feature": [], "feature": [],
"InvokeScript": [ "InvokeScript": [
"bcdedit /set bootmenupolicy standard" "bcdedit /set bootmenupolicy standard"

View File

@@ -2,13 +2,13 @@
title: "Enable Legacy F8 Boot Recovery" title: "Enable Legacy F8 Boot Recovery"
description: "" description: ""
--- ---
```json
```json {filename="config/feature.json",linenos=inline,linenostart=89}
"WPFFeatureEnableLegacyRecovery": { "WPFFeatureEnableLegacyRecovery": {
"Content": "Enable Legacy F8 Boot Recovery", "Content": "Enable Legacy F8 Boot Recovery",
"Description": "Enables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.", "Description": "Enables Advanced Boot Options screen that lets you start Windows in advanced troubleshooting modes.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a018_",
"feature": [], "feature": [],
"InvokeScript": [ "InvokeScript": [
"bcdedit /set bootmenupolicy legacy" "bcdedit /set bootmenupolicy legacy"

View File

@@ -2,13 +2,13 @@
title: "Enable Daily Registry Backup Task 12.30am" title: "Enable Daily Registry Backup Task 12.30am"
description: "" description: ""
--- ---
```json
```json {filename="config/feature.json",linenos=inline,linenostart=72}
"WPFFeatureRegBackup": { "WPFFeatureRegBackup": {
"Content": "Enable Daily Registry Backup Task 12.30am", "Content": "Enable Daily Registry Backup Task 12.30am",
"Description": "Enables daily registry backup, previously disabled by Microsoft in Windows 10 1803.", "Description": "Enables daily registry backup, previously disabled by Microsoft in Windows 10 1803.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a017_",
"feature": [], "feature": [],
"InvokeScript": [ "InvokeScript": [
" "

View File

@@ -2,13 +2,13 @@
title: "Windows Sandbox" title: "Windows Sandbox"
description: "" description: ""
--- ---
```json
```json {filename="config/feature.json",linenos=inline,linenostart=111}
"WPFFeaturesSandbox": { "WPFFeaturesSandbox": {
"Content": "Windows Sandbox", "Content": "Windows Sandbox",
"Description": "Windows Sandbox is a lightweight virtual machine that provides a temporary desktop environment to safely run applications and programs in isolation.", "Description": "Windows Sandbox is a lightweight virtual machine that provides a temporary desktop environment to safely run applications and programs in isolation.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a021_",
"feature": [ "feature": [
"Containers-DisposableClientVM" "Containers-DisposableClientVM"
], ],

View File

@@ -1,6 +1,7 @@
--- ---
weight: 1
title: "Features" title: "Features"
weight: 1
toc: false
--- ---
{{< autolinks section="dev/features/features" >}} {{< autolinks section="dev/features/features" >}}

View File

@@ -2,15 +2,16 @@
title: "All .Net Framework (2,3,4)" title: "All .Net Framework (2,3,4)"
description: "" description: ""
--- ---
```json
```json {filename="config/feature.json",linenos=inline,linenostart=2}
"WPFFeaturesdotnet": { "WPFFeaturesdotnet": {
"Content": "All .Net Framework (2,3,4)", "Content": "All .Net Framework (2,3,4)",
"Description": ".NET and .NET Framework is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.", "Description": ".NET and .NET Framework is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a010_",
"feature": [ "feature": [
"NetFx4-AdvSrvs", "NetFx4-AdvSrvs",
"NetFx3" "NetFx3"
], ],
"InvokeScript": [],
``` ```

View File

@@ -2,13 +2,13 @@
title: "HyperV Virtualization" title: "HyperV Virtualization"
description: "" description: ""
--- ---
```json
```json {filename="config/feature.json",linenos=inline,linenostart=14}
"WPFFeatureshyperv": { "WPFFeatureshyperv": {
"Content": "HyperV Virtualization", "Content": "HyperV Virtualization",
"Description": "Hyper-V is a hardware virtualization product developed by Microsoft that allows users to create and manage virtual machines.", "Description": "Hyper-V is a hardware virtualization product developed by Microsoft that allows users to create and manage virtual machines.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a011_",
"feature": [ "feature": [
"Microsoft-Hyper-V-All" "Microsoft-Hyper-V-All"
], ],

View File

@@ -2,17 +2,18 @@
title: "Legacy Media (WMP, DirectPlay)" title: "Legacy Media (WMP, DirectPlay)"
description: "" description: ""
--- ---
```json
```json {filename="config/feature.json",linenos=inline,linenostart=27}
"WPFFeatureslegacymedia": { "WPFFeatureslegacymedia": {
"Content": "Legacy Media (WMP, DirectPlay)", "Content": "Legacy Media (WMP, DirectPlay)",
"Description": "Enables legacy programs from previous versions of windows", "Description": "Enables legacy programs from previous versions of windows",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a012_",
"feature": [ "feature": [
"WindowsMediaPlayer", "WindowsMediaPlayer",
"MediaPlayback", "MediaPlayback",
"DirectPlay", "DirectPlay",
"LegacyComponents" "LegacyComponents"
], ],
"InvokeScript": [],
``` ```

View File

@@ -2,13 +2,13 @@
title: "NFS - Network File System" title: "NFS - Network File System"
description: "" description: ""
--- ---
```json
```json {filename="config/feature.json",linenos=inline,linenostart=53}
"WPFFeaturenfs": { "WPFFeaturenfs": {
"Content": "NFS - Network File System", "Content": "NFS - Network File System",
"Description": "Network File System (NFS) is a mechanism for storing files on a network.", "Description": "Network File System (NFS) is a mechanism for storing files on a network.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a014_",
"feature": [ "feature": [
"ServicesForNFS-ClientOnly", "ServicesForNFS-ClientOnly",
"ClientForNFS-Infrastructure", "ClientForNFS-Infrastructure",

View File

@@ -2,15 +2,16 @@
title: "Windows Subsystem for Linux" title: "Windows Subsystem for Linux"
description: "" description: ""
--- ---
```json
```json {filename="config/feature.json",linenos=inline,linenostart=41}
"WPFFeaturewsl": { "WPFFeaturewsl": {
"Content": "Windows Subsystem for Linux", "Content": "Windows Subsystem for Linux",
"Description": "Windows Subsystem for Linux is an optional feature of Windows that allows Linux programs to run natively on Windows without the need for a separate virtual machine or dual booting.", "Description": "Windows Subsystem for Linux is an optional feature of Windows that allows Linux programs to run natively on Windows without the need for a separate virtual machine or dual booting.",
"category": "Features", "category": "Features",
"panel": "1", "panel": "1",
"Order": "a020_",
"feature": [ "feature": [
"VirtualMachinePlatform", "VirtualMachinePlatform",
"Microsoft-Windows-Subsystem-Linux" "Microsoft-Windows-Subsystem-Linux"
], ],
"InvokeScript": [],
``` ```

View File

@@ -2,7 +2,8 @@
title: "Set Up Autologin" title: "Set Up Autologin"
description: "" description: ""
--- ---
```powershell
```powershell {filename="functions/public/Invoke-WPFPanelAutologin.ps1",linenos=inline,linenostart=1}
function Invoke-WPFPanelAutologin { function Invoke-WPFPanelAutologin {
<# <#

View File

@@ -1,143 +0,0 @@
---
title: "System Corruption Scan"
description: ""
---
```powershell
function Invoke-WPFSystemRepair {
<#
.SYNOPSIS
Checks for system corruption using Chkdsk, SFC, and DISM
.DESCRIPTION
1. Chkdsk - Fixes disk and filesystem corruption
2. SFC Run 1 - Fixes system file corruption, and fixes DISM if it was corrupted
3. DISM - Fixes system image corruption, and fixes SFC's system image if it was corrupted
4. SFC Run 2 - Fixes system file corruption, this time with an almost guaranteed uncorrupted system image
#>
function Invoke-Chkdsk {
<#
.SYNOPSIS
Runs chkdsk on the system drive
.DESCRIPTION
Chkdsk /Scan - Runs an online scan on the system drive, attempts to fix any corruption, and queues other corruption for fixing on reboot
#>
param(
[int]$parentProgressId = 0
)
Write-Progress -Id 1 -ParentId $parentProgressId -Activity $childProgressBarActivity -Status "Running chkdsk..." -PercentComplete 0
$oldpercent = 0
# 2>&1 redirects stdout, allowing iteration over the output
chkdsk.exe /scan /perf 2>&1 | ForEach-Object {
Write-Debug $_
# Regex to match the total percentage regardless of windows locale (it's always the second percentage in the status output)
if ($_ -match "%.*?(\d+)%") {
[int]$percent = $matches[1]
if ($percent -gt $oldpercent) {
Write-Progress -Id 1 -Activity $childProgressBarActivity -Status "Running chkdsk... ($percent%)" -PercentComplete $percent
$oldpercent = $percent
}
}
}
Write-Progress -Id 1 -Activity $childProgressBarActivity -Status "chkdsk Completed" -PercentComplete 100 -Completed
}
function Invoke-SFC {
<#
.SYNOPSIS
Runs sfc on the system drive
.DESCRIPTION
SFC /ScanNow - Performs a scan of the system files and fixes any corruption
.NOTES
ErrorActionPreference is set locally within a script block & {...} to isolate their effects.
ErrorActionPreference suppresses false errors caused by sfc.exe output redirection.
A bug in SFC output buffering causes progress updates to appear in chunks when redirecting output
#>
param(
[int]$parentProgressId = 0
)
& {
$ErrorActionPreference = "SilentlyContinue"
Write-Progress -Id 1 -ParentId $parentProgressId -Activity $childProgressBarActivity -Status "Running SFC..." -PercentComplete 0
$oldpercent = 0
sfc.exe /scannow 2>&1 | ForEach-Object {
Write-Debug $_
if ($_ -ne "") {
# sfc.exe /scannow outputs unicode characters, so we directly remove null characters for optimization
$utf8line = $_ -replace "`0", ""
if ($utf8line -match "(\d+)\s*%") {
[int]$percent = $matches[1]
if ($percent -gt $oldpercent) {
Write-Progress -Id 1 -Activity $childProgressBarActivity -Status "Running SFC... ($percent%)" -PercentComplete $percent
$oldpercent = $percent
}
}
}
}
Write-Progress -Id 1 -Activity $childProgressBarActivity -Status "SFC Completed" -PercentComplete 100 -Completed
}
}
function Invoke-DISM {
<#
.SYNOPSIS
Runs DISM on the system drive
.DESCRIPTION
DISM - Fixes system image corruption, and fixes SFC's system image if it was corrupted
/Online - Fixes the currently running system image
/Cleanup-Image - Performs cleanup operations on the image, could remove some unneeded temporary files
/Restorehealth - Performs a scan of the image and fixes any corruption
#>
param(
[int]$parentProgressId = 0
)
Write-Progress -Id 1 -ParentId $parentProgressId -Activity $childProgressBarActivity -Status "Running DISM..." -PercentComplete 0
$oldpercent = 0
DISM /Online /Cleanup-Image /RestoreHealth | ForEach-Object {
Write-Debug $_
# Filter for lines that contain a percentage that is greater than the previous one
if ($_ -match "(\d+)[.,]\d+%") {
[int]$percent = $matches[1]
if ($percent -gt $oldpercent) {
# Update the progress bar
Write-Progress -Id 1 -Activity $childProgressBarActivity -Status "Running DISM... ($percent%)" -PercentComplete $percent
$oldpercent = $percent
}
}
}
Write-Progress -Id 1 -Activity $childProgressBarActivity -Status "DISM Completed" -PercentComplete 100 -Completed
}
try {
Set-WinUtilTaskbaritem -state "Indeterminate" -overlay "logo"
$childProgressBarActivity = "Scanning for corruption"
Write-Progress -Id 0 -Activity "Repairing Windows" -PercentComplete 0
# Step 1: Run chkdsk to fix disk and filesystem corruption before proceeding with system file repairs
Invoke-Chkdsk
Write-Progress -Id 0 -Activity "Repairing Windows" -PercentComplete 25
# Step 2: Run SFC to fix system file corruption and ensure DISM can operate correctly
Invoke-SFC
Write-Progress -Id 0 -Activity "Repairing Windows" -PercentComplete 50
# Step 3: Run DISM to repair the system image, which SFC relies on for accurate repairs
Invoke-DISM
Write-Progress -Id 0 -Activity "Repairing Windows" -PercentComplete 75
# Step 4: Run SFC again to ensure system files are repaired using the now-fixed system image
Invoke-SFC
Write-Progress -Id 0 -Activity "Repairing Windows" -PercentComplete 100 -Completed
Set-WinUtilTaskbaritem -state "None" -overlay "checkmark"
} catch {
Write-Error "An error occurred while repairing the system: $_"
Set-WinUtilTaskbaritem -state "Error" -overlay "warning"
} finally {
Write-Host "==> Finished System Repair"
Set-WinUtilTaskbaritem -state "None" -overlay "checkmark"
}
}
```

View File

@@ -0,0 +1,26 @@
---
title: "System Corruption Scan"
description: ""
---
```powershell {filename="functions/public/Invoke-WPFSystemRepair.ps1",linenos=inline,linenostart=1}
function Invoke-WPFSystemRepair {
<#
.SYNOPSIS
Checks for system corruption using SFC, and DISM
Checks for disk failure using Chkdsk
.DESCRIPTION
1. Chkdsk - Checks for disk errors, which can cause system file corruption and notifies of early disk failure
2. SFC - scans protected system files for corruption and fixes them
3. DISM - Repair a corrupted Windows operating system image
#>
Start-Process cmd.exe -ArgumentList "/c chkdsk /scan /perf" -NoNewWindow -Wait
Start-Process cmd.exe -ArgumentList "/c sfc /scannow" -NoNewWindow -Wait
Start-Process cmd.exe -ArgumentList "/c dism /online /cleanup-image /restorehealth" -NoNewWindow -Wait
Write-Host "==> Finished System Repair"
Set-WinUtilTaskbaritem -state "None" -overlay "checkmark"
}
```

View File

@@ -2,7 +2,8 @@
title: "Reset Network" title: "Reset Network"
description: "" description: ""
--- ---
```powershell
```powershell {filename="functions/public/Invoke-WPFFixesNetwork.ps1",linenos=inline,linenostart=1}
function Invoke-WPFFixesNetwork { function Invoke-WPFFixesNetwork {
<# <#

View File

@@ -1,38 +0,0 @@
---
title: "Remove Adobe Creative Cloud"
description: ""
---
```powershell
function Invoke-WPFRunAdobeCCCleanerTool {
<#
.SYNOPSIS
It removes or fixes problem files and resolves permission issues in registry keys.
.DESCRIPTION
The Creative Cloud Cleaner tool is a utility for experienced users to clean up corrupted installations.
#>
[string]$url="https://swupmf.adobe.com/webfeed/CleanerTool/win/AdobeCreativeCloudCleanerTool.exe"
Write-Host "The Adobe Creative Cloud Cleaner tool is hosted at"
Write-Host "$url"
try {
# Don't show the progress because it will slow down the download speed
$ProgressPreference='SilentlyContinue'
Invoke-WebRequest -Uri $url -OutFile "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -UseBasicParsing -ErrorAction SilentlyContinue -Verbose
# Revert back the ProgressPreference variable to the default value since we got the file desired
$ProgressPreference='Continue'
Start-Process -FilePath "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -Wait -ErrorAction SilentlyContinue -Verbose
} catch {
Write-Error $_.Exception.Message
} finally {
if (Test-Path -Path "$env:TEMP\AdobeCreativeCloudCleanerTool.exe") {
Write-Host "Cleaning up..."
Remove-Item -Path "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -Verbose
}
}
}
```

View File

@@ -2,7 +2,8 @@
title: "Reset Windows Update" title: "Reset Windows Update"
description: "" description: ""
--- ---
```powershell
```powershell {filename="functions/public/Invoke-WPFFixesUpdate.ps1",linenos=inline,linenostart=1}
function Invoke-WPFFixesUpdate { function Invoke-WPFFixesUpdate {
<# <#
@@ -229,5 +230,4 @@ function Invoke-WPFFixesUpdate {
Write-Progress -Id 9 -Activity "Starting Windows Update Services" -Completed Write-Progress -Id 9 -Activity "Starting Windows Update Services" -Completed
Write-Progress -Id 10 -Activity "Forcing discovery" -Completed Write-Progress -Id 10 -Activity "Forcing discovery" -Completed
} }
``` ```

View File

@@ -2,7 +2,8 @@
title: "WinGet Reinstall" title: "WinGet Reinstall"
description: "" description: ""
--- ---
```powershell
```powershell {filename="functions/public/Invoke-WPFFixesWinget.ps1",linenos=inline,linenostart=1}
function Invoke-WPFFixesWinget { function Invoke-WPFFixesWinget {
<# <#

View File

@@ -1,6 +1,7 @@
--- ---
weight: 2
title: "Fixes" title: "Fixes"
weight: 2
toc: false
--- ---
{{< autolinks section="dev/features/fixes" >}} {{< autolinks section="dev/features/fixes" >}}

View File

@@ -0,0 +1,16 @@
---
title: "Computer Management"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=186}
"WPFPanelComputer": {
"Content": "Computer Management",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"compmgmt.msc"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Control Panel"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=175}
"WPFPanelControl": {
"Content": "Control Panel",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"control"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Network Connections"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=197}
"WPFPanelNetwork": {
"Content": "Network Connections",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"ncpa.cpl"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Power Panel"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=208}
"WPFPanelPower": {
"Content": "Power Panel",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"powercfg.cpl"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Printer Panel"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=219}
"WPFPanelPrinter": {
"Content": "Printer Panel",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"Start-Process 'shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}'"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Region"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=230}
"WPFPanelRegion": {
"Content": "Region",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"intl.cpl"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Windows Restore"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=241}
"WPFPanelRestore": {
"Content": "Windows Restore",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"rstrui.exe"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Sound Settings"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=252}
"WPFPanelSound": {
"Content": "Sound Settings",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"mmsys.cpl"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "System Properties"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=263}
"WPFPanelSystem": {
"Content": "System Properties",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"sysdm.cpl"
],
```

View File

@@ -0,0 +1,16 @@
---
title: "Time and Date"
description: ""
---
```json {filename="config/feature.json",linenos=inline,linenostart=274}
"WPFPanelTimedate": {
"Content": "Time and Date",
"category": "Legacy Windows Panels",
"panel": "2",
"Type": "Button",
"ButtonWidth": "300",
"InvokeScript": [
"timedate.cpl"
],
```

View File

@@ -1,6 +1,7 @@
--- ---
weight: 3
title: "Legacy Windows Panels" title: "Legacy Windows Panels"
weight: 3
toc: false
--- ---
{{< autolinks section="dev/features/legacy-windows-panels" >}} {{< autolinks section="dev/features/legacy-windows-panels" >}}

View File

@@ -1,32 +0,0 @@
---
title: "Control Panel"
description: ""
---
```powershell
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,32 +0,0 @@
---
title: "Network Connections"
description: ""
---
```powershell
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,32 +0,0 @@
---
title: "Power Panel"
description: ""
---
```powershell
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,32 +0,0 @@
---
title: "Printer Settings"
description: ""
---
```powershell
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,32 +0,0 @@
---
title: "Region"
description: ""
---
```powershell
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,32 +0,0 @@
---
title: "Sound Settings"
description: ""
---
```powershell
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,32 +0,0 @@
---
title: "System Properties"
description: ""
---
```powershell
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -1,32 +0,0 @@
---
title: "User Accounts"
description: ""
---
```powershell
function Invoke-WPFControlPanel {
<#
.SYNOPSIS
Opens the requested legacy panel
.PARAMETER Panel
The panel to open
#>
param($Panel)
switch ($Panel) {
"WPFPanelControl" {control}
"WPFPanelComputer" {compmgmt.msc}
"WPFPanelNetwork" {ncpa.cpl}
"WPFPanelPower" {powercfg.cpl}
"WPFPanelPrinter" {Start-Process "shell:::{A8A91A66-3A7D-4424-8D24-04E180695C7A}"}
"WPFPanelRegion" {intl.cpl}
"WPFPanelRestore" {rstrui.exe}
"WPFPanelSound" {mmsys.cpl}
"WPFPanelSystem" {sysdm.cpl}
"WPFPanelTimedate" {timedate.cpl}
"WPFPanelUser" {control userpasswords2}
}
}
```

View File

@@ -0,0 +1,15 @@
---
title: "Install CTT PowerShell Profile"
description: ""
---
```powershell {filename="functions/private/Invoke-WinUtilInstallPSProfile.ps1",linenos=inline,linenostart=1}
function Invoke-WinUtilInstallPSProfile {
if (Test-Path $Profile) {
Rename-Item $Profile -NewName ($Profile + '.bak')
}
Start-Process pwsh -ArgumentList '-Command "irm https://github.com/ChrisTitusTech/powershell-profile/raw/main/setup.ps1 | iex"'
}
```

View File

@@ -0,0 +1,18 @@
---
title: "Uninstall CTT PowerShell Profile"
description: ""
---
```powershell {filename="functions/private/Invoke-WinUtilUninstallPSProfile.ps1",linenos=inline,linenostart=1}
function Invoke-WinUtilUninstallPSProfile {
if (Test-Path ($Profile + '.bak')) {
Remove-Item $Profile
Rename-Item ($Profile + '.bak') -NewName $Profile
}
else {
Remove-Item $Profile
}
Write-Host "Successfully uninstalled CTT Powershell Profile" -ForegroundColor Green
}
```

View File

@@ -0,0 +1,7 @@
---
title: "Powershell Profile Powershell 7+ Only"
weight: 5
toc: false
---
{{< autolinks section="dev/features/powershell-profile-powershell-7--only" >}}

View File

@@ -0,0 +1,24 @@
---
title: "Enable OpenSSH Server"
description: ""
---
```powershell {filename="functions/public/Invoke-WPFSSHServer.ps1",linenos=inline,linenostart=1}
function Invoke-WPFSSHServer {
<#
.SYNOPSIS
Invokes the OpenSSH Server install in a runspace
#>
Invoke-WPFRunspace -ScriptBlock {
Invoke-WinUtilSSHServer
Write-Host "======================================="
Write-Host "-- OpenSSH Server installed! ---"
Write-Host "======================================="
}
}
```

View File

@@ -0,0 +1,7 @@
---
title: "Remote Access"
weight: 4
toc: false
---
{{< autolinks section="dev/features/remote-access" >}}

View File

@@ -1,6 +1,7 @@
--- ---
weight: 1
title: "Features" title: "Features"
weight: 1
toc: false
--- ---
### Fixes ### Fixes
@@ -14,3 +15,11 @@ title: "Features"
### Features ### Features
{{< autolinks section="dev/features/features" >}} {{< autolinks section="dev/features/features" >}}
### Remote Access
{{< autolinks section="dev/features/remote-access" >}}
### Powershell Profile Powershell 7+ Only
{{< autolinks section="dev/features/powershell-profile-powershell-7--only" >}}

View File

@@ -2,27 +2,28 @@
title: "Bing Search in Start Menu" title: "Bing Search in Start Menu"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2185}
"WPFToggleBingSearch": { "WPFToggleBingSearch": {
"Content": "Bing Search in Start Menu", "Content": "Bing Search in Start Menu",
"Description": "If enable then includes web search results from Bing in your Start Menu search.", "Description": "If enable then includes web search results from Bing in your Start Menu search.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a101_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search",
"Name": "BingSearchEnabled", "Name": "BingSearchEnabled",
"Value": "1", "Value": "1",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "true", "DefaultState": "true"
"Type": "DWord"
} }
], ],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,30 +2,30 @@
title: "Dark Theme for Windows" title: "Dark Theme for Windows"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2143}
"WPFToggleDarkMode": { "WPFToggleDarkMode": {
"Content": "Dark Theme for Windows", "Content": "Dark Theme for Windows",
"Description": "Enable/Disable Dark Mode.", "Description": "Enable/Disable Dark Mode.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a100_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", "Path": "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize",
"Name": "AppsUseLightTheme", "Name": "AppsUseLightTheme",
"Value": "0", "Value": "0",
"Type": "DWord",
"OriginalValue": "1", "OriginalValue": "1",
"DefaultState": "false", "DefaultState": "false"
"Type": "DWord"
}, },
{ {
"Path": "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", "Path": "HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize",
"Name": "SystemUsesLightTheme", "Name": "SystemUsesLightTheme",
"Value": "0", "Value": "0",
"Type": "DWord",
"OriginalValue": "1", "OriginalValue": "1",
"DefaultState": "false", "DefaultState": "false"
"Type": "DWord"
} }
], ],
"InvokeScript": [ "InvokeScript": [
@@ -47,6 +47,7 @@ description: ""
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,35 +2,36 @@
title: "Detailed BSoD" title: "Detailed BSoD"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2541}
"WPFToggleDetailedBSoD": { "WPFToggleDetailedBSoD": {
"Content": "Detailed BSoD", "Content": "Detailed BSoD",
"Description": "If Enabled then you will see a detailed Blue Screen of Death (BSOD) with more information.", "Description": "If Enabled then you will see a detailed Blue Screen of Death (BSOD) with more information.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a205_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\CrashControl", "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\CrashControl",
"Name": "DisplayParameters", "Name": "DisplayParameters",
"Value": "1", "Value": "1",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "false", "DefaultState": "false"
"Type": "DWord"
}, },
{ {
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\CrashControl", "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\CrashControl",
"Name": "DisableEmoticon", "Name": "DisableEmoticon",
"Value": "1", "Value": "1",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "false", "DefaultState": "false"
"Type": "DWord"
} }
], ],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -1,28 +1,29 @@
--- ---
title: "Widgets Button in Taskbar" title: "Cross-Device Resume"
description: "" description: ""
--- ---
```json
"WPFToggleTaskbarWidgets": { ```json {filename="config/tweaks.json",linenos=inline,linenostart=2671}
"Content": "Widgets Button in Taskbar", "WPFToggleDisableCrossDeviceResume": {
"Description": "If Enabled then Widgets Button in Taskbar will be shown.", "Content": "Cross-Device Resume",
"Description": "This tweak controls the Resume function in Windows 11 24H2 and later, which allows you to resume an activity from a mobile device and vice-versa.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a204_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\CrossDeviceResume\\Configuration",
"Name": "TaskbarDa", "Name": "IsResumeAllowed",
"Value": "1", "Value": "1",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "true", "DefaultState": "true"
"Type": "DWord"
} }
], ],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,22 +2,22 @@
title: "Show Hidden Files" title: "Show Hidden Files"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2421}
"WPFToggleHiddenFiles": { "WPFToggleHiddenFiles": {
"Content": "Show Hidden Files", "Content": "Show Hidden Files",
"Description": "If Enabled then Hidden Files will be shown.", "Description": "If Enabled then Hidden Files will be shown.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a200_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "Hidden", "Name": "Hidden",
"Value": "1", "Value": "1",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "false", "DefaultState": "false"
"Type": "DWord"
} }
], ],
"InvokeScript": [ "InvokeScript": [
@@ -33,6 +33,7 @@ description: ""
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -1,38 +1,29 @@
--- ---
title: "Snap Assist Flyout" title: "Remove Settings Home Page"
description: "" description: ""
--- ---
```json
"WPFToggleSnapFlyout": { ```json {filename="config/tweaks.json",linenos=inline,linenostart=2291}
"Content": "Snap Assist Flyout", "WPFToggleHideSettingsHome": {
"Description": "If disabled then Snap preview is disabled when maximize button is hovered.", "Content": "Remove Settings Home Page",
"Description": "Removes the Home page in the Windows Settings app.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a107_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer",
"Name": "EnableSnapAssistFlyout", "Name": "SettingsPageVisibility",
"Value": "1", "Value": "hide:home",
"OriginalValue": "0", "Type": "String",
"DefaultState": "true", "OriginalValue": "show:home",
"Type": "DWord" "DefaultState": "false"
} }
], ],
"InvokeScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
"UndoScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,43 +2,44 @@
title: "Mouse Acceleration" title: "Mouse Acceleration"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2309}
"WPFToggleMouseAcceleration": { "WPFToggleMouseAcceleration": {
"Content": "Mouse Acceleration", "Content": "Mouse Acceleration",
"Description": "If Enabled then Cursor movement is affected by the speed of your physical mouse movements.", "Description": "If Enabled then Cursor movement is affected by the speed of your physical mouse movements.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a109_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\Control Panel\\Mouse", "Path": "HKCU:\\Control Panel\\Mouse",
"Name": "MouseSpeed", "Name": "MouseSpeed",
"Value": "1", "Value": "1",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "true", "DefaultState": "true"
"Type": "DWord"
}, },
{ {
"Path": "HKCU:\\Control Panel\\Mouse", "Path": "HKCU:\\Control Panel\\Mouse",
"Name": "MouseThreshold1", "Name": "MouseThreshold1",
"Value": "6", "Value": "6",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "true", "DefaultState": "true"
"Type": "DWord"
}, },
{ {
"Path": "HKCU:\\Control Panel\\Mouse", "Path": "HKCU:\\Control Panel\\Mouse",
"Name": "MouseThreshold2", "Name": "MouseThreshold2",
"Value": "10", "Value": "10",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "true", "DefaultState": "true"
"Type": "DWord"
} }
], ],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -0,0 +1,29 @@
---
title: "Disable Multiplane Overlay"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2403}
"WPFToggleMultiplaneOverlay": {
"Content": "Disable Multiplane Overlay",
"Description": "Disable the Multiplane Overlay which can sometimes cause issues with Graphics Cards.",
"category": "Customize Preferences",
"panel": "2",
"Type": "Toggle",
"registry": [
{
"Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\Dwm",
"Name": "OverlayTestMode",
"Value": "5",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>",
"DefaultState": "false"
}
],
```
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -0,0 +1,53 @@
---
title: "New Outlook"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2361}
"WPFToggleNewOutlook": {
"Content": "New Outlook",
"Description": "If disabled it removes the toggle for new Outlook, disables the new Outlook migration and makes sure the Outlook Application actually uses the old Outlook.",
"category": "Customize Preferences",
"panel": "2",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\SOFTWARE\\Microsoft\\Office\\16.0\\Outlook\\Preferences",
"Name": "UseNewOutlook",
"Value": "1",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "true"
},
{
"Path": "HKCU:\\Software\\Microsoft\\Office\\16.0\\Outlook\\Options\\General",
"Name": "HideNewOutlookToggle",
"Value": "0",
"Type": "DWord",
"OriginalValue": "1",
"DefaultState": "true"
},
{
"Path": "HKCU:\\Software\\Policies\\Microsoft\\Office\\16.0\\Outlook\\Options\\General",
"Name": "DoNewOutlookAutoMigration",
"Value": "0",
"Type": "DWord",
"OriginalValue": "0",
"DefaultState": "false"
},
{
"Path": "HKCU:\\Software\\Policies\\Microsoft\\Office\\16.0\\Outlook\\Preferences",
"Name": "NewOutlookMigrationUserSetting",
"Value": "0",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>",
"DefaultState": "true"
}
],
```
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,35 +2,36 @@
title: "NumLock on Startup" title: "NumLock on Startup"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2203}
"WPFToggleNumLock": { "WPFToggleNumLock": {
"Content": "NumLock on Startup", "Content": "NumLock on Startup",
"Description": "Toggle the Num Lock key state when your computer starts.", "Description": "Toggle the Num Lock key state when your computer starts.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a102_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKU:\\.Default\\Control Panel\\Keyboard", "Path": "HKU:\\.Default\\Control Panel\\Keyboard",
"Name": "InitialKeyboardIndicators", "Name": "InitialKeyboardIndicators",
"Value": "2", "Value": "2",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "false", "DefaultState": "false"
"Type": "DWord"
}, },
{ {
"Path": "HKCU:\\Control Panel\\Keyboard", "Path": "HKCU:\\Control Panel\\Keyboard",
"Name": "InitialKeyboardIndicators", "Name": "InitialKeyboardIndicators",
"Value": "2", "Value": "2",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "false", "DefaultState": "false"
"Type": "DWord"
} }
], ],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -1,28 +1,29 @@
--- ---
title: "Snap Window" title: "S3 Sleep"
description: "" description: ""
--- ---
```json
"WPFToggleSnapWindow": { ```json {filename="config/tweaks.json",linenos=inline,linenostart=2567}
"Content": "Snap Window", "WPFToggleS3Sleep": {
"Description": "If enabled you can align windows by dragging them. | Relogin Required", "Content": "S3 Sleep",
"Description": "Toggles between Modern Standby and S3 sleep.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a106_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\Control Panel\\Desktop", "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Power",
"Name": "WindowArrangementActive", "Name": "PlatformAoAcOverride",
"Value": "1", "Value": "0",
"OriginalValue": "0", "Type": "DWord",
"DefaultState": "true", "OriginalValue": "<RemoveEntry>",
"Type": "String" "DefaultState": "false"
} }
], ],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,22 +2,22 @@
title: "Show File Extensions" title: "Show File Extensions"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2449}
"WPFToggleShowExt": { "WPFToggleShowExt": {
"Content": "Show File Extensions", "Content": "Show File Extensions",
"Description": "If enabled then File extensions (e.g., .txt, .jpg) are visible.", "Description": "If enabled then File extensions (e.g., .txt, .jpg) are visible.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a201_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "HideFileExt", "Name": "HideFileExt",
"Value": "0", "Value": "0",
"Type": "DWord",
"OriginalValue": "1", "OriginalValue": "1",
"DefaultState": "false", "DefaultState": "false"
"Type": "DWord"
} }
], ],
"InvokeScript": [ "InvokeScript": [
@@ -33,6 +33,7 @@ description: ""
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -1,38 +0,0 @@
---
title: "Snap Assist Suggestion"
description: ""
---
```json
"WPFToggleSnapSuggestion": {
"Content": "Snap Assist Suggestion",
"Description": "If enabled then you will get suggestions to snap other applications in the left over spaces.",
"category": "Customize Preferences",
"panel": "2",
"Order": "a108_",
"Type": "Toggle",
"registry": [
{
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "SnapAssist",
"Value": "1",
"OriginalValue": "0",
"DefaultState": "true",
"Type": "DWord"
}
],
"InvokeScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
"UndoScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
```
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -0,0 +1,55 @@
---
title: "Recommendations in Start Menu"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2247}
"WPFToggleStartMenuRecommendations": {
"Content": "Recommendations in Start Menu",
"Description": "If disabled then you will not see recommendations in the Start Menu. WARNING: This will also disable Windows Spotlight on your Lock Screen as a side effect.",
"category": "Customize Preferences",
"panel": "2",
"Type": "Toggle",
"registry": [
{
"Path": "HKLM:\\SOFTWARE\\Microsoft\\PolicyManager\\current\\device\\Start",
"Name": "HideRecommendedSection",
"Value": "0",
"Type": "DWord",
"OriginalValue": "1",
"DefaultState": "true"
},
{
"Path": "HKLM:\\SOFTWARE\\Microsoft\\PolicyManager\\current\\device\\Education",
"Name": "IsEducationEnvironment",
"Value": "0",
"Type": "DWord",
"OriginalValue": "1",
"DefaultState": "true"
},
{
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\Explorer",
"Name": "HideRecommendedSection",
"Value": "0",
"Type": "DWord",
"OriginalValue": "1",
"DefaultState": "true"
}
],
"InvokeScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
"UndoScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
```
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,27 +2,28 @@
title: "Sticky Keys" title: "Sticky Keys"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2343}
"WPFToggleStickyKeys": { "WPFToggleStickyKeys": {
"Content": "Sticky Keys", "Content": "Sticky Keys",
"Description": "If Enabled then Sticky Keys is activated - Sticky keys is an accessibility feature of some graphical user interfaces which assists users who have physical disabilities or help users reduce repetitive strain injury.", "Description": "If Enabled then Sticky Keys is activated - Sticky keys is an accessibility feature of some graphical user interfaces which assists users who have physical disabilities or help users reduce repetitive strain injury.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a110_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\Control Panel\\Accessibility\\StickyKeys", "Path": "HKCU:\\Control Panel\\Accessibility\\StickyKeys",
"Name": "Flags", "Name": "Flags",
"Value": "510", "Value": "506",
"Type": "DWord",
"OriginalValue": "58", "OriginalValue": "58",
"DefaultState": "true", "DefaultState": "true"
"Type": "DWord"
} }
], ],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,27 +2,28 @@
title: "Task View Button in Taskbar" title: "Task View Button in Taskbar"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2495}
"WPFToggleTaskView": { "WPFToggleTaskView": {
"Content": "Task View Button in Taskbar", "Content": "Task View Button in Taskbar",
"Description": "If Enabled then Task View Button in Taskbar will be shown.", "Description": "If Enabled then Task View Button in Taskbar will be shown.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a203_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "ShowTaskViewButton", "Name": "ShowTaskViewButton",
"Value": "1", "Value": "1",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "true", "DefaultState": "true"
"Type": "DWord"
} }
], ],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,27 +2,38 @@
title: "Center Taskbar Items" title: "Center Taskbar Items"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2513}
"WPFToggleTaskbarAlignment": { "WPFToggleTaskbarAlignment": {
"Content": "Center Taskbar Items", "Content": "Center Taskbar Items",
"Description": "[Windows 11] If Enabled then the Taskbar Items will be shown on the Center, otherwise the Taskbar Items will be shown on the Left.", "Description": "[Windows 11] If Enabled then the Taskbar Items will be shown on the Center, otherwise the Taskbar Items will be shown on the Left.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a204_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
"Name": "TaskbarAl", "Name": "TaskbarAl",
"Value": "1", "Value": "1",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "true", "DefaultState": "true"
"Type": "DWord"
} }
], ],
"InvokeScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
"UndoScript": [
"
Invoke-WinUtilExplorerUpdate -action \"restart\"
"
],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,27 +2,28 @@
title: "Search Button in Taskbar" title: "Search Button in Taskbar"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2477}
"WPFToggleTaskbarSearch": { "WPFToggleTaskbarSearch": {
"Content": "Search Button in Taskbar", "Content": "Search Button in Taskbar",
"Description": "If Enabled Search Button will be on the taskbar.", "Description": "If Enabled Search Button will be on the taskbar.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a202_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Search",
"Name": "SearchboxTaskbarMode", "Name": "SearchboxTaskbarMode",
"Value": "1", "Value": "1",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "true", "DefaultState": "true"
"Type": "DWord"
} }
], ],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,27 +2,28 @@
title: "Verbose Messages During Logon" title: "Verbose Messages During Logon"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2229}
"WPFToggleVerboseLogon": { "WPFToggleVerboseLogon": {
"Content": "Verbose Messages During Logon", "Content": "Verbose Messages During Logon",
"Description": "Show detailed messages during the login process for troubleshooting and diagnostics.", "Description": "Show detailed messages during the login process for troubleshooting and diagnostics.",
"category": "Customize Preferences", "category": "Customize Preferences",
"panel": "2", "panel": "2",
"Order": "a103_",
"Type": "Toggle", "Type": "Toggle",
"registry": [ "registry": [
{ {
"Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",
"Name": "VerboseStatus", "Name": "VerboseStatus",
"Value": "1", "Value": "1",
"Type": "DWord",
"OriginalValue": "0", "OriginalValue": "0",
"DefaultState": "false", "DefaultState": "false"
"Type": "DWord"
} }
], ],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -1,6 +1,7 @@
--- ---
weight: 3
title: "Customize Preferences" title: "Customize Preferences"
weight: 3
toc: false
--- ---
### Customize Preferences ### Customize Preferences

View File

@@ -1,36 +1,34 @@
--- ---
title: Activity History title: "Disable Activity History"
description: "" description: ""
--- ---
## code we use:
```json ```json {filename="config/tweaks.json",linenos=inline,linenostart=2}
"WPFTweaksActivity": { "WPFTweaksActivity": {
"Content": "Disable Activity History", "Content": "Disable Activity History",
"Description": "This erases recent docs, clipboard, and run history.", "Description": "This erases recent docs, clipboard, and run history.",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Order": "a005_",
"registry": [ "registry": [
{ {
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System", "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System",
"Name": "EnableActivityFeed", "Name": "EnableActivityFeed",
"Type": "DWord",
"Value": "0", "Value": "0",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>" "OriginalValue": "<RemoveEntry>"
}, },
{ {
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System", "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System",
"Name": "PublishUserActivities", "Name": "PublishUserActivities",
"Type": "DWord",
"Value": "0", "Value": "0",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>" "OriginalValue": "<RemoveEntry>"
}, },
{ {
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System", "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\System",
"Name": "UploadUserActivities", "Name": "UploadUserActivities",
"Type": "DWord",
"Value": "0", "Value": "0",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>" "OriginalValue": "<RemoveEntry>"
} }
], ],

View File

@@ -2,25 +2,26 @@
title: "Disable ConsumerFeatures" title: "Disable ConsumerFeatures"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=1291}
"WPFTweaksConsumerFeatures": { "WPFTweaksConsumerFeatures": {
"Content": "Disable ConsumerFeatures", "Content": "Disable ConsumerFeatures",
"Description": "Windows will not automatically install any games, third-party apps, or application links from the Windows Store for the signed-in user. Some default Apps will be inaccessible (eg. Phone Link)", "Description": "Windows will not automatically install any games, third-party apps, or application links from the Windows Store for the signed-in user. Some default Apps will be inaccessible (eg. Phone Link)",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Order": "a003_",
"registry": [ "registry": [
{ {
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\CloudContent", "Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\CloudContent",
"OriginalValue": "<RemoveEntry>",
"Name": "DisableWindowsConsumerFeatures", "Name": "DisableWindowsConsumerFeatures",
"Value": "1", "Value": "1",
"Type": "DWord" "Type": "DWord",
"OriginalValue": "<RemoveEntry>"
} }
], ],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,13 +2,13 @@
title: "Delete Temporary Files" title: "Delete Temporary Files"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2038}
"WPFTweaksDeleteTempFiles": { "WPFTweaksDeleteTempFiles": {
"Content": "Delete Temporary Files", "Content": "Delete Temporary Files",
"Description": "Erases TEMP Folders", "Description": "Erases TEMP Folders",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Order": "a002_",
"InvokeScript": [ "InvokeScript": [
" "
Remove-Item -Path \"$Env:Temp\\*\" -Recurse -Force Remove-Item -Path \"$Env:Temp\\*\" -Recurse -Force

View File

@@ -0,0 +1,60 @@
---
title: "Disable Explorer Automatic Folder Discovery"
description: ""
---
```json {filename="config/tweaks.json",linenos=inline,linenostart=2616}
"WPFTweaksDisableExplorerAutoDiscovery": {
"Content": "Disable Explorer Automatic Folder Discovery",
"Description": "Windows Explorer automatically tries to guess the type of the folder based on its contents, slowing down the browsing experience. WARNING! Will disable file explorer grouping",
"category": "Essential Tweaks",
"panel": "1",
"InvokeScript": [
"
# Previously detected folders
$bags = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\"
# Folder types lookup table
$bagMRU = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\BagMRU\"
# Flush Explorer view database
Remove-Item -Path $bags -Recurse -Force
Write-Host \"Removed $bags\"
Remove-Item -Path $bagMRU -Recurse -Force
Write-Host \"Removed $bagMRU\"
# Every folder
$allFolders = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\\AllFolders\\Shell\"
if (!(Test-Path $allFolders)) {
New-Item -Path $allFolders -Force
Write-Host \"Created $allFolders\"
}
# Generic view
New-ItemProperty -Path $allFolders -Name \"FolderType\" -Value \"NotSpecified\" -PropertyType String -Force
Write-Host \"Set FolderType to NotSpecified\"
Write-Host Please sign out and back in, or restart your computer to apply the changes!
"
],
"UndoScript": [
"
# Previously detected folders
$bags = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\Bags\"
# Folder types lookup table
$bagMRU = \"HKCU:\\Software\\Classes\\Local Settings\\Software\\Microsoft\\Windows\\Shell\\BagMRU\"
# Flush Explorer view database
Remove-Item -Path $bags -Recurse -Force
Write-Host \"Removed $bags\"
Remove-Item -Path $bagMRU -Recurse -Force
Write-Host \"Removed $bagMRU\"
Write-Host Please sign out and back in, or restart your computer to apply the changes!
"
],
```

View File

@@ -2,13 +2,13 @@
title: "Run Disk Cleanup" title: "Run Disk Cleanup"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=2025}
"WPFTweaksDiskCleanup": { "WPFTweaksDiskCleanup": {
"Content": "Run Disk Cleanup", "Content": "Run Disk Cleanup",
"Description": "Runs Disk Cleanup on Drive C: and removes old Windows Updates.", "Description": "Runs Disk Cleanup on Drive C: and removes old Windows Updates.",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Order": "a009_",
"InvokeScript": [ "InvokeScript": [
" "
cleanmgr.exe /d C: /VERYLOWDISK cleanmgr.exe /d C: /VERYLOWDISK

View File

@@ -2,25 +2,26 @@
title: "Enable End Task With Right Click" title: "Enable End Task With Right Click"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=1763}
"WPFTweaksEndTaskOnTaskbar": { "WPFTweaksEndTaskOnTaskbar": {
"Content": "Enable End Task With Right Click", "Content": "Enable End Task With Right Click",
"Description": "Enables option to end task when right clicking a program in the taskbar", "Description": "Enables option to end task when right clicking a program in the taskbar",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Order": "a006_",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\TaskbarDeveloperSettings", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced\\TaskbarDeveloperSettings",
"Name": "TaskbarEndTask", "Name": "TaskbarEndTask",
"Type": "DWord",
"Value": "1", "Value": "1",
"Type": "DWord",
"OriginalValue": "<RemoveEntry>" "OriginalValue": "<RemoveEntry>"
} }
], ],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -1,54 +0,0 @@
---
title: "Disable GameDVR"
description: ""
---
```json
"WPFTweaksDVR": {
"Content": "Disable GameDVR",
"Description": "GameDVR is a Windows App that is a dependency for some Store Games. I've never met someone that likes it, but it's there for the XBOX crowd.",
"category": "Essential Tweaks",
"panel": "1",
"Order": "a005_",
"registry": [
{
"Path": "HKCU:\\System\\GameConfigStore",
"Name": "GameDVR_FSEBehavior",
"Value": "2",
"OriginalValue": "1",
"Type": "DWord"
},
{
"Path": "HKCU:\\System\\GameConfigStore",
"Name": "GameDVR_Enabled",
"Value": "0",
"OriginalValue": "1",
"Type": "DWord"
},
{
"Path": "HKCU:\\System\\GameConfigStore",
"Name": "GameDVR_HonorUserFSEBehaviorMode",
"Value": "1",
"OriginalValue": "0",
"Type": "DWord"
},
{
"Path": "HKCU:\\System\\GameConfigStore",
"Name": "GameDVR_EFSEFeatureFlags",
"Value": "0",
"OriginalValue": "1",
"Type": "DWord"
},
{
"Path": "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\GameDVR",
"Name": "AllowGameDVR",
"Value": "0",
"OriginalValue": "<RemoveEntry>",
"Type": "DWord"
}
],
```
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,26 +2,26 @@
title: "Disable Hibernation" title: "Disable Hibernation"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=32}
"WPFTweaksHiber": { "WPFTweaksHiber": {
"Content": "Disable Hibernation", "Content": "Disable Hibernation",
"Description": "Hibernation is really meant for laptops as it saves what's in memory before turning the pc off. It really should never be used", "Description": "Hibernation is really meant for laptops as it saves what's in memory before turning the pc off. It really should never be used",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Order": "a005_",
"registry": [ "registry": [
{ {
"Path": "HKLM:\\System\\CurrentControlSet\\Control\\Session Manager\\Power", "Path": "HKLM:\\System\\CurrentControlSet\\Control\\Session Manager\\Power",
"Name": "HibernateEnabled", "Name": "HibernateEnabled",
"Type": "DWord",
"Value": "0", "Value": "0",
"Type": "DWord",
"OriginalValue": "1" "OriginalValue": "1"
}, },
{ {
"Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FlyoutMenuSettings", "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FlyoutMenuSettings",
"Name": "ShowHibernateOption", "Name": "ShowHibernateOption",
"Type": "DWord",
"Value": "0", "Value": "0",
"Type": "DWord",
"OriginalValue": "1" "OriginalValue": "1"
} }
], ],
@@ -34,6 +34,7 @@ description: ""
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -1,57 +0,0 @@
---
title: "Set Hibernation as default (good for laptops)"
description: ""
---
```json
"WPFTweaksLaptopHibernation": {
"Content": "Set Hibernation as default (good for laptops)",
"Description": "Most modern laptops have connected standby enabled which drains the battery, this sets hibernation as default which will not drain the battery. See issue https://github.com/ChrisTitusTech/winutil/issues/1399",
"category": "z__Advanced Tweaks - CAUTION",
"panel": "1",
"Order": "a030_",
"registry": [
{
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Power\\PowerSettings\\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0",
"OriginalValue": "1",
"Name": "Attributes",
"Value": "2",
"Type": "DWord"
},
{
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Power\\PowerSettings\\abfc2519-3608-4c2a-94ea-171b0ed546ab\\94ac6d29-73ce-41a6-809f-6363ba21b47e",
"OriginalValue": "0",
"Name": "Attributes ",
"Value": "2",
"Type": "DWord"
}
],
"InvokeScript": [
"
Write-Host \"Turn on Hibernation\"
powercfg.exe /hibernate on
# Set hibernation as the default action
powercfg.exe change standby-timeout-ac 60
powercfg.exe change standby-timeout-dc 60
powercfg.exe change monitor-timeout-ac 10
powercfg.exe change monitor-timeout-dc 1
"
],
"UndoScript": [
"
Write-Host \"Turn off Hibernation\"
powercfg.exe /hibernate off
# Set standby to default values
powercfg.exe change standby-timeout-ac 15
powercfg.exe change standby-timeout-dc 15
powercfg.exe change monitor-timeout-ac 15
powercfg.exe change monitor-timeout-dc 15
"
],
```
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,46 +2,47 @@
title: "Disable Location Tracking" title: "Disable Location Tracking"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=125}
"WPFTweaksLocation": { "WPFTweaksLocation": {
"Content": "Disable Location Tracking", "Content": "Disable Location Tracking",
"Description": "Disables Location Tracking...DUH!", "Description": "Disables Location Tracking...DUH!",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Order": "a005_",
"registry": [ "registry": [
{ {
"Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\CapabilityAccessManager\\ConsentStore\\location", "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\CapabilityAccessManager\\ConsentStore\\location",
"Name": "Value", "Name": "Value",
"Type": "String",
"Value": "Deny", "Value": "Deny",
"Type": "String",
"OriginalValue": "Allow" "OriginalValue": "Allow"
}, },
{ {
"Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Sensor\\Overrides\\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}", "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Sensor\\Overrides\\{BFA794E4-F964-4FDB-90F6-51056BFE4B44}",
"Name": "SensorPermissionState", "Name": "SensorPermissionState",
"Type": "DWord",
"Value": "0", "Value": "0",
"Type": "DWord",
"OriginalValue": "1" "OriginalValue": "1"
}, },
{ {
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\lfsvc\\Service\\Configuration", "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Services\\lfsvc\\Service\\Configuration",
"Name": "Status", "Name": "Status",
"Type": "DWord",
"Value": "0", "Value": "0",
"Type": "DWord",
"OriginalValue": "1" "OriginalValue": "1"
}, },
{ {
"Path": "HKLM:\\SYSTEM\\Maps", "Path": "HKLM:\\SYSTEM\\Maps",
"Name": "AutoUpdateEnabled", "Name": "AutoUpdateEnabled",
"Type": "DWord",
"Value": "0", "Value": "0",
"Type": "DWord",
"OriginalValue": "1" "OriginalValue": "1"
} }
], ],
``` ```
## Registry Changes ## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place. Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry). You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,13 +2,13 @@
title: "Disable Powershell 7 Telemetry" title: "Disable Powershell 7 Telemetry"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=1779}
"WPFTweaksPowershell7Tele": { "WPFTweaksPowershell7Tele": {
"Content": "Disable Powershell 7 Telemetry", "Content": "Disable Powershell 7 Telemetry",
"Description": "This will create an Environment Variable called 'POWERSHELL_TELEMETRY_OPTOUT' with a value of '1' which will tell Powershell 7 to not send Telemetry Data.", "Description": "This will create an Environment Variable called 'POWERSHELL_TELEMETRY_OPTOUT' with a value of '1' which will tell Powershell 7 to not send Telemetry Data.",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Order": "a005_",
"InvokeScript": [ "InvokeScript": [
"[Environment]::SetEnvironmentVariable('POWERSHELL_TELEMETRY_OPTOUT', '1', 'Machine')" "[Environment]::SetEnvironmentVariable('POWERSHELL_TELEMETRY_OPTOUT', '1', 'Machine')"
], ],

View File

@@ -2,20 +2,20 @@
title: "Create Restore Point" title: "Create Restore Point"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=1736}
"WPFTweaksRestorePoint": { "WPFTweaksRestorePoint": {
"Content": "Create Restore Point", "Content": "Create Restore Point",
"Description": "Creates a restore point at runtime in case a revert is needed from WinUtil modifications", "Description": "Creates a restore point at runtime in case a revert is needed from WinUtil modifications",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Checked": "False", "Checked": "False",
"Order": "a001_",
"registry": [ "registry": [
{ {
"Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\SystemRestore", "Path": "HKLM:\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\SystemRestore",
"Name": "SystemRestorePointCreationFrequency", "Name": "SystemRestorePointCreationFrequency",
"Type": "DWord",
"Value": "0", "Value": "0",
"Type": "DWord",
"OriginalValue": "1440" "OriginalValue": "1440"
} }
], ],
@@ -30,3 +30,9 @@ description: ""
" "
], ],
``` ```
## Registry Changes
Applications and System Components store and retrieve configuration data to modify windows settings, so we can use the registry to change many settings in one place.
You can find information about the registry on [Wikipedia](https://www.wikiwand.com/en/Windows_Registry) and [Microsoft's Website](https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry).

View File

@@ -2,13 +2,13 @@
title: "Set Services to Manual" title: "Set Services to Manual"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=162}
"WPFTweaksServices": { "WPFTweaksServices": {
"Content": "Set Services to Manual", "Content": "Set Services to Manual",
"Description": "Turns a bunch of system services to manual that don't need to be running all the time. This is pretty harmless as if the service is needed, it will simply start on demand.", "Description": "Turns a bunch of system services to manual that don't need to be running all the time. This is pretty harmless as if the service is needed, it will simply start on demand.",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Order": "a014_",
"service": [ "service": [
{ {
"Name": "ALG", "Name": "ALG",
@@ -522,7 +522,7 @@ description: ""
}, },
{ {
"Name": "TermService", "Name": "TermService",
"StartupType": "Automatic", "StartupType": "Manual",
"OriginalType": "Manual" "OriginalType": "Manual"
}, },
{ {
@@ -582,7 +582,7 @@ description: ""
}, },
{ {
"Name": "VaultSvc", "Name": "VaultSvc",
"StartupType": "Automatic", "StartupType": "Manual",
"OriginalType": "Manual" "OriginalType": "Manual"
}, },
{ {
@@ -967,46 +967,3 @@ description: ""
} }
], ],
``` ```
#Function
```powershell
Function Set-WinUtilService {
<#
.SYNOPSIS
Changes the startup type of the given service
.PARAMETER Name
The name of the service to modify
.PARAMETER StartupType
The startup type to set the service to
.EXAMPLE
Set-WinUtilService -Name "HomeGroupListener" -StartupType "Manual"
#>
param (
$Name,
$StartupType
)
try {
Write-Host "Setting Service $Name to $StartupType"
# Check if the service exists
$service = Get-Service -Name $Name -ErrorAction Stop
# Service exists, proceed with changing properties -- while handling auto delayed start for PWSH 5
if (($PSVersionTable.PSVersion.Major -lt 7) -and ($StartupType -eq "AutomaticDelayedStart")) {
sc.exe config $Name start=delayed-auto
} else {
$service | Set-Service -StartupType $StartupType -ErrorAction Stop
}
} catch [System.ServiceProcess.ServiceNotFoundException] {
Write-Warning "Service $Name was not found"
} catch {
Write-Warning "Unable to set $Name due to unhandled exception"
Write-Warning $_.Exception.Message
}
}
```

View File

@@ -2,13 +2,13 @@
title: "Disable Telemetry" title: "Disable Telemetry"
description: "" description: ""
--- ---
```json
```json {filename="config/tweaks.json",linenos=inline,linenostart=1307}
"WPFTweaksTelemetry": { "WPFTweaksTelemetry": {
"Content": "Disable Telemetry", "Content": "Disable Telemetry",
"Description": "Disables Microsoft Telemetry...Duh", "Description": "Disables Microsoft Telemetry...Duh",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Order": "a003_",
"registry": [ "registry": [
{ {
"Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\AdvertisingInfo", "Path": "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\AdvertisingInfo",
@@ -109,7 +109,7 @@ description: ""
$Memory = (Get-CimInstance Win32_PhysicalMemory | Measure-Object Capacity -Sum).Sum / 1KB $Memory = (Get-CimInstance Win32_PhysicalMemory | Measure-Object Capacity -Sum).Sum / 1KB
Set-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\" -Name SvcHostSplitThresholdInKB -Value $Memory Set-ItemProperty -Path \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\" -Name SvcHostSplitThresholdInKB -Value $Memory
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Siuf\Rules" -Name "PeriodInNanoSeconds" Remove-ItemProperty -Path \"HKCU:\\Software\\Microsoft\\Siuf\\Rules\" -Name PeriodInNanoSeconds
" "
], ],
"UndoScript": [ "UndoScript": [

View File

@@ -3,20 +3,19 @@ title: "Disable Windows Platform Binary Table (WPBT)"
description: "" description: ""
--- ---
```json ```json {filename="config/tweaks.json",linenos=inline,linenostart=1892}
"WPFTweaksWPBT": { "WPFTweaksWPBT": {
"Content": "Disable Windows Platform Binary Table (WPBT)", "Content": "Disable Windows Platform Binary Table (WPBT)",
"Description": "If enabled then allows your computer vendor to execute a program each time it boots. It enables computer vendors to force install anti-theft software, software drivers, or a software program conveniently. This could also be a security risk.", "Description": "If enabled then allows your computer vendor to execute a program each time it boots. It enables computer vendors to force install anti-theft software, software drivers, or a software program conveniently. This could also be a security risk.",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Order": "a005_",
"registry": [ "registry": [
{ {
"Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Session Manager", "Path": "HKLM:\\SYSTEM\\CurrentControlSet\\Control\\Session Manager",
"Name": "DisableWpbtExecution", "Name": "DisableWpbtExecution",
"Value": "1", "Value": "1",
"OriginalValue": "<RemoveEntry>", "Type": "DWord",
"Type": "DWord" "OriginalValue": "<RemoveEntry>"
} }
], ],
``` ```

View File

@@ -1,17 +1,21 @@
# Remove Widgets ---
title: "Remove Widgets"
description: ""
---
```json ```json {filename="config/tweaks.json",linenos=inline,linenostart=61}
"WPFTweaksWidget": { "WPFTweaksWidget": {
"Content": "Remove Widgets", "Content": "Remove Widgets",
"Description": "Removes the annoying widgets in the bottom left of the taskbar", "Description": "Removes the annoying widgets in the bottom left of the taskbar",
"category": "Essential Tweaks", "category": "Essential Tweaks",
"panel": "1", "panel": "1",
"Order": "a005_",
"InvokeScript": [ "InvokeScript": [
" "
# Sometimes if you dont stop Widgets Process for removal to work # Sometimes if you dont stop the Widgets process the removal may fail
Stop-Procces -Name Widgets
Stop-Process -Name Widgets
Get-AppxPackage Microsoft.WidgetsPlatformRuntime -AllUsers | Remove-AppxPackage -AllUsers Get-AppxPackage Microsoft.WidgetsPlatformRuntime -AllUsers | Remove-AppxPackage -AllUsers
Get-AppxPackage MicrosoftWindows.Client.WebExperience -AllUsers | Remove-AppxPackage -AllUsers
Invoke-WinUtilExplorerUpdate -action \"restart\" Invoke-WinUtilExplorerUpdate -action \"restart\"
Write-Host \"Removed widgets\" Write-Host \"Removed widgets\"
@@ -20,7 +24,10 @@
"UndoScript": [ "UndoScript": [
" "
Write-Host \"Restoring widgets AppxPackages\" Write-Host \"Restoring widgets AppxPackages\"
Add-AppxPackage -DisableDevelopmentMode -Register \"C:\\Program Files\\WindowsApps\\Microsoft.WidgetsPlatformRuntime*\\AppxManifest.xml\"
Add-AppxPackage -Register \"C:\\Program Files\\WindowsApps\\Microsoft.WidgetsPlatformRuntime*\\AppxManifest.xml\" -DisableDevelopmentMode
Add-AppxPackage -Register \"C:\\Program Files\\WindowsApps\\MicrosoftWindows.Client.WebExperience*\\AppxManifest.xml\" -DisableDevelopmentMode
Invoke-WinUtilExplorerUpdate -action \"restart\" Invoke-WinUtilExplorerUpdate -action \"restart\"
" "
], ],

View File

@@ -1,6 +1,7 @@
--- ---
weight: 1
title: "Essential Tweaks" title: "Essential Tweaks"
weight: 1
toc: false
--- ---
### Essential Tweaks ### Essential Tweaks

View File

@@ -0,0 +1,91 @@
---
title: "Add and Activate Ultimate Performance Profile"
description: ""
---
```powershell {filename="functions/public/Invoke-WPFUltimatePerformance.ps1",linenos=inline,linenostart=1}
Function Invoke-WPFUltimatePerformance {
<#
.SYNOPSIS
Enables or disables the Ultimate Performance power scheme based on its GUID.
.PARAMETER State
Specifies whether to "Enable" or "Disable" the Ultimate Performance power scheme.
#>
param(
[Parameter(Mandatory = $true)]
[ValidateSet("Enable", "Disable")]
[string]$State
)
try {
# GUID of the Ultimate Performance power plan
$ultimateGUID = "e9a42b02-d5df-448d-aa00-03f14749eb61"
switch ($State) {
"Enable" {
# Duplicate the Ultimate Performance power plan using its GUID
$duplicateOutput = powercfg /duplicatescheme $ultimateGUID
$guid = $null
$nameFromFile = "ChrisTitus - Ultimate Power Plan"
$description = "Ultimate Power Plan, added via WinUtils"
# Extract the new GUID from the duplicateOutput
foreach ($line in $duplicateOutput) {
if ($line -match "\b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\b") {
$guid = $matches[0] # $matches[0] will contain the first match, which is the GUID
Write-Output "GUID: $guid has been extracted and stored in the variable."
break
}
}
if (-not $guid) {
Write-Output "No GUID found in the duplicateOutput. Check the output format."
exit 1
}
# Change the name of the power plan and set its description
$changeNameOutput = powercfg /changename $guid "$nameFromFile" "$description"
Write-Output "The power plan name and description have been changed. Output:"
Write-Output $changeNameOutput
# Set the duplicated Ultimate Performance plan as active
$setActiveOutput = powercfg /setactive $guid
Write-Output "The power plan has been set as active. Output:"
Write-Output $setActiveOutput
Write-Host "> Ultimate Performance plan installed and set as active."
}
"Disable" {
# Check if the Ultimate Performance plan is installed by GUID
$installedPlan = powercfg -list | Select-String -Pattern "ChrisTitus - Ultimate Power Plan"
if ($installedPlan) {
# Extract the GUID of the installed Ultimate Performance plan
$ultimatePlanGUID = $installedPlan.Line.Split()[3]
# Set a different power plan as active before deleting the Ultimate Performance plan
$balancedPlanGUID = "381b4222-f694-41f0-9685-ff5bb260df2e"
powercfg -setactive $balancedPlanGUID
# Delete the Ultimate Performance plan by GUID
powercfg -delete $ultimatePlanGUID
Write-Host "Ultimate Performance plan has been uninstalled."
Write-Host "> Balanced plan is now active."
} else {
Write-Host "Ultimate Performance plan is not installed."
}
}
default {
Write-Host "Invalid state. Please use 'Enable' or 'Disable'."
}
}
} catch {
Write-Error "Error occurred: $_"
}
}
```

View File

@@ -2,7 +2,8 @@
title: "Remove Ultimate Performance Profile" title: "Remove Ultimate Performance Profile"
description: "" description: ""
--- ---
```powershell
```powershell {filename="functions/public/Invoke-WPFUltimatePerformance.ps1",linenos=inline,linenostart=1}
Function Invoke-WPFUltimatePerformance { Function Invoke-WPFUltimatePerformance {
<# <#

View File

@@ -1,6 +1,7 @@
--- ---
weight: 4
title: "Performance Plans" title: "Performance Plans"
weight: 4
toc: false
--- ---
### Performance Plans ### Performance Plans

Some files were not shown because too many files have changed in this diff Show More