Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Move Window to Different Monitor (ignore splits)

Description
This function will prompt to choose a monitor to move the window to. It will then maximize the window, ignoring monitor splits if configured.
Language
C#.net
Minimum Version
Created By
Keith Lammers (BFS)
Contributors
-
Date Created
Jun 10, 2022
Date Last Modified
Jun 10, 2022

Scripted Function (Macro) Code

using System;
using System.Drawing;

// The 'windowHandle' parameter will contain the window handle for the:
//   - Active window when run by hotkey
//   - Trigger target when run by a Trigger rule
//   - TitleBar Button owner when run by a TitleBar Button
//   - Jump List owner when run from a Taskbar Jump List
//   - Currently focused window if none of these match
public static class DisplayFusionFunction
{
	public static void Run(IntPtr windowHandle)
	{
		// Prompt to select the monitor
		uint targetMonitor = BFS.Monitor.ShowMonitorSelector();
		
		// Move the window to that monitor
		BFS.Window.MoveToMonitor(targetMonitor, windowHandle);
		BFS.General.ThreadWait(250);
		
		// Maximize the window, ignore splits
		BFS.DisplayFusion.RunFunctionWithWindowHandle("Maximize Window (ignore monitor splits)", windowHandle);
	}
}