using System;
using System.Drawing;
using System.Diagnostics;
// 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)
{
//run this script until the user cancels it
while(true)
{
//enumerate window handles from monitor 2
foreach(IntPtr handle in BFS.Window.GetVisibleWindowHandlesByMonitor(2))
{
//get the window's appId
uint appId = BFS.Application.GetAppIDByWindow(handle);
//get the process that the window belongs to
Process process = Process.GetProcessById((int)appId);
//if the process is something we want on that monitor,
//continue to the next window handle
if(process.ProcessName.Equals("Skype"))
continue;
//if we got this far, this window handle is unwanted.
//move it to another monitor
BFS.Window.MoveToMonitor(3, handle);
}
//sleep for one second before we check again
BFS.General.Sleep(1000);
}
}
}