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); } }