using System;
using System.Drawing;
using System.Collections.Generic;
// Description: This function starts all of Binary Fortress' web pages in different positions with the default web browser.
// Based on the Start Multiple Websites on Different Monitors function Created By: Thomas Malloch (BFS)
class Rectangles : List<Rectangle> { // helper for List<Rectangle> initialization
public void Add(int x, int y, int w, int h) {
Add(new Rectangle(x, y, w, h));
}
}
// 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) {
//make an array of websites you would like to have opened
string[] websites = {
"http://www.binaryfortress.com/",
"http://www.displayfusion.com/",
"http://www.checkcentral.cc/",
"http://www.clipboardfusion.com/",
"http://www.fileseek.ca/",
"http://www.itunesfusion.com/",
"http://www.logfusion.ca/",
"http://www.wallpaperfusion.com/"
};
// make an aray of window positions for the websites
Rectangle[] positions = new Rectangles {
{ 50, 50, 500, 500 },
{ 550, 50, 500, 500 },
{ 50, 550, 500, 500 },
{ 550, 550, 500, 500 },
{ 550, 1050, 500, 500 },
{ 50, 1050, 500, 500 },
{ 1050, 550, 500, 500 },
{ 1050, 50, 500, 500 }
}.ToArray();
for (int i = 0; i < websites.Length; ++i) {
var window = BFS.Web.OpenUrlNewWindow(websites[i]);
//if we failed to get the handle, continue to next loop iteration
if(window == IntPtr.Zero)
continue;
//move the window to the specified location
var p = positions[i];
BFS.Window.SetSizeAndLocation(window, p.X, p.Y, p.Width, p.Height); // shouldn't this take a Rectangle???
}
}
}