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.GetMonitorWorkAreaByWindow(windowHandle); int iFinalWinX = monitorRect.X; int iFinalWinY = monitorRect.Y; int iFinalWinW = monitorRect.Width / 3; int iFinalWinH = monitorRect.Height; if( windowRect.X == iFinalWinX /* && windowRect.Y == iFinalWinY && windowRect.Width == iFinalWinW && windowRect.Height == iFinalWinH */) { iFinalWinX = monitorRect.X + iFinalWinW; } else if (windowRect.X == iFinalWinX + iFinalWinW) { iFinalWinX = monitorRect.X + 2*iFinalWinW; } else if (windowRect.X == iFinalWinX + 2*iFinalWinW) { iFinalWinX = monitorRect.X; } BFS.Window.SetSizeAndLocation(windowHandle, iFinalWinX, iFinalWinY, iFinalWinW, iFinalWinH ); } }