aboutsummaryrefslogtreecommitdiffstats
path: root/src/electron/ipc-api/dnd.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/electron/ipc-api/dnd.ts')
-rw-r--r--src/electron/ipc-api/dnd.ts23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/electron/ipc-api/dnd.ts b/src/electron/ipc-api/dnd.ts
new file mode 100644
index 000000000..6fb8999a3
--- /dev/null
+++ b/src/electron/ipc-api/dnd.ts
@@ -0,0 +1,23 @@
1import { ipcMain } from 'electron';
2import { getDoNotDisturb } from 'macos-notification-state';
3import { isMac } from '../../environment';
4
5const debug = require('debug')('Ferdi:ipcApi:dnd');
6
7export default async () => {
8 ipcMain.handle('get-dnd', async () => {
9 if (!isMac) {
10 debug('Not on macOS, returning', false);
11 return false;
12 }
13
14 try {
15 const isDND = getDoNotDisturb();
16 debug('Fetching DND state, set to', isDND);
17 return isDND;
18 } catch (e) {
19 console.error(e);
20 return false;
21 }
22 });
23};