Processing Ajax...

Close Dialog


Close Dialog

Close Dialog

A recent AVG and Avast antivirus update is preventing DisplayFusion 9.9 from launching on some systems.
If you're running into this issue, please update to the latest DisplayFusion 10.0 Beta.

Cascade Vista TN3270 Windows

I use a TN3270 client called Vista TN3270 (the name Vista was used well before the abomination that was Windows 6). I sometimes have double digit sessions open, and I like to have portions of all the windows displaying so I can click on them. Each session has an ID that I've configured to display in the title. This script scans the window title, looks for the session ID as I set it, and then based on the ID (A-Z, 0-9) sets the X coordinate based on it with an offset. For example, session A is positioned at (64,32), session B is at offset (88,32), etc. This script normally runs at window open, however I have bound it to a function key in case the window is moved accidentally. I used the "Launch an Application and Move It to a Specific Location" and "Move Only A Specific Window of an Application" scripts as bases.
Minimum Version
Created By
Date Created
Jul 5, 2019
Date Last Modified
Jul 5, 2019

Scripted Function (Macro) Code

using System;
using System.Drawing;

public static class DisplayFusionFunction
	public static void Run(IntPtr windowHandle)
		// modify the windowTitleToMatch string below to specify the title of the window you want moved by the Window Location rule
        // modify the locationX and locationY int values below to set the location the window should be moved to if its window title matches
        int locationX = 64;
        const int locationY = 32;
        const int offsetX = 24;
		// get the title of the window detected by the Window Location rule
		string windowTitleActual = BFS.Window.GetText(windowHandle);

		int openParen = windowTitleActual.IndexOf("(");
		if (openParen > 0)
            int closeParen = windowTitleActual.IndexOf(")", openParen + 1, 2);
            if (closeParen > 0)
                const string sessionIDValues = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
                String sessionID = windowTitleActual.Substring(openParen + 1, 1);
                int sessionX = sessionIDValues.IndexOf(sessionID);
                locationX = locationX + offsetX * sessionX;
                BFS.Window.SetLocation(windowHandle, locationX, locationY);