using System;
using System.Drawing;
// 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)
{
//check to see if there was an error. if there was, exit function
if (windowHandle == IntPtr.Zero)
return;
//get the position of the window in the monitor, and the current monitor
Rectangle windowRect = BFS.Window.GetBounds(windowHandle);
Rectangle monitorRect = BFS.Monitor.GetMonitorBoundsByWindow(windowHandle);
//get the space on the right side of the window
int rightSpace = monitorRect.Width - (windowRect.X - monitorRect.X) - windowRect.Width;
//if there is any rightspace, move the window to the right
//otherwise, move the window to the left side
if(rightSpace > 0)
BFS.Window.MoveToRightMonitorHalf(windowHandle);
else
BFS.Window.MoveToLeftMonitorHalf(windowHandle);
}
}