Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Move a window to the left side, left middle, right middle, and right side with the 25% width, 33% height

Description
I found that this script is useful when I create and organize many small windows.
Language
C#.net
Minimum Version
Created By
Moonzoo Kim45775
Contributors
-
Date Created
Nov 7, 2017
Date Last Modified
Nov 7, 2017

Scripted Function (Macro) Code

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 iFinalWinW = monitorRect.Width / 4;
		int iFinalWinH = monitorRect.Height/3;

		int iFinalWinX = ((windowRect.X < iFinalWinW ? monitorRect.X : ((windowRect.X-iFinalWinW)/ iFinalWinW+1) * iFinalWinW));
		int iFinalWinY = ((windowRect.Y < iFinalWinH ? monitorRect.Y : ((windowRect.Y-iFinalWinH)/ iFinalWinH+1) * iFinalWinH));
	 
		if (( iFinalWinX + 2*iFinalWinW) > monitorRect.Width ) {
			iFinalWinX = monitorRect.X;
			iFinalWinY += iFinalWinH;
		}
		else iFinalWinX += iFinalWinW;
		
		iFinalWinY =  iFinalWinY +iFinalWinH > monitorRect.Height ? monitorRect.Y: iFinalWinY;                   

		BFS.Window.SetSizeAndLocation(windowHandle, iFinalWinX, iFinalWinY, iFinalWinW, iFinalWinH );
	}
}