-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTrayService.cs
More file actions
48 lines (38 loc) · 1.28 KB
/
Copy pathTrayService.cs
File metadata and controls
48 lines (38 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using System;
using System.Drawing;
using System.Windows.Forms;
namespace WhisperStrip;
public class TrayService
{
private static NotifyIcon _trayIcon = null!;
public static void Initialize()
{
_trayIcon = new NotifyIcon
{
Icon = SystemIcons.Application,
Visible = true,
Text = "WhisperStrip"
};
var menu = new ContextMenuStrip();
var settingsItem = new ToolStripMenuItem("Settings");
settingsItem.Click += (s, e) => { new MainWindow().Show(); };
menu.Items.Add(settingsItem);
var pauseItem = new ToolStripMenuItem("Pause");
pauseItem.Click += (s, e) =>
{
StripManager.Instance.TogglePause();
pauseItem.Text = StripManager.Instance.IsPaused ? "Resume" : "Pause";
};
menu.Items.Add(pauseItem);
menu.Items.Add(new ToolStripSeparator());
var exitItem = new ToolStripMenuItem("Exit WhisperStrip");
exitItem.Click += (s, e) =>
{
_trayIcon.Visible = false;
System.Windows.Application.Current.Shutdown();
};
menu.Items.Add(exitItem);
_trayIcon.ContextMenuStrip = menu;
_trayIcon.DoubleClick += (s, e) => { new MainWindow().Show(); };
}
}