The newest replace to PowerToys contains new options that Home windows and Linux customers will love. On high of various basic enhancements and bug fixes, PowerToys v0.99.0 provides two new utilities, and one among them could cease Home windows customers from flirting with Linux.
As I’ve shared in latest editions of the Home windows Wrap, I am fairly pleased with the course Home windows goes in. Microsoft is working to enhance its flagship working system and the tradition surrounding suggestions.
Article continues beneath
You could like
But now there’s one less reason to switch from Windows to Linux, albeit a small one. The most recent update to PowerToys adds a new utility called Grab And Move that lets you resize and drag windows without having to click the title bar or window edge.
By default, Grab And Move is set to move a window when you hold Alt + Left Click and resize a window when you hold Alt + Right Click. You can set the utility to use the Windows key rather than Alt if you’d like.
PowerToys v0.99.0 also adds Power Display, which is a new utility that lets you adjust your monitors through the system tray.You can already adjust system brightness through the system tray, but that feature is limited when using multi-monitor setups or certain displays.
On my setup, the built-in Windows 11 brightness slider only adjusts the screen of my laptop. To adjust my external monitor’s brightness, I need to use buttons on the display. Power Display lets me adjust both from the same menu.
Below is the full changelog for the latest PowerToys update. You can read more about the changes on the app’s GitHub page.
View the total changelog ↴
PowerToys v0.99.0
Superior Paste
- Eradicated 13 XAML compiler warnings by switching x:Bind expressions on non-observable properties from OneWay to OneTime mode in #46726
- Fastened auto-copy failing on Electron/Chromium apps (e.g. Groups, VS Code) by releasing held modifier keys earlier than injecting Ctrl+C in #46486
All the time On High
- Fastened the pin/unpin sound enjoying even when the operation failed by gating sound playback on whether or not SetWindowPos really succeeded in #46910
Command Palette (Dock)
- Added a brand new pin-to-Dock dialog that offers customers extra management over how instructions are pinned, changing the earlier one-click pin habits in #46436. Thanks @niels9001!
- Added a Compact Dock mode (28px tall, subtitle hidden) for High/Backside dock positions, and hid the Dock Dimension setting for Left/Proper positions in #46699
- Made the Dock window keep on high of all different home windows by default, mechanically yielding when a full-screen app is detected in #46163. Thanks @jiripolasek!
- Decoupled the Dock context menu from the Command Bar’s energetic merchandise so it now not updates when a unique listing merchandise is chosen, and made the Dock search field place observe the Dock place in #46420. Thanks @jiripolasek!
- Fastened duplicate dock bands brought on by lacking duplicate test when pinning in #46438
- Fastened a build-breaking merge inconsistency in DockWindow.xaml.cs in #46639. Thanks @jiripolasek!
- Fastened the Dock not reflecting pin/unpin adjustments till restart in #47169
- Fastened the Dock window exhibiting a visual body on startup by hiding the DWM border throughout window creation in #47187
Extensions & SDK
- Added plain textual content viewer and picture viewer IContent varieties to the extension SDK in #43964. Thanks @jiripolasek!
- Added persistent calculator historical past with save, reuse, delete, and clear actions, configurable major motion, and replace-query-on-enter habits in #45307. Thanks @jiripolasek!
- Added a NetworkSpeedUnit selection setting to the Efficiency Monitor extension (bits/s, decimal bytes/s, IEC binary bytes/s) in #46320. Thanks @niels9001!
- Enabled dock pinning of Home windows Terminal profiles with per-profile icons, and hardened GUID parsing so a malformed profile entry now not breaks the entire listing in #46372
- Assigned secure IDs to FancyZones format instructions within the PowerToys extension so customers can pin particular person layouts to the dock in #46198. Thanks @vanzue!
- Hardened the Efficiency Monitor extension with exception dealing with and crash restoration by way of a sentinel file mechanism in #46541. Thanks @jiripolasek!
- Gave every built-in extension its personal settings file with clear one-time migration from the legacy shared settings.json in #46685. Thanks @michaeljolley!
- Shipped Copilot directions and 5 abilities (publish-extension, add-adaptive-card-form, add-extension-settings, add-dock-band, add-fallback-commands) contained in the extension template in #46683. Thanks @niels9001!
- Fastened invisible/corrupted icons in newly created extensions by extracting template enlargement right into a devoted service that now not rewrites binary recordsdata in #46490. Thanks @jiripolasek!
- Fastened a Watson crash the place a single extension in a foul state would kill your complete extension-loading loop in #47032
- Fastened right-click context menus failing to open on the primary try for gradual out-of-process third-party extensions in #46626. Thanks @jiripolasek!
- Fastened the Settings toggle for disabling fallback instructions from out-of-process extensions by switching the sort test from a concrete class to the WinRT interface in #47127
- Simplified the Time & Date extension web page to recalculate outcomes on each question reasonably than caching, breaking a possible infinite replace loop in #46396. Thanks @jiripolasek!
- Fastened Calculator extension unit assessments failing below non-English cultures in #46911. Thanks @niels9001!
Search & Indexer
- Improved indexer search with implicit filename broadening for plain free-text queries, retry-with-literal matching for punctuation-heavy searches, and a Home windows Search availability indicator in #46907. Thanks @jiripolasek!
- Fastened a crash when changing giant calculator outcomes to hex/oct/bin by switching the secondary-results base conversion to BigInteger with a customized base converter in #46176. Thanks @jiripolasek!
- Cut up the full-screen shortcut guard into separate full-screen and busy checks with an opt-in IgnoreShortcutWhenBusy setting, added a dwell diagnostic InfoBar, and launched an opt-in triple-press breakthrough to bypass suppression in #45891. Thanks @jiripolasek!
- Fastened the Window Walker Shut window command to respect the “Hold open after closing window” setting and mechanically refreshed the window listing in #45721. Thanks @jiripolasek!
Reliability & UX
- Fastened a 100% reproducible crash when typing within the search field by including a reentrancy guard round filtered-items mutations in #47148. Thanks @MuyuanMS!
- Fastened a second typing crash that occurred when the indexer fallback was enabled by correcting a P/Invoke operate signature in #47186
- Hardened ListViewModel item-fetch synchronization with copy-on-write cache publication, latest-fetch-wins semantics, and improved cancellation cleanup in #46429. Thanks @jiripolasek!
- Refactored settings and app state to be immutable end-to-end to remove concurrency race situations in #46451. Thanks @michaeljolley!
- Added a CanGoBack guard to Body.GoBack, stopping a crash when navigating again with an empty navigation stack in #46493. Thanks @jiripolasek!
- Fastened duplicate and contradictory Pin to Dock/Unpin from dock context menu entries showing on top-level home-page objects in #46458. Thanks @michaeljolley!
- Prevented PgUp/PgDown paging from touchdown on non-interactive entries like separators and part headers in #46439. Thanks @jiripolasek!
- Fastened keyboard focus restoration on the Extensions settings web page so Shift+Tab returns to the beforehand chosen extension card in #45903. Thanks @jiripolasek!
- Reverted focus-restoration on the Extensions settings web page that was inflicting clicks to open the unsuitable extension merchandise in #46642. Thanks @jiripolasek!
- Fastened inline code (backtick textual content) within the Particulars and Content material panels being invisible on light-theme backgrounds in #46739. Thanks @michaeljolley!
- Fastened the Window Walker “Not Responding” tag being illegible in darkish mode in #46924. Thanks @niels9001!
- Fastened a WinUI format bug the place the settings web page content material was visually offset when wrapped in a ScrollViewer with MaxWidth in #46568
- Fastened a regression in PinToDockDialogContent.xaml the place a kind rename was missed throughout a merge hole in #46599. Thanks @jiripolasek!
- Fastened a display reader accessibility problem the place the Alias textual content field introduced “Enter Alias” as a substitute of simply “Alias” in #45906
- Added display reader bulletins for shortcut key info on the settings button in #46164. Thanks @chatasweetie and @jiripolasek!
- Eliminated redundant container-level tab stops within the particulars panel for improved keyboard accessibility in #46346. Thanks @chatasweetie!
Infrastructure & Code High quality
- Extracted persistence and file I/O logic from SettingsModel and AppStateModel into devoted service lessons in #46312. Thanks @michaeljolley!
- Launched CmdPalLogger, CmdPalLoggerProvider, and an extension technique integrating Microsoft.Extensions.Logging with ManagedCommon.Logger in #46768. Thanks @michaeljolley!
- Bumped all CommunityToolkit.WinUI packages from 8.2.250402 to eight.2.251219 and eliminated three SearchBar workaround hacks in #46027. Thanks @niels9001!
- Enabled telemetry occasion firing appropriately in AOT builds by including EventSourceSupport in #47121
- Up to date the extension answer filter recordsdata to incorporate new transitive dependencies and added a leaner SLNF for quicker developer builds in #46896. Thanks @jiripolasek!
- Up to date the Microsoft.CmdPal.Ext.PowerToys answer filter file to incorporate lacking venture dependencies in #46136. Thanks @jiripolasek and @vanzue!
- Eliminated a legacy workaround for FontIconSource.CreateIconElement (mounted in WinAppSDK 1.8.4) in #45790. Thanks @jiripolasek!
- Moved developer documentation to doc/devdocs/modules/cmdpal to align with different PowerToys modules in #46926. Thanks @niels9001!
- Bumped Command Palette model to 0.10 in #47181
Picture Resizer
- Migrated Picture Resizer from WPF to WinUI 3, unblocking future AOT compilation and aligning with Home windows 11 design language in #45288. Thanks @moooyo and @niels9001!
- Restored honoring the user-configured JPEG high quality setting when resizing JPEGs, which had been silently ignored at a hard and fast ~Q90 default after the WinUI 3 migration in #47134
- Fastened lacking PNG encoder settings by making use of codec-specific encoder properties within the transcode path in #46695. Thanks @moooyo!
- Fastened a regression the place JsonPropertyName attributes weren’t forwarded by the ObservableProperty generator, restoring appropriate JSON serialization in #47056
Keyboard Supervisor
- Reverted multiline textual content substitute again to character-by-character sending with Shift+Enter for newlines, fixing multiline replacements in chat apps and plain editors in #46794
- Addressed code evaluation suggestions on handbook key choice: mounted localization, centralized VK_DISABLED constants, added validation for disable mappings, mounted dropdown revert logic, and plugged Course of deal with leaks in #46377
Mild Swap
- Fastened Mild Swap and PowerDisplay integration by re-enabling the Apply monitor settings expander and disabled-warning InfoBar in Settings, and guaranteeing each hotkey press notifies PowerDisplay as a substitute of solely each different press in #47190
Mouse Utilities
- Refactored PadImage in PowerOCR (Textual content Extractor) to enhance reminiscence administration and nullability readability in #44906. Thanks @adelobosko!
Peek
- Added auto-detection of file identify encoding when previewing zip recordsdata, fixing garbled textual content for archives created on non-UTF-8 programs in #44799. Thanks @oxygen-dioxide!
Energy Show
- Re-enabled the PowerDisplay module with a brand new icon/emblem, DPI fixes, UI/UX enhancements, and installer integration in #46489
- Cleaned up the PowerDisplay module by fixing useful resource leaks, eradicating lifeless code, changing a recursive parser to iterative, and altering the default activation shortcut to Win+Ctrl+Shift+P in #46979
- Fastened thread security by marking shared fields as unstable, guarding shade temperature writes behind a functionality test, and correcting a deceptive log message in #47008
- Fastened PowerDisplay startup restore, quantity initialization, and Establish window lifecycle in #47051
- Launched a shared flyout positioning helper utilized by PowerDisplay and Fast Entry, fixing taskbar overlap at 100% scaling and off-screen rendering after DPI adjustments in #47097
- Polished Energy Show by standardizing the module identify, shrinking the flyout barely, and eradicating lifeless code in #47163
PowerToys Run
- Fastened a command breakout within the Shell plugin by escaping double quotes within the command string, whereas nonetheless permitting setting variables to develop in #45554. Thanks @RinZ27!
- Eliminated unused XAML namespace declarations from PowerLauncher XAML recordsdata in #46221. Thanks @niels9001!
Fast Accent
- Added subscript and superscript Unicode characters to the Particular Characters set for keys 0-9, A, E, N, X, Y, Z, and math operators in #45540. Thanks @Salehnaz!
- Added the lacking Icelandic accented letter í to the VK_I key definition in #46424. Thanks @squirrelslair!
- Added Shift+N capitalization assist for superscript Latin small letter n in #46571. Thanks @PesBandi!
- Restored the en-dash character below the VK_MINUS key within the Particular Characters set in #47106
- Fastened the default “All accessible” language setting silently falling again to a small character set because of parsing points, added case-insensitive parsing with invalid-entry warnings, and added two new Hungarian character mappings in #47117. Thanks @daverayment!
Settings
- Fastened the Settings shortcut/key visuals so arrow glyphs (up/down/left/proper) render as correct FontIcon glyphs as a substitute of literal textual content in #46454. Thanks @vanzue!
- Formatted the final checked for updates timestamp as pleasant relative strings (At this time at 1:22 PM, Yesterday at 3:45 PM) in #46923
- Fastened Dashboard format points by eradicating extreme empty scroll area, restoring responsive habits, and correcting a 1-pixel vertical alignment mismatch in #46922
- Fastened the Fast Accent character-sets grid being clipped and exhibiting an internal horizontal scrollbar, so the listing reflows from 3 to 2 to 1 columns on resize in #45986. Thanks @daverayment!
- Renamed the shortcut battle checkbox label from “Ignore shortcut” to “Ignore battle” for readability in #46318
- Fastened the backup folder path being visually clipped on the Common and Picture Resizer pages in #46920
- Refreshed Settings UI property and replica: mounted a ZoomIt web page regression, up to date the Command Palette settings web page with present hyperlinks and screenshots, and added lacking overview screenshots in #47132
- Fastened lacking photographs within the Settings UI by adjusting the venture file so picture property are packaged appropriately in #47165
- Tweaked wording on a handful of Settings strings for readability and consistency in #47164
- Eliminated the third-party WPF-UI library in favor of native WPF Fluent theming with customized management templates in #46218
Window Supervisor (Seize And Transfer)
- Added the Seize And Transfer module enabling Alt+Left Click on window dragging and Alt+Proper Click on window resizing, without having to focus on title bars in #47024
- Unstuck the Alt key after Ctrl+Alt+Del or Alt+Tab into an admin course of, made Win selectable because the transfer/resize activation modifier, and made the window geometry readout opaque in #47052. Thanks @foxmsft!
- Up to date Seize And Transfer Settings strings to be modifier-agnostic now that Win is selectable alongside Alt in #47178
ZoomIt
- Added panoramic/scrolling screenshot seize, textual content extraction when snipping, and break timer enhancements with display saver mode and non-compulsory pc lock in #46506. Thanks @foxmsft, @MarioHewardt, and @markrussinovich!
- Fastened ZoomIt x86 construct compatibility by emulating the _mm_cvtsi128_si64 intrinsic with _mm_storel_epi64 for 32-bit targets in #46529. Thanks @foxmsft!
Growth
- Added a full OOBE web page for Seize And Transfer, high-resolution icons and overview photographs for each Seize And Transfer and PowerDisplay, NEW badges on Settings nav objects, and refreshed the README utilities desk in #47033
- Added an update-available badged tray icon, a brand new “Replace accessible” tray menu entry that opens Settings to Common, and raised the replace InfoBar severity to Warning in #47030
- Up to date the dark-mode PowerToys tray icons to make use of the right shade of black for the define in #47166
- Modified default-on state for brand spanking new installations by disabling 7 modules by default to streamline the preliminary expertise for brand spanking new customers in #47027
- Added specific default-disabled overrides to eight module interfaces so the native Runner defaults match the managed enabled-modules listing, eliminating first-launch allow/disable flicker in #47144
- Up to date the Home windows Implementation Library (WIL) from 1.0.231216.1 to 1.0.250325.1 by way of Central Bundle Administration in #43503
- Fastened the construct.ps1 script so the -RestoreOnly swap works appropriately and added assist for the newer .slnf answer filter file format in #46012. Thanks @raycheung!
- Upgraded the check-spelling CI motion to v0.0.26 which fixes spell-check failures on fork PRs and updates exclusion patterns in #46851. Thanks @jsoref!
- Refreshed the check-spelling motion to 0.0.26 and synced dictionaries, patterns, and count on/reject lists throughout docs, supply, and useful resource recordsdata in #47119. Thanks @jsoref!
- Pinned the check-spelling GitHub Motion to v0.0.26 to aim to repair the CI pipeline blocking PRs from forked repositories in #46746
- Reverted the pinning of the check-spelling motion after figuring out that the pin was unrelated to the pipeline problem in #46749. Thanks @moooyo!
- Added contributor names from a latest PR to the spellchecker allow-list to stop CI spelling errors in #46765. Thanks @jiripolasek!
- Added complete DSC (Desired State Configuration) documentation with per-module reference pages, settings examples, and an outline information overlaying 25+ PowerToys modules in #42554. Thanks @Gijsreyn!
- Cleaned up root-folder Markdown recordsdata by consolidating bullet kinds, fixing spelling and grammar, changing HTML to Markdown, and making use of sentence-case headers in #46582. Thanks @Jay-o-Way!
- Documented three lacking telemetry occasions (ModuleLaunchedFromSettings, CmdPal_DockConfiguration, KeyboardManager_LaunchEditor) in #46371
- Added telemetry occasion logging to CLI entry factors for FileLocksmith, Awake, and Picture Resizer so command-line invocations are tracked alongside GUI utilization in #46872. Thanks @MuyuanMS!
- Added 75+ MSTest unit assessments overlaying Hosts ValidationHelper (IPv4/IPv6/hostname validation) and ColorPicker ColorFormatHelper conversions (CMYK, HSB/HSI/HWB, CIE XYZ/LAB, Oklab/Oklch, sRGB-linear, NCol) in #46679
- Fastened MSTEST0017 analyzer warnings by correcting assertion argument order in 22 Assert calls throughout 8 take a look at recordsdata in #46712
- Fastened a CI take a look at grasp the place Frequent.Interop.UnitTests.TestSend might block for 80 minutes when a previous run left a named-pipe deal with alive, by guaranteeing pipe names are distinctive per run and bounding handshake waits in #47123
- Resolved StyleCop SA1614, SA1616, SA1622, and SA1623 warnings throughout Command Palette, Energy Show, Settings UI, DSC, and Extensions Toolkit code in #46706, #46707, #46717, #46718
- Bumped the azure/login GitHub Motion from v2 to v3 within the MS Retailer submissions workflow in #46323
- Bumped the azure/cli GitHub Motion from v2 to v3 within the MS Retailer submissions workflow in #46562
This replace additionally improves Command Palette, Keyboard Supervisor, and ZoomIt. The changelog is so lengthy that I am a bit stunned the PowerToys group did not maintain off for a serious launch quantity.
What to learn subsequent
The builders of PowerToys are additionally working emigrate the app to WinUI 3. Microsoft is shifting towards extra native experiences, and WinUI 3 is among the native UI platforms for Home windows.
Picture Resizer is being migrated from WPF to WinUI 3, making it look extra fashionable in addition to aligning it with the remainder of PowerToys.
Total, it is a huge replace with new options and enhancements. Should you use PowerToys, it is time to hop into the app’s settings and set up the newest model.
Be a part of us on Reddit at r/WindowsCentral to share your insights and focus on our newest information, opinions, and extra.









