using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Valve.VR; using VDash.Overlay; using VDash.Utilities; namespace VDash { /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); // Connect to VR runtime... EVRInitError initError = EVRInitError.None; var ret = OpenVR.Init(ref initError, EVRApplicationType.VRApplication_Overlay); if (initError != EVRInitError.None) { throw new Exception($"Error connecting to VR: {initError.ToString()}"); } //StartOverlayWindow("Discord"); //StartOverlayWindow("Microsoft Visual Studio"); //StartOverlayWindow("Notepad++"); //StartOverlayWindow("Putty"); //StartOverlayWindow("Paint"); //Overlay.WindowOverlay obsoverlay = new Overlay.WindowOverlay("obs", "obs", new WindowSelectors.FromProcessName("obs64"), false); //obsoverlay.Create(); //obsoverlay.DestroyOnNoWindowFound = true; //var bringWindow = new Overlay.Actions.BringWindowToFrontAction(true); //obsoverlay.OverlayShownActions.Add(bringWindow); var displays = User32.GetDisplays(); MonitorOverlay mo0 = new MonitorOverlay("left", "Left Monitor", displays[0]); mo0.Create(); MonitorOverlay mo1 = new MonitorOverlay("center", "Center Monitor", displays[1]); mo1.Create(); MonitorOverlay mo2= new MonitorOverlay("right", "Right Monitor", displays[2]); mo2.Create(); } //This is just for debugging I swear int count = 0; IOverlay StartOverlayWindow(string windowFilter) { var ws = new WindowSelectors.FromWindowTitle(windowFilter, WindowSelectors.FromWindowTitle.TitleSearchType.Contains); Overlay.WindowOverlay overlay = new Overlay.WindowOverlay($"ws{count}", "Loading...", ws, true); overlay.Create(); var bringWindow = new Overlay.Actions.BringWindowToFrontAction(true); overlay.OverlayShownActions.Add(bringWindow); count++; return overlay; } } }