I got tired of hunting through Windows for every setting, so I built my own control center

May 17, 2026

If you’re looking to customize your Windows experience, navigating through the myriad of settings can feel like an expedition through a labyrinth. Display settings are tucked away in the Settings app, while color calibration requires a detour to the Control Panel. Services can be accessed via services.msc, and scheduled tasks are hidden in taskschd.msc. The group policy is concealed behind gpedit.msc, which, notably, is absent from Home editions. Many tasks still demand a visit to regedit, often requiring a search for the correct path each time. This can be quite exhausting.

Since the introduction of Windows 8, the Settings app and Control Panel have existed in a state of uneasy coexistence, often disagreeing over which one governs sound, networking, or storage. Microsoft has humorously explained its reluctance to eliminate the Control Panel, citing fears of disrupting decades-old printer and network drivers. In response to this convoluted setup, I took the initiative to create my own utility, as existing programs failed to meet my specific needs. This utility presents a single Avalonia window that highlights the diagnostics and adjustments I frequently access, with the underlying operations executed through PowerShell scripts that I can modify as needed. It is not a debloater, nor do I intend it to be; rather, it simplifies the management of my Windows installation, making it easier to monitor my PC.

This program began as a PowerShell-only utility designed for friends seeking troubleshooting assistance. Among my friends, it has become a lighthearted inside joke, with one even dubbing me “Google” on Discord due to my tendency to provide answers before they think to search themselves. However, a PowerShell utility felt somewhat uninspired, leading me to explore WinUI 3 and the challenges it presented. I had long been aware of Avalonia, particularly with the release of Avalonia 12, but unfortunately, FluentAvalonia only supports version 11. Nevertheless, the challenge was enjoyable, resulting in a program that is visually appealing, lightweight, and perfectly tailored to my needs. It is completely open-source and available on GitHub, allowing others to download, run, or even extend it.

One application covers what fifteen panels normally do

The application opens to an overview page featuring the metrics I value most: DNS latency against public resolvers, system uptime, pending reboots, and the accumulation of temporary files. This page is designed to provide immediate insight into my system’s status. Below the overview, each sidebar page corresponds to a specific function I perform on Windows. The Health page displays various checks regarding my PC’s state, including Windows version, activation status, Secure Boot, TPM, Defender, BitLocker, updates, drive health, CPU, memory, GPU, battery, firewall, and a quick event-log scan from the past 24 hours. The Network page offers insights into DNS health, active adapters, Wi-Fi profiles, listening ports, and a DNS profile switcher that allows toggling between Cloudflare, Google, Quad9, AdGuard, and DHCP without navigating to the network adapters page.

Full pages are dedicated to services, scheduled tasks, drives, drivers, power plans, gaming toggles, privacy settings, and the taskbar configuration in Windows 11. Each of these features serves a genuine purpose, with the services and scheduled tasks windows equipped with Start, Stop, Restart, Enable, Disable, and Run buttons for each row. A filter box at the top of both windows simplifies the search process. The primary goal of this application is to consolidate my most frequently used tweaks into a lightweight graphical user interface, enabling me to execute basic adjustments, diagnostics, and toggles all from a single window. This eliminates the need to hunt down registry paths or PowerShell cmdlets for simple changes.

Every check is a PowerShell script, and every tweak is JSON

The C# shell is intentionally streamlined. Each diagnostic on every page corresponds to a .ps1 file located in a Scripts/ folder adjacent to the executable. The role of the C# layer is to execute the script, read a JSON object from stdout, and display it as a colored tile on the relevant page. Each script returns a status of ok, warn, fail, or info, along with a title, a brief summary, and an optional details array for expanded information. I developed a Write-Result helper to facilitate reuse across scripts, and the runner simply reads stdout from the bottom up to capture the last parseable JSON line.

This design allows users to open Scripts/Network/dns-health.ps1 in any text editor to examine the latency test, modify the resolver list, and rerun it. The script can also be executed manually from a PowerShell prompt, yielding the same JSON output as the app. There are no opaque compiled elements operating on my system that I cannot inspect, and everything can be copied and executed elsewhere. For those who appreciate the scripts but prefer a different interface than C# or Avalonia, they are free to adapt them into a new wrapper. The toggle pages for Gaming, Privacy, and Taskbar and Shell function similarly, but instead of scripts, they read from a JSON manifest at Manifest/tweaks.json. Each entry specifies the registry path, value name, type, on value, and off value, with the C# layer managing backup, application, reversion, and dry-run previews generically based on this data.

Every change writes a .reg backup before it touches anything

Transparency is crucial when dealing with tools that modify the registry. Many such tools lack clarity regarding the changes they implement, how to reverse them, or even what actions they perform. I aimed to address this concern with my utility. Each script that modifies settings accepts a -DryRun switch, returning a JSON structure that includes a plannedChanges[] array. Before applying any changes, the app displays a comparison of current and upcoming registry values for each toggle.

The backup itself is a standard .reg file, formatted similarly to those created by the Registry Editor. It employs conventional hex encodings for DWORDs, binary blobs, expand strings, and multi-strings, and is stored in %LOCALAPPDATA%WindowsControlCenterBackups, with each file named using a timestamp for easy identification. Before writing a new value, the code captures the existing value and records it. If the value did not exist but the parent key did, the backup writes a “Name”=- line to ensure clean deletion during reversion. If the key itself was absent, the backup notes this as a comment rather than falsely suggesting a value to restore.

This meticulous approach means that if the app encounters issues or if a user decides to discontinue its use, reverting any registry changes is straightforward. Users can simply double-click any of the .reg files in Explorer, and Windows will restore the values independently of my utility. Additionally, an in-app revert button performs the same function, utilizing reg.exe import on the file. The “Applied” page lists all active tweaks, complete with a button for each that triggers the corresponding .reg file. The underlying ledger tracking these changes is a flat JSON file located at %LOCALAPPDATA%WindowsControlCenterapplied.json, allowing users to view the current state of their system by opening a single file in Notepad. This rollback process is entirely transparent, aligning with my goal of openness.

It’s not a debloater, and it never will be

While I have nothing against debloating tools—indeed, I wouldn’t consider installing Windows 11 without one—this utility is not designed for that purpose. There are far more effective tools available for debloating than I could provide. Instead, every tweak included here represents actions I would undertake manually on a standard Windows installation, ensuring they can be reverted cleanly. These tweaks include enabling Hardware-accelerated GPU Scheduling, restoring the classic right-click menu in Windows 11, hiding the Widgets button, and adjusting telemetry and advertising-ID settings.

The essence of this program is its lightweight and minimalistic nature, devoid of a settings panel, tray icon, scheduled scans, or notifications. I deliberately avoided creating anything that requires a native COM helper. Initially, I experimented with audio-related tweaks in Avalonia, but ultimately abandoned that direction to avoid the complexities of maintaining compatibility with undocumented Windows audio features.

For a clean installation, several useful tweaks can be applied, but I primarily use this tool to monitor my system’s health. It provides insights into DNS performance and startup applications, among other metrics. While it won’t replace the Settings app or Control Panel, it consolidates various tools into a single window, complete with a documented record of changes made and a straightforward method for reverting those changes if necessary. Microsoft may continue to maintain the coexistence of the Settings app and Control Panel, and that’s understandable. However, I don’t require Microsoft’s endorsement to centralize the controls that matter most to me. I hope this tool proves as beneficial to others as it has been for me!

Winsage
I got tired of hunting through Windows for every setting, so I built my own control center