public void Apply(MainForm form) { //Thumbnail cloning WindowHandle handle = null; if (WindowId.HasValue) { handle = WindowHandle.FromHandle(WindowId.Value); } else if (WindowTitle != null) { var seeker = new ByTitleWindowSeeker(WindowTitle) { OwnerHandle = form.Handle, SkipNotVisibleWindows = MustBeVisible }; seeker.Refresh(); handle = seeker.Windows.FirstOrDefault(); } else if (WindowClass != null) { var seeker = new ByClassWindowSeeker(WindowClass) { OwnerHandle = form.Handle, SkipNotVisibleWindows = MustBeVisible }; seeker.Refresh(); handle = seeker.Windows.FirstOrDefault(); } if (handle != null) { form.SetThumbnail(handle, Region); } //Size if (StartSize.HasValue) { form.ClientSize = StartSize.Value; } //Position if (StartLocation.HasValue) { form.Location = StartLocation.Value; } else if (StartScreenPosition.HasValue) { form.PositionLock = StartScreenPosition.Value; } //Other features if (EnableClickForwarding) { form.ClickForwardingEnabled = true; } //Fullscreen if (Fullscreen) { form.IsFullscreen = true; } //GUI form.IsChromeVisible = !DisableChrome; form.Opacity = (double)Opacity / 255.0; }
public void Apply(MainForm form) { Log.Write("Applying command line launch parameters"); form.Opacity = (double)Opacity / 255.0; //Seek handle for thumbnail cloning WindowHandle handle = null; if (WindowId.HasValue) { handle = WindowHandle.FromHandle(WindowId.Value); } else if (WindowTitle != null) { var seeker = new ByTitleWindowSeeker(WindowTitle) { OwnerHandle = form.Handle, SkipNotVisibleWindows = MustBeVisible }; seeker.Refresh(); handle = seeker.Windows.FirstOrDefault(); } else if (WindowClass != null) { var seeker = new ByClassWindowSeeker(WindowClass) { OwnerHandle = form.Handle, SkipNotVisibleWindows = MustBeVisible }; seeker.Refresh(); handle = seeker.Windows.FirstOrDefault(); } if (StartPositionLock.HasValue) { form.PositionLock = StartPositionLock.Value; } //Clone any found handle (this applies thumbnail and aspect ratio) if (handle != null) { form.SetThumbnail(handle, Region); } //Adaptive size handling if (!StartSize.HasValue && (StartWidth.HasValue || StartHeight.HasValue)) { if (StartWidth.HasValue) { StartSize = new Size(StartWidth.Value, form.ComputeHeightFromWidth(StartWidth.Value)); } else { StartSize = new Size(form.ComputeWidthFromHeight(StartHeight.Value), StartHeight.Value); } } //Size and location start values if (StartLocation.HasValue && StartSize.HasValue) { form.StartPosition = System.Windows.Forms.FormStartPosition.Manual; form.Location = StartLocation.Value; form.ClientSize = StartSize.Value; } else if (StartLocation.HasValue) { form.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultBounds; form.Location = StartLocation.Value; } else if (StartSize.HasValue) { form.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultLocation; form.ClientSize = StartSize.Value; } //Other features if (EnableClickForwarding) { form.ClickForwardingEnabled = true; } if (EnableClickThrough) { form.ClickThroughEnabled = true; } form.IsChromeVisible = !DisableChrome; //Fullscreen if (Fullscreen) { form.FullscreenManager.SwitchFullscreen(); } }
public void Apply(MainForm form) { //GUI form.IsChromeVisible = !DisableChrome; form.Opacity = (double)Opacity / 255.0; //Seek handle for thumbnail cloning WindowHandle handle = null; if (WindowId.HasValue) { handle = WindowHandle.FromHandle(WindowId.Value); } else if (WindowTitle != null) { var seeker = new ByTitleWindowSeeker(WindowTitle) { OwnerHandle = form.Handle, SkipNotVisibleWindows = MustBeVisible }; seeker.Refresh(); handle = seeker.Windows.FirstOrDefault(); } else if (WindowClass != null) { var seeker = new ByClassWindowSeeker(WindowClass) { OwnerHandle = form.Handle, SkipNotVisibleWindows = MustBeVisible }; seeker.Refresh(); handle = seeker.Windows.FirstOrDefault(); } //Position lock if (StartPositionLock.HasValue) { form.PositionLock = StartPositionLock.Value; } //Size and location start values if (StartLocation.HasValue && StartSize.HasValue) { form.StartPosition = System.Windows.Forms.FormStartPosition.Manual; form.Location = StartLocation.Value; form.ClientSize = StartSize.Value; } else if (StartLocation.HasValue) { form.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultBounds; form.Location = StartLocation.Value; } else if (StartSize.HasValue) { form.StartPosition = System.Windows.Forms.FormStartPosition.WindowsDefaultLocation; form.ClientSize = StartSize.Value; } //Clone any found handle if (handle != null) { form.SetThumbnail(handle, Region); } //Other features if (EnableClickForwarding) { form.ClickForwardingEnabled = true; } //Fullscreen if (Fullscreen) { form.FullscreenManager.SwitchFullscreen(); } }