Processing Ajax...
Save 25% on our desktop apps during our Black Friday/Cyber Monday sale!Save 25% on our desktop apps during our Black Friday/Cyber Monday sale, including DisplayFusion, ClipboardFusion, FileSeek, LogFusion, TrayStatus, and VoiceBot!Save 25% on our desktop apps during our Black Friday/Cyber Monday sale!

Title
Close Dialog

Message

Confirm
Close Dialog

Confirm
Close Dialog

If Window Opens on Monitor 3, Move it to Monitor 1

Description
This script will check if the window is on monitor 3, and if it is, will move it to monitor 1.
Language
C#.net
Minimum Version
Created By
Keith Lammers (BFS)
Contributors
-
Date Created
May 4, 2020
Date Last Modified
May 4, 2020

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
//   - 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)
	{
		// Set the source monitor here (the monitor you don't want windows to open on)
		uint sourceMonitor = 3;
		
		// Set the destination monitor here
		uint destinationMonitor = 1;
		
		// Move the window if it's on the source monitor
		if (BFS.Monitor.GetMonitorIDByWindow(windowHandle) == sourceMonitor)
		{
            BFS.Window.MoveToMonitor(destinationMonitor, windowHandle);
		}
	}
}