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 the window has any space on the right, snap the window to the right of the current monitor
if (rightSpace > 0)
{
BFS.Window.MoveToRightMonitorHalf(windowHandle);
return;
}
//if we got this far then the window is on the right
//move the window to the next monitor
BFS.Window.MoveToNextMonitor(windowHandle);
//move the window to the left side
BFS.Window.MoveToLeftMonitorHalf(windowHandle);
}
}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 leftSpace = monitorRect.Width - (windowRect.X - monitorRect.X) - windowRect.Width;
//if the window has any space on the right, snap the window to the right of the current monitor
if (leftSpace > 0)
{
BFS.Window.MoveToLeftMonitorHalf(windowHandle);
return;
}
//if we got this far then the window is on the right
//move the window to the next monitor
BFS.Window.MoveToPreviousMonitor(windowHandle);
//move the window to the left side
BFS.Window.MoveToRightMonitorHalf(windowHandle);
}
}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 the window has any space on the right, snap the window to the right of the current monitor
if (rightSpace > 0)
{
BFS.Window.MoveToRightMonitorHalf(windowHandle);
return;
}
//if we got this far then the window is on the right
//move the window to the next monitor
BFS.Window.MoveToNextMonitor(windowHandle);
//move the window to the left side
BFS.Window.MoveToLeftMonitorHalf(windowHandle);
}
}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 leftSpace = monitorRect.Width - (windowRect.X - monitorRect.X) - windowRect.Width;
//if the window has any space on the right, snap the window to the right of the current monitor
if (leftSpace > 0)
{
BFS.Window.MoveToLeftMonitorHalf(windowHandle);
return;
}
//if we got this far then the window is on the right
//move the window to the next monitor
BFS.Window.MoveToPreviousMonitor(windowHandle);
//move the window to the left side
BFS.Window.MoveToRightMonitorHalf(windowHandle);
}
}