Repository navigation
Releases
DesktopManager Windows CLI and MCP 0.2.5
Audio endpoint reads include the DesktopManager 4.9.0 fixes: a requested endpoint is opened directly, default IDs are cached with notification invalidation, and inactive devices skip volume activation. The MCP server still starts read-only, and the tool surface is unchanged.
This release includes the portable Windows CLI, MCP bundle and installable plugin.
DesktopManager-PowerShellModule.v4.9.0
What's Changed
- Make GetEndpoint, sign-in time and power mode reads cheap by @PrzemyslawKlys in #230
- Report the media source's app name instead of its raw ID by @PrzemyslawKlys in #229
Full Changelog: desktopmanager-windows-verification-v0.2.4...DesktopManager-PowerShellModule.v4.9.0
DesktopManager Windows CLI and MCP 0.2.4
Session typing is available in the Windows CLI, including UTF-8 input from pipes. Private paste preserves the clipboard safely, and window geometry uses physical pixels. Saved layouts prioritize stronger identities and skip unavailable or ambiguous application matches.
This release includes the portable Windows x64 CLI, MCP bundle and agent plugin. The MCP server starts read-only. See the DesktopManager 4.8.0 changelog for the library and PowerShell changes, including the private-paste default and scaled-display layout migration.
DesktopManager 4.8.0
- Ignore microphone and camera usage records that predate both boot and the current sign-in, so a crash or power loss no longer leaves an app reported as still using the device. Active records use the recorded sign-in time rather than a moving boot estimate; ambiguous timestamps after Fast Startup or a backwards clock correction return unavailable rather than a successful empty snapshot.
- Make monitor brightness work: monitor lookup no longer gives up when the enumeration stops early on a match,
GetMonitorBrightness/SetMonitorBrightnessaccept the device ID or the display name, andMonitorgainsGetBrightness()andSetBrightness(). - Keep monitor IDs consistent: the fallback enumeration reports the same device path as the normal one, and display-setting fallbacks map it back to the display name.
- Add
Monitor.BoundsandMonitor.WorkingArea, and makeMonitor.Positionuse the bounds already read during enumeration. - Move windows between monitors relative to the work area, keep them inside the target, and maximise a maximised window again on the target.
- Correct interop that failed or misbehaved:
SetSuspendStatemarshalling,SetWindowLongPtron 32-bit processes, the ANSI window-long entry points, missing last-error capture, hive unload errors, andMonitorWatcherstartup, shutdown and 64-bit message parameters. - Add
CursorFenceto keep the mouse pointer from crossing a screen edge, either always or until it is pushed for a moment, while touch and pen pass through. - Add
WindowEventWatcherfor window move, resize, show, destroy and foreground events on its own thread. - Add
NonActivatingWindow,WindowEdgeGesturesandTouchInputMappingfor touch-screen and side-panel apps, and makeDesktopSessionService.GetIdleTime()public. - Add
WindowThumbnailfor live DWM window previews. - Add
AudioDefaultEndpointSession, which follows the default device as it changes and reports a missing device as unavailable rather than throwing, andAudioLoopbackCapturefor the samples playing on the default output. - Add
ClipboardWatcher, which reports new text or image content, skips copies apps mark as private, retries busy reads, and can put text or an image back without reporting it. - Add
WifiConnectionService.GetCurrentfor the connected network, signal and link rates of a Wi-Fi interface. Windows 11 24H2 and later answer only apps that have location access. - Add
SystemPowerService.GetActivePowerPlanfor the active plan and the Windows 11 power mode. - Read clipboard text within the size of its memory block, and allocate before emptying the clipboard so a failed allocation in
SetTextno longer clears it. - Add
SessionTypingService,Send-DesktopSessionTextandwindow type-sessionfor typing into RDP, Citrix and VNC sessions and paste-blocked fields: scan codes for the remote keyboard layout, profile pacing, waiting for the target to come forward, Caps Lock and held-key checks, and stopping when focus moves or you type. SeeDocs/DesktopManager.SessionTyping.md. - Changed: text the library pastes now requests exclusion from clipboard history, cloud synchronization and cooperating clipboard managers (
WindowInputOptions.PrivateClipboard, orSet-DesktopWindowText -PrivateClipboard $falseto opt out).PreserveClipboardrestores every supported format, refuses to paste if preservation fails, and leaves a newer copy untouched. - Fix clipboard text writes and private paste from callers without an owner window. Private paste and snapshot restoration write existing exclusion markers before payloads and clear failed partial transfers before releasing the clipboard.
- Hosted-session typing presses letters at US key positions on any local layout; on AZERTY or QWERTZ machines it used to send the wrong letters. Typing options are copied rather than changed on the caller's object.
window typeaccepts--text-stdinand--text-envso text stays off the command line.- Changed: window positions are read and set in physical pixels whatever the caller's DPI awareness, so values from
GetWindowscan differ on scaled displays and now match what the move methods accept. Client geometry and window-relative pointer input use the same coordinates. Re-save older layouts captured in logical pixels on scaled displays; their stored numbers are retained without an assumed conversion. - Activating a window no longer removes its always-on-top state, and setting topmost no longer activates it.
- Auto-snap snaps on the monitor the window was dropped on and works from any thread.
SnapWindowuses the work area, restores a maximised or minimised window first and allows for the invisible border; snap positions gain top and bottom halves, thirds and centre. - Moving or resizing a minimised window changes where it restores to and leaves it minimised.
- Changed:
Set-DesktopWindowapplies negative coordinates,-TopMost:$falseclears topmost, and it skips hidden and cloaked windows unless-IncludeHiddenor-IncludeCloakedis given.MinimizeAllandRestoreAllleave cloaked windows (including those on other virtual desktops) alone by default. - Window errors include the Windows error and say when the target runs elevated. Moving another app's window to a virtual desktop explains the access-denied case, and
Move-DesktopWindowToVirtualDesktop -Experimentalcan do it. - Saved layouts match a window whose title changed by process, class and application, and
Restore-DesktopWindowLayoutwarns about windows it couldn't find. Stronger identities are reserved before weaker matches. - Changed: a layout with a captured application ID requires the same verified live ID; unavailable identities and ambiguous targets are skipped rather than matched to another app. Window identity reads use the public Windows property store and packaged-process identity APIs.
- Stop the mouse input tests clicking and dragging on the live desktop.
The Windows CLI and MCP plugin release is 0.2.4.
DesktopManager-PowerShellModule.v4.7.0
What's Changed
- Bump the all-dependencies group with 1 update by @dependabot[bot] in #221
- Keep Core Audio callbacks alive and preserve physical display identity by @PrzemyslawKlys in #223
- Make the .NET 8+ desktop library Native AOT ready by @PrzemyslawKlys in #222
- Add shared audio sessions, media controls and device usage APIs by @PrzemyslawKlys in #224
Full Changelog: DesktopManager-PowerShellModule.v4.6.1...DesktopManager-PowerShellModule.v4.7.0
DesktopManager Windows Verification 0.2.3
This release packages the Windows CLI, the read-only-by-default MCP server and the desktop verification agent plugin with the DesktopManager4.6.1 core.
Windows wallpaper services now activate reliably when another caller already holds the native COM wrapper. The core also includes the portable wallpaper-target and checkpoint APIs, faithful static-image fit/background metadata, and qualified optional single-display X11 geometry for .NET consumers.
The downloadable CLI/MCP assets run on Windows x64. Workspace recovery remains experimental and requires explicit opt-in; mutation remains disabled in the default MCP configuration. Dynamic wallpaper sources and unqualified desktop layouts retain explicit capability limits.
The release workflow attaches the CLI, MCPB and plugin archives with checksums and updates the generated agent-plugin distribution.
DesktopManager-PowerShellModule.v4.6.1
What's Changed
- fix(desktop): 🐛 Preserve wallpaper and window placement state by @PrzemyslawKlys in #217
- Preserve native wallpaper state and expose portable targets by @PrzemyslawKlys in #218
- Qualify native wallpaper metadata and display geometry by @PrzemyslawKlys in #219
Full Changelog: desktopmanager-windows-verification-v0.2.2...DesktopManager-PowerShellModule.v4.6.1
DesktopManager Windows Verification 0.2.2
DesktopManager Windows Verification 0.2.2 includes desktop-aware workspace capture, preview and recovery through the CLI and MCP server, plus physical-pixel screenshots for DPI-unaware callers.
Workspace actions share the DesktopManager 4.6.0 recovery engine. Optional actions remain guarded, and the MCP server starts read-only. Experimental native virtual-desktop extensions are qualified on Windows build family 26300; families 26100 and 26200 still require runtime qualification.
The release includes the plugin archive, portable Windows x64 CLI, MCP bundle and checksums. The library and PowerShell module are released separately as DesktopManager 4.6.0.
DesktopManager-PowerShellModule.v4.6.0
What's Changed
- docs(release): Clarify coordinated package version by @PrzemyslawKlys in #213
- Add portable desktop capabilities and wallpaper backends by @PrzemyslawKlys in #214
- fix: correct README examples and module metadata by @PrzemyslawKlys in #215
- feat(workspace): add desktop-aware recovery and DPI-safe capture by @PrzemyslawKlys in #216
Full Changelog: DesktopManager-PowerShellModule.v4.5.0...DesktopManager-PowerShellModule.v4.6.0
DesktopManager-PowerShellModule.v4.5.0
What's Changed
- Add shared wallpaper consumer APIs for monitor scale, session users and lock screens by @PrzemyslawKlys in #212
Full Changelog: desktopmanager-windows-verification-v0.2.1...DesktopManager-PowerShellModule.v4.5.0