I think this might be a bit too much and some might be already be implemented or partially implemented, so please feel free to correct me there.
I think this is whats currently missing:
1. Monitor Detection and Identification
WaitForMonitorReady()
Waits until a specific monitor is detected, e...
I think this might be a bit too much and some might be already be implemented or partially implemented, so please feel free to correct me there.
I think this is whats currently missing:
1. Monitor Detection and Identification
WaitForMonitorReady()
Waits until a specific monitor is detected, enabled, and operating with a valid display mode. Supports configurable timeouts and returns a clear result indicating whether the monitor is ready, disconnected, or timed out.
This would be particularly useful when switching display profiles, as monitor activation can take several seconds.
GetMonitorDeviceInfo()
Returns detailed hardware and connection information for a monitor, including its model, manufacturer, serial number (when available), device path, connection type, adapter information, and current display mode.
This would allow scripts to identify monitors reliably instead of relying exclusively on DisplayFusion monitor IDs, which may change between configurations.
GetMonitorConnectionState()
Returns the current state of a monitor, distinguishing between connected and enabled, connected but disabled, disconnected, and unavailable or unknown states.
This would make it easier to diagnose why a monitor is not active after switching profiles.
GetMonitorCapabilities()
Returns the available capabilities and supported display modes of a monitor, including resolutions, refresh rates, HDR support, and color depth when available.
This would allow scripts to validate display configurations before applying them.
2. Monitor Enable/Disable and Configuration
SetMonitorEnabled()
Enables a specified monitor programmatically and returns a result indicating whether the operation succeeded.
The function should support reliable monitor identification and provide useful error information when Windows or the graphics driver cannot activate the display.
SetMonitorDisabled()
Disables a specified monitor programmatically, allowing scripts to switch between desktop and gaming configurations without relying on manual interaction with Windows Display Settings.
SetPrimaryMonitor()
Sets a specified monitor as the primary display and confirms whether the change was successfully applied.
SetMonitorResolutionAndRefreshRate()
Sets the resolution and refresh rate of a specific monitor, optionally including color depth and HDR settings where supported. The function should verify the resulting display mode instead of merely reporting that the request was submitted.
ApplyMonitorLayout()
Applies a complete saved monitor layout, including monitor positions, primary display, resolution, refresh rate, and orientation.
Ideally, the function would validate the requested configuration, apply the available changes, and report any settings that could not be applied.
3. Display Topology and Multi-Monitor Groups
GetDisplayTopology()
Returns information about the current Windows display topology, such as extended desktop, duplicated displays, and grouped or combined display configurations where detectable.
This would help scripts determine whether Windows is treating the displays as separate monitors or as a single combined display.
GetDisplayGroupInfo()
Returns information about grouped displays created by technologies such as AMD Eyefinity, when the relevant information is exposed by the graphics driver or Windows.
Useful information would include group membership, total resolution, display arrangement, and whether the group is currently active.
GetScreensWithSplits() — Extended Information
It would be useful to extend the existing screen information functions with more details about the underlying physical monitors, their device paths, and their relationship to grouped display configurations.
This would help distinguish between logical screens and the physical monitors connected to the system.
4. Configuration Refresh and Event Handling
RefreshMonitorConfiguration()
Refreshes DisplayFusion's monitor configuration information after a display change, monitor activation, or graphics driver reconfiguration.
The function should return the updated state and avoid relying on stale cached information.
WaitForDisplayChange()
Waits for a specific display configuration change, such as a monitor becoming enabled, a resolution changing, or the display topology being updated.
This would be more reliable than using fixed delays in scripts, since display changes can take different amounts of time depending on the system and graphics driver.
GetDisplayTopologyChangedEvent()
Provides an event or callback mechanism that allows scripts to react when the display topology changes, a monitor disconnects, or the active monitor configuration is modified.
This could be useful for automatically recovering from unexpected monitor disconnections.
5. Configuration Backup, Validation, and Recovery
GetMonitorConfigSnapshot()
Creates a snapshot of the current monitor configuration, including enabled displays, display modes, positions, primary display, and topology information where available.
The snapshot could then be used to restore the previous configuration if a profile switch fails.
RestoreMonitorConfigSnapshot()
Restores a previously saved monitor configuration and reports which parts of the configuration could not be recovered.
TestMonitorConfiguration()
Checks whether a requested monitor configuration appears valid and supported before attempting to apply it.
This would help prevent scripts from applying invalid resolutions, unsupported refresh rates, or incompatible monitor arrangements.
ApplyMonitorConfigurationWithRollback()
Applies a monitor configuration while preserving the previous state. If the operation fails or the resulting configuration does not match the expected state, the function attempts to restore the previous configuration.
This would be particularly valuable when switching between desktop and multi-monitor gaming profiles.
GetLastMonitorError()
Returns detailed information about the most recent monitor configuration error, including the failed operation and the relevant Windows or graphics-driver error code when available.
This would make troubleshooting monitor scripts much easier than relying on a generic success/failure result.
6. Sim Racing and Triple-Monitor Automation
ApplyAndVerifyMonitorProfile()
A higher-level function that applies a monitor profile, waits for the monitors to become ready, verifies the resulting display topology and display modes, and reports whether the configuration matches the expected state.
For example, switching to a triple-monitor sim racing profile could involve enabling three monitors, verifying their resolutions and refresh rates, checking the resulting display arrangement, and confirming whether the expected combined display configuration is active.
If any step fails, the function could return a detailed error or optionally attempt to restore the previous configuration.
Disclaimer: AI was used to translate and better explain some functions since I'm not a native speaker, sorry if this looks too "ai slop looking" for some users, please bear with it!
| # | Наименование новости | Тональность | Информативность | Дата публикации |
|---|---|---|---|---|
| 1 | RE: DisplayFusion not working | 0 | 15.8 | 10-10-2026 |
| 2 | RE: Bug report: Monitor fading stacks every time you change display properties | 0 | 9.72 | 10-10-2026 |
| 3 | (Feature Request) Monitor Fading: Separate Fade and Unfade Time | 0 | 7.38 | 09-10-2026 |
| 4 | RE: Fed up by DisplayFusion constant issues. | 0 | 11.5 | 10-10-2026 |
| 5 | RE: DisplayFusion doesn't show the icons to move the window to next monitors, since a few days | 0 | 7.74 | 24-09-2026 |
| 6 | DF MM Taskbar overlapping Multiple Monitor RDP session | 0 | 10.68 | 09-10-2026 |
| 7 | マルチGPU | 0 | 10 | 03-10-2026 |
| 8 | RE: Feat: middle-click on an icon in tray to open monitor profiles | 0 | 8.54 | 21-09-2026 |
| 9 | RE: Display Fusion Capablities | 0 | 8.43 | 22-09-2026 |
| 10 | DisplayFusion 12.2 (Beta 2) Now Available! | 0 | 12.75 | 09-10-2026 |