using System;
using System.Drawing;
using System.Collections.Generic;
using System.Runtime.InteropServices;
// The 'windowHandle' parameter will contain the window handle for the:
// - Active window when run by hotkey
// - Window Location target when run by a Window Location 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)
{
//find the appid of the focused window
uint focusedAppId = BFS.Application.GetAppIDByWindow(windowHandle);
//loop through all visible windows.
foreach(IntPtr window in BFS.Window.GetVisibleWindowHandles())
{
//if the window doesn't belong to that appid, continue to the next window
if(BFS.Application.GetAppIDByWindow(window) != focusedAppId)
continue;
//if we got here then the window belongs. move it to the next monitor
BFS.Window.MoveToNextMonitor(window);
}
}
}