From 75239d3d3fc5f3c242b835f432ee28d2d46fc029 Mon Sep 17 00:00:00 2001 From: Greenfrogs <5961364+greenfrogs@users.noreply.github.com> Date: Thu, 14 May 2020 19:04:26 +0100 Subject: [PATCH] Immediately update unread badge icon on windows taskbar on preferences toggle, fixes #1355 --- source/browser.ts | 4 ++++ source/index.ts | 12 +++++------- source/menu.ts | 1 + 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/source/browser.ts b/source/browser.ts index 10b4102cd..3d88639b0 100644 --- a/source/browser.ts +++ b/source/browser.ts @@ -265,6 +265,10 @@ ipc.answerMain('toggle-video-autoplay', () => { toggleVideoAutoplay(); }); +ipc.answerMain('reload', () => { + location.reload(); +}) + function setDarkMode(): void { if (is.macos && config.get('followSystemAppearance')) { api.nativeTheme.themeSource = 'system'; diff --git a/source/index.ts b/source/index.ts index 23f1a56ad..30792691a 100644 --- a/source/index.ts +++ b/source/index.ts @@ -142,13 +142,11 @@ async function updateBadge(conversations: Conversation[]): Promise { tray.update(messageCount); if (is.windows) { - if (config.get('showUnreadBadge')) { - if (messageCount === 0) { - mainWindow.setOverlayIcon(null, ''); - } else { - // Delegate drawing of overlay icon to renderer process - updateOverlayIcon(await ipcMain.callRenderer(mainWindow, 'render-overlay-icon', messageCount)); - } + if (!config.get('showUnreadBadge') || messageCount === 0) { + mainWindow.setOverlayIcon(null, ''); + } else { + // Delegate drawing of overlay icon to renderer process + updateOverlayIcon(await ipcMain.callRenderer(mainWindow, 'render-overlay-icon', messageCount)); } } } diff --git a/source/menu.ts b/source/menu.ts index 8e7e1dba9..d5e687074 100644 --- a/source/menu.ts +++ b/source/menu.ts @@ -262,6 +262,7 @@ Press Command/Ctrl+R in Caprine to see your changes. checked: config.get('showUnreadBadge'), click() { config.set('showUnreadBadge', !config.get('showUnreadBadge')); + sendAction('reload'); } }, {