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 window bounds and monitor bounds
Rectangle windowBounds = BFS.Window.GetBounds(windowHandle);
Rectangle monitorBounds = BFS.Monitor.GetMonitorBoundsByWindow(windowHandle);
// Check to see if X and/or Y need adjusting
bool adjustX = windowBounds.X < (monitorBounds.X + 10);
bool adjustY = windowBounds.Y < (monitorBounds.Y + 10);
// If they don't need adjusting, exit the script
if (!adjustX && !adjustY)
return;
// Set the new X and/or Y values
int newX;
int newY;
if (adjustX)
newX = monitorBounds.X;
else
newX = windowBounds.X;
if (adjustY)
newY = monitorBounds.Y;
else
newY = windowBounds.Y;
// Move the window
BFS.Window.SetLocation(windowHandle, newX, newY);
}
}