using System;
using System.Drawing;
// Code brought to you by: solaris765
// Because numbers after my screen name are fun.
// Meant for use with my script 'Update Monitor Profile Automatically'
// Replace stop program if block with:
// if (BFS.ScriptSettings.ReadValue("ProfileToggle") == "off")
// break;
// Can be used with any infinitely running script.
// 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)
{
// toggles running state to 'off'
// initializes the variable 'ProfileToggle'.
if (BFS.ScriptSettings.ReadValue("ProfileToggle") == "on" || BFS.ScriptSettings.ReadValue("ProfileToggle") == "")
{
BFS.ScriptSettings.WriteValue("ProfileToggle", "off");
}
// toggles the running state to on
// runs the program 'Update Monitor Profile Automatically'.
else if (BFS.ScriptSettings.ReadValue("ProfileToggle") == "off" )
{
BFS.ScriptSettings.WriteValue("ProfileToggle", "on");
BFS.DisplayFusion.RunFunction("Update Monitor Profile Automatically");
}
// throws error if 'ProfileToggle' contains an invalid string.
else
{
BFS.Dialog.ShowMessageErrorMonospaced("Value of ProfileToggle Script Setting is incorrect.");
}
}
}