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)
{
// Get the current mouse position
int mousePositionX = BFS.Input.GetMousePositionX();
int mousePositionY = BFS.Input.GetMousePositionY();
// Determine which monitor the mouse cursor is on
uint currentMonitorMouse = BFS.Monitor.GetMonitorIDByXY(mousePositionX, mousePositionY);
// Determine which monitor the window is on
uint currentMonitorWindow = BFS.Monitor.GetMonitorIDByWindow(windowHandle);
// If the window is on the same monitor as the mouse, move it to the next monitor
if (currentMonitorMouse == currentMonitorWindow)
BFS.Window.MoveToNextMonitor(windowHandle);
}
}