Single Monitor Exclusive Mode

@malcolm the wiki says:

if you click-off the window, you won’t be able to re-enter exclusive mode. You’ll need to leave and re-enter perform mode

In my setup: 1 HD Monitor + 1 (2x4k) Mosaic-Monitor I can open a window in single monitor exclusive mode on the mosaic display, click off that window, and then click on the window again and it seems I am re-entering single monitor exclusive mode. No need to exit and re-enter perform mode

PresentMon reports:

clicked off the perform window
TouchDesigner.exe[16940]: 0000000000000000 (Other): SyncInterval=-1 Flags=0 CPU/Display=16.66/16.67ms (60.0/60.0 fps) latency=38.20ms Composed: Copy with GPU GDI

clicked on the perform window again
TouchDesigner.exe[16940]: 0000000000000000 (Other): SyncInterval=1 Flags=0 CPU/Display=16.66/16.67ms (60.0/60.0 fps) latency=38.20ms Hardware: Legacy Flip

Looking at the PresentMon docs (copied below) it seems that LegacyFlip means “exclusive mode”

PresentMode Description
Hardware: Legacy Flip Indicates the app took ownership of the screen, and is swapping the displayed surface every frame.
Hardware: Legacy Copy to front buffer Indicates the app took ownership of the screen, and is copying new contents to an already-on-screen surface every frame.
Hardware: Independent Flip Indicates the app does not have ownership of the screen, but is still swapping the displayed surface every frame.
Composed: Flip Indicates the app is windowed, is using flip model swapchains, and is sharing its surfaces with DWM to be composed.
Hardware Composed: Independent Flip Indicates the app is using flip model swapchains, and has been granted a hardware overlay plane.
Composed: Copy with GPU GDI Indicates the app is windowed, and is copying contents into a surface that’s shared with GDI.
Composed: Copy with CPU GDI Indicates the app is windowed, and is copying contents into a dedicated DirectX window surface. GDI contents are stored separately, and are composed together with DX contents by the DWM.

Not super surprising. The behavior is very driver and OS dependent, so it may behave differently in different cases.