Browse Source

Improved taskbar badge and system tray icon

pull/1873/head
Ramiro Saenz 7 years ago
parent
commit
093a29f344
  1. 11
      electron/main.js
  2. 3
      electron/tray.js

11
electron/main.js

@ -287,12 +287,8 @@ function updateBadge(title) {
tray.setBadge(messageCount, config.get('systemtray_indicator')); tray.setBadge(messageCount, config.get('systemtray_indicator'));
if (process.platform === 'win32') { // Windows if (process.platform === 'win32') {
if (messageCount === 0) { if (messageCount === 0) return mainWindow.setOverlayIcon(null, '');
mainWindow.setOverlayIcon(null, "");
return;
}
mainWindow.webContents.send('setBadge', messageCount); mainWindow.webContents.send('setBadge', messageCount);
} else { // macOS & Linux } else { // macOS & Linux
app.setBadgeCount(messageCount); app.setBadgeCount(messageCount);
@ -302,8 +298,7 @@ function updateBadge(title) {
} }
ipcMain.on('setBadge', function(event, messageCount, value) { ipcMain.on('setBadge', function(event, messageCount, value) {
var img = nativeImage.createFromDataURL(value); mainWindow.setOverlayIcon(nativeImage.createFromDataURL(value), messageCount.toString());
mainWindow.setOverlayIcon(img, messageCount.toString());
}); });
ipcMain.on('getConfig', function(event, arg) { ipcMain.on('getConfig', function(event, arg) {

3
electron/tray.js

@ -66,6 +66,7 @@ exports.setBadge = function(messageCount, showUnreadTray) {
if (process.platform === 'darwin' || !appIcon) return; if (process.platform === 'darwin' || !appIcon) return;
let icon; let icon;
messageCount = parseInt(messageCount);
if (process.platform === 'linux') { if (process.platform === 'linux') {
icon = messageCount > 0 && showUnreadTray ? 'IconTrayUnread.png' : 'IconTray.png'; icon = messageCount > 0 && showUnreadTray ? 'IconTrayUnread.png' : 'IconTray.png';
} else { } else {
@ -73,5 +74,5 @@ exports.setBadge = function(messageCount, showUnreadTray) {
} }
const iconPath = path.join(__dirname, `../resources/${icon}`); const iconPath = path.join(__dirname, `../resources/${icon}`);
appIcon.setImage(iconPath); appIcon.setImage(electron.nativeImage.createFromPath(iconPath));
}; };

Loading…
Cancel
Save