aboutsummaryrefslogtreecommitdiffstats
path: root/src/electron/ipc-api
diff options
context:
space:
mode:
authorLibravatar Vijay A <avijayr@protonmail.com>2021-08-24 10:22:22 +0530
committerLibravatar Vijay A <avijayr@protonmail.com>2021-08-24 10:22:22 +0530
commit2dc7b2fd3976853f3dc2f182f12cfe11c3b83688 (patch)
tree22fc7a9e4d3ddd2be16821c871259fb067c7df30 /src/electron/ipc-api
parentdocs: upgraded version to 5.6.1-beta.1 (diff)
parent5.6.1-nightly.37 [skip ci] (diff)
downloadferdium-app-2dc7b2fd3976853f3dc2f182f12cfe11c3b83688.tar.gz
ferdium-app-2dc7b2fd3976853f3dc2f182f12cfe11c3b83688.tar.zst
ferdium-app-2dc7b2fd3976853f3dc2f182f12cfe11c3b83688.zip
Merge remote-tracking branch 'origin/develop' into release
Diffstat (limited to 'src/electron/ipc-api')
-rw-r--r--src/electron/ipc-api/dnd.js9
-rw-r--r--src/electron/ipc-api/focusState.js9
-rw-r--r--src/electron/ipc-api/index.js2
3 files changed, 19 insertions, 1 deletions
diff --git a/src/electron/ipc-api/dnd.js b/src/electron/ipc-api/dnd.js
index da4d7781e..6fb8999a3 100644
--- a/src/electron/ipc-api/dnd.js
+++ b/src/electron/ipc-api/dnd.js
@@ -1,16 +1,23 @@
1import { ipcMain } from 'electron'; 1import { ipcMain } from 'electron';
2import { getDoNotDisturb } from '@meetfranz/electron-notification-state'; 2import { getDoNotDisturb } from 'macos-notification-state';
3import { isMac } from '../../environment';
3 4
4const debug = require('debug')('Ferdi:ipcApi:dnd'); 5const debug = require('debug')('Ferdi:ipcApi:dnd');
5 6
6export default async () => { 7export default async () => {
7 ipcMain.handle('get-dnd', async () => { 8 ipcMain.handle('get-dnd', async () => {
9 if (!isMac) {
10 debug('Not on macOS, returning', false);
11 return false;
12 }
13
8 try { 14 try {
9 const isDND = getDoNotDisturb(); 15 const isDND = getDoNotDisturb();
10 debug('Fetching DND state, set to', isDND); 16 debug('Fetching DND state, set to', isDND);
11 return isDND; 17 return isDND;
12 } catch (e) { 18 } catch (e) {
13 console.error(e); 19 console.error(e);
20 return false;
14 } 21 }
15 }); 22 });
16}; 23};
diff --git a/src/electron/ipc-api/focusState.js b/src/electron/ipc-api/focusState.js
new file mode 100644
index 000000000..0b4a0d8f3
--- /dev/null
+++ b/src/electron/ipc-api/focusState.js
@@ -0,0 +1,9 @@
1export default (params) => {
2 params.mainWindow.on('focus', () => {
3 params.mainWindow.webContents.send('isWindowFocused', true);
4 });
5
6 params.mainWindow.on('blur', () => {
7 params.mainWindow.webContents.send('isWindowFocused', false);
8 });
9};
diff --git a/src/electron/ipc-api/index.js b/src/electron/ipc-api/index.js
index 999ac7d2d..5da1edc39 100644
--- a/src/electron/ipc-api/index.js
+++ b/src/electron/ipc-api/index.js
@@ -5,6 +5,7 @@ import download from './download';
5import localServer from './localServer'; 5import localServer from './localServer';
6import cld from './cld'; 6import cld from './cld';
7import dnd from './dnd'; 7import dnd from './dnd';
8import focusState from './focusState';
8 9
9export default (params) => { 10export default (params) => {
10 settings(params); 11 settings(params);
@@ -14,4 +15,5 @@ export default (params) => {
14 localServer(params); 15 localServer(params);
15 cld(params); 16 cld(params);
16 dnd(); 17 dnd();
18 focusState(params);
17}; 19};