Processing Ajax...

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

Auto Win+Left/Right

Description
This function moves a window from the right side of the current monitor to the left side, and vice versa.
Language
C#.net
Minimum Version
Created By
Thomas Malloch (BFS)
Contributors
-
Date Created
Sep 29, 2014
Date Last Modified
Oct 3, 2014

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.GetMonitorBoundsByWindow(windowHandle);
		
		//get the space on the right side of the window
		int rightSpace = monitorRect.Width - (windowRect.X - monitorRect.X) - windowRect.Width;
		
		//if there is any rightspace, move the window to the right
		//otherwise, move the window to the left side
		if(rightSpace > 0)
			BFS.Window.MoveToRightMonitorHalf(windowHandle);
		else
			BFS.Window.MoveToLeftMonitorHalf(windowHandle);
	}
}