using System; using System.Drawing; using System.Collections.Generic; // 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) { Rectangle rectWin = BFS.Window.GetBounds(windowHandle); // Get the current monitor id from the window top left position uint monitor = BFS.Monitor.GetMonitorIDByXY(BFS.Input.GetMousePositionX(), BFS.Input.GetMousePositionY()); Rectangle rectMonitor = BFS.Monitor.GetMonitorWorkAreaByID(monitor); if (rectWin.Width < rectMonitor.Width) { if (rectWin.X + rectWin.Width > rectMonitor.X + rectMonitor.Width) { BFS.Window.SetLocation(windowHandle, rectWin.X - ((rectWin.X + rectWin.Width) - (rectMonitor.X + rectMonitor.Width)) , rectWin.Y); return; } } } }