private void OnStartup(object sender, StartupEventArgs e)
{
ConfigureLogging();
_logger.Debug("AerialScreensaver: parameters: " + string.Join(", ", e.Args));
#if DEBUG
if (Debugger.IsAttached) {
UpdateManager.InitUpdateManagerForTests();
}
#endif
// decreased frame rate from 60fps to 30fps
Timeline.DesiredFrameRateProperty.OverrideMetadata(
typeof(Timeline),
new FrameworkPropertyMetadata { DefaultValue = 30 }
);
if (e.Args.Length == 0 || e.Args[0].ToLower().StartsWith("/s")) {
ShowScreensaver();
} else if (e.Args[0].ToLower().StartsWith("/p")) {
var previewHandle = Convert.ToInt32(e.Args[1]);
ShowPreview(new IntPtr(previewHandle));
} else if (e.Args[0].ToLower().StartsWith("/c")) {
var parentHwnd = IntPtr.Zero;
if (e.Args[0].Length > 3) {
parentHwnd = new IntPtr(int.Parse(e.Args[0].Substring(3)));
}
ShowConfiguration(parentHwnd);
}
}