private void Application_Startup(object sender, StartupEventArgs e) { var config = Settings.LoadSettings(); Localization.SetLanguage(config.Language); Resources.Remove("AsyncImagesEnabled"); Resources.Add("AsyncImagesEnabled", config.AsyncImageLoading); Settings.ConfigureLogger(); Settings.ConfigureCef(); #if !DEBUG AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; #endif if (Mutex.TryOpenExisting(instanceMuxet, out var mutex)) { var client = new PipeClient(Settings.GetAppConfigValue("PipeEndpoint")); if (e.Args.Count() > 0 && e.Args.Contains("-command")) { var commandArgs = e.Args[1].Split(new char[] { ':' }); var command = commandArgs[0]; var args = commandArgs.Count() > 1 ? commandArgs[1] : string.Empty; client.InvokeCommand(command, args); } else { client.InvokeCommand(CmdlineCommands.Focus, string.Empty); } logger.Info("Application already running, shutting down."); Shutdown(); return; } else { appMutex = new Mutex(true, instanceMuxet); } LoadThirdPartyTools(); var mainWindow = new MainWindow(); Current.MainWindow = MainWindow; mainWindow.Show(); logger.Info("Application started"); }