public void Initialize() { _runOnStartup = new RunOnStartup(); _mainViewModel = new MainViewModel(); _mainViewModel.SplashScreenComplete += SplashScreenComplete; WindowManager.Instance.ShowWindow(_mainViewModel); _hotkeyManager = new HotkeyManager(_mainViewModel.View); try { _hotkeyManager.Register(new Hotkey(ModifierKeys.Windows, Key.G)); } catch (Win32Exception) { // hotkey already registered by another program } _hotkeyManager.HotkeyPressed += (sender, args) => DisplaySplashScreen(); _tray = new Tray(); _tray.RunAtStartup = _runOnStartup.GetRunStartup(); _tray.ChangeRunAtStartup += ChangeRunAtStartup; _tray.ExitApplication += ExitApplication; _tray.DisplayAboutDialog += DisplayAboutDialog; _tray.DisplaySplashScreen += (sender, args) => DisplaySplashScreen(); _tray.Show(); }
private static async Task <bool?> IsRunOnStartupEnabled() { #if MS_STORE return(await RunOnStartup.IsRunOnStartupEnabled()); #else return(Utils.GetLaunchOnStartupRegistry()); #endif }
/// <summary> /// Create the context menu for the notification icon. /// </summary> private void CreateContextMenu() { ContextMenuStrip menu = new ContextMenuStrip(); menu.Items.Add("Settings").Click += (s, e) => { if (_settingsWindow != null) { _settingsWindow.Focus(); } else { _settingsWindow = new SettingsWindow(); _settingsWindow.Show(); _settingsWindow.Closed += (sender, args) => { _settingsWindow = null; }; } }; menu.Items.Add("About").Click += (s, e) => { if (_aboutWindow != null) { _aboutWindow.Focus(); } else { _aboutWindow = new AboutWindow(); _aboutWindow.Show(); _aboutWindow.Closed += (sender, args) => { _aboutWindow = null; }; } }; var startUpItem = new ToolStripMenuItem("Run at Windows startup"); startUpItem.Checked = RunOnStartup.isRunOnStartup(); startUpItem.Click += (s, e) => { startUpItem.Checked = !startUpItem.Checked; if (startUpItem.Checked) { RunOnStartup.setRunOnStartup(true); } else { RunOnStartup.setRunOnStartup(false); } }; menu.Items.Add(startUpItem); menu.Items.Add(new ToolStripSeparator()); menu.Items.Add("Exit").Click += (s, e) => ExitApp(); _notifyIcon.ContextMenuStrip = menu; }
private async Task <bool> save(Settings settings) { using (Performance.Measure("saving global shortcuts")) { this.saveShortCuts(); } Toggl.SetDefaultProject(settings.DefaultProject.ProjectID, settings.DefaultProject.TaskID); Toggl.SetKeepEndTimeFixed(settings.KeepEndTimeFixed); #if MS_STORE await RunOnStartup.TrySetRunOnStartup(settings.LaunchOnStartup); #else Utils.SaveLaunchOnStartupRegistry(settings.LaunchOnStartup); #endif return(Toggl.SetSettings(settings.TogglSettings)); }
private void checkBoxStartAutomatically_CheckedChanged(object sender, EventArgs e) { // Command to run var command = "\"" + AppDomain.CurrentDomain.BaseDirectory + "GOES.exe\" --min"; // Update settings file this._settings.RunOnStartup = ((CheckBox)sender).Checked; SettingsFileUtils.SaveSettings(this._settings, this._settingsFile); if (this._settings.RunOnStartup) { RunOnStartup.AddToStartup("GOES Wallpaper", command); } else { RunOnStartup.RemoveFromStartup(command); } }