Merge 310e661326
into 5d675efb64
This commit is contained in:
commit
c87a0d646f
5 changed files with 159 additions and 11 deletions
|
@ -28,7 +28,8 @@
|
|||
"electron-updater": "^6.3.4"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@vencord/venmic": "^6.1.0"
|
||||
"@vencord/venmic": "^6.1.0",
|
||||
"@homebridge/dbus-native": "0.6.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@fal-works/esbuild-plugin-global-externals": "^2.1.2",
|
||||
|
|
133
pnpm-lock.yaml
133
pnpm-lock.yaml
|
@ -20,6 +20,9 @@ importers:
|
|||
specifier: ^6.3.4
|
||||
version: 6.3.4
|
||||
optionalDependencies:
|
||||
'@homebridge/dbus-native':
|
||||
specifier: 0.6.0
|
||||
version: 0.6.0
|
||||
'@vencord/venmic':
|
||||
specifier: ^6.1.0
|
||||
version: 6.1.0
|
||||
|
@ -310,6 +313,17 @@ packages:
|
|||
'@gar/promisify@1.1.3':
|
||||
resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
|
||||
|
||||
'@homebridge/dbus-native@0.6.0':
|
||||
resolution: {integrity: sha512-xObqQeYHTXmt6wsfj10+krTo4xbzR9BgUfX2aQ+edDC9nc4ojfzLScfXCh3zluAm6UCowKw+AFfXn6WLWUOPkg==}
|
||||
hasBin: true
|
||||
|
||||
'@homebridge/long@5.2.1':
|
||||
resolution: {integrity: sha512-i5Df8R63XNPCn+Nj1OgAoRdw9e+jHUQb3CNUbvJneI2iu3j4+OtzQj+5PA1Ce+747NR1SPqZSvyvD483dOT3AA==}
|
||||
|
||||
'@homebridge/put@0.0.8':
|
||||
resolution: {integrity: sha512-mwxLHHqKebOmOSU0tsPEWQSBHGApPhuaqtNpCe7U+AMdsduweANiu64E9SXXUtdpyTjsOpgSMLhD1+kbLHD2gA==}
|
||||
engines: {node: '>=0.3.0'}
|
||||
|
||||
'@humanwhocodes/module-importer@1.0.1':
|
||||
resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
|
||||
engines: {node: '>=12.22'}
|
||||
|
@ -989,6 +1003,9 @@ packages:
|
|||
resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
duplexer@0.1.2:
|
||||
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
|
||||
|
||||
eastasianwidth@0.2.0:
|
||||
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
|
||||
|
||||
|
@ -1204,6 +1221,9 @@ packages:
|
|||
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
event-stream@4.0.1:
|
||||
resolution: {integrity: sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==}
|
||||
|
||||
expand-tilde@2.0.2:
|
||||
resolution: {integrity: sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
@ -1308,6 +1328,9 @@ packages:
|
|||
resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
from@0.1.7:
|
||||
resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
|
||||
|
||||
fs-constants@1.0.0:
|
||||
resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
|
||||
|
||||
|
@ -1476,6 +1499,11 @@ packages:
|
|||
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
|
||||
engines: {node: '>= 0.4'}
|
||||
|
||||
hexy@0.3.5:
|
||||
resolution: {integrity: sha512-UCP7TIZPXz5kxYJnNOym+9xaenxCLor/JyhKieo8y8/bJWunGh9xbhy3YrgYJUQ87WwfXGm05X330DszOfINZw==}
|
||||
engines: {node: '>=10.4'}
|
||||
hasBin: true
|
||||
|
||||
homedir-polyfill@1.0.3:
|
||||
resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
@ -1834,6 +1862,9 @@ packages:
|
|||
resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
map-stream@0.0.7:
|
||||
resolution: {integrity: sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ==}
|
||||
|
||||
map-visit@1.0.0:
|
||||
resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
@ -2102,6 +2133,9 @@ packages:
|
|||
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
|
||||
engines: {node: '>=16 || 14 >=14.18'}
|
||||
|
||||
pause-stream@0.0.11:
|
||||
resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==}
|
||||
|
||||
pe-library@0.4.1:
|
||||
resolution: {integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==}
|
||||
engines: {node: '>=12', npm: '>=6'}
|
||||
|
@ -2393,6 +2427,9 @@ packages:
|
|||
resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
split@1.0.1:
|
||||
resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==}
|
||||
|
||||
sprintf-js@1.1.3:
|
||||
resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
|
||||
|
||||
|
@ -2411,6 +2448,9 @@ packages:
|
|||
resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
stream-combiner@0.2.2:
|
||||
resolution: {integrity: sha512-6yHMqgLYDzQDcAkL+tjJDC5nSNuNIx0vZtRZeiPh7Saef7VHX9H5Ijn9l2VIol2zaNYlYEX6KyuT/237A58qEQ==}
|
||||
|
||||
string-width@4.2.3:
|
||||
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
|
||||
engines: {node: '>=8'}
|
||||
|
@ -2486,6 +2526,9 @@ packages:
|
|||
text-table@0.2.0:
|
||||
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
||||
|
||||
through@2.3.8:
|
||||
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
|
||||
|
||||
tiny-typed-emitter@2.1.0:
|
||||
resolution: {integrity: sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA==}
|
||||
|
||||
|
@ -2688,6 +2731,14 @@ packages:
|
|||
resolution: {integrity: sha512-Z/DRB0ZAKj5vAQg++XsfQQKfT73Vfj5n5lKIVXobBDQEva6NHWUTxOA6OohJmEcpoy8AEqBmSGkXXAnFwt5qAA==}
|
||||
engines: {node: '>= 16'}
|
||||
|
||||
xml2js@0.6.2:
|
||||
resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==}
|
||||
engines: {node: '>=4.0.0'}
|
||||
|
||||
xmlbuilder@11.0.1:
|
||||
resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
|
||||
engines: {node: '>=4.0'}
|
||||
|
||||
xmlbuilder@15.1.1:
|
||||
resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==}
|
||||
engines: {node: '>=8.0'}
|
||||
|
@ -2912,6 +2963,23 @@ snapshots:
|
|||
|
||||
'@gar/promisify@1.1.3': {}
|
||||
|
||||
'@homebridge/dbus-native@0.6.0':
|
||||
dependencies:
|
||||
'@homebridge/long': 5.2.1
|
||||
'@homebridge/put': 0.0.8
|
||||
event-stream: 4.0.1
|
||||
hexy: 0.3.5
|
||||
minimist: 1.2.8
|
||||
safe-buffer: 5.2.1
|
||||
xml2js: 0.6.2
|
||||
optional: true
|
||||
|
||||
'@homebridge/long@5.2.1':
|
||||
optional: true
|
||||
|
||||
'@homebridge/put@0.0.8':
|
||||
optional: true
|
||||
|
||||
'@humanwhocodes/module-importer@1.0.1': {}
|
||||
|
||||
'@humanwhocodes/retry@0.3.0': {}
|
||||
|
@ -3215,7 +3283,7 @@ snapshots:
|
|||
|
||||
app-builder-bin@5.0.0-alpha.7: {}
|
||||
|
||||
app-builder-lib@25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)):
|
||||
app-builder-lib@25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)):
|
||||
dependencies:
|
||||
'@develar/schema-utils': 2.6.5
|
||||
'@electron/notarize': 2.3.2
|
||||
|
@ -3230,7 +3298,7 @@ snapshots:
|
|||
builder-util-runtime: 9.2.5
|
||||
chromium-pickle-js: 0.2.0
|
||||
debug: 4.3.7
|
||||
dmg-builder: 25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
|
||||
dmg-builder: 25.0.5(electron-builder-squirrel-windows@25.0.5)
|
||||
ejs: 3.1.10
|
||||
electron-builder-squirrel-windows: 25.0.5(dmg-builder@25.0.5)
|
||||
electron-publish: 25.0.3
|
||||
|
@ -3745,9 +3813,9 @@ snapshots:
|
|||
'@types/react': 17.0.2
|
||||
moment: 2.30.1
|
||||
|
||||
dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)):
|
||||
dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5):
|
||||
dependencies:
|
||||
app-builder-lib: 25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
|
||||
app-builder-lib: 25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
|
||||
builder-util: 25.0.3
|
||||
builder-util-runtime: 9.2.5
|
||||
fs-extra: 10.1.0
|
||||
|
@ -3782,6 +3850,9 @@ snapshots:
|
|||
|
||||
dotenv@16.4.5: {}
|
||||
|
||||
duplexer@0.1.2:
|
||||
optional: true
|
||||
|
||||
eastasianwidth@0.2.0: {}
|
||||
|
||||
ejs@3.1.10:
|
||||
|
@ -3790,7 +3861,7 @@ snapshots:
|
|||
|
||||
electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5):
|
||||
dependencies:
|
||||
app-builder-lib: 25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
|
||||
app-builder-lib: 25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
|
||||
archiver: 5.3.2
|
||||
builder-util: 25.0.3
|
||||
fs-extra: 10.1.0
|
||||
|
@ -3801,11 +3872,11 @@ snapshots:
|
|||
|
||||
electron-builder@25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)):
|
||||
dependencies:
|
||||
app-builder-lib: 25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5)))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
|
||||
app-builder-lib: 25.0.5(dmg-builder@25.0.5(electron-builder-squirrel-windows@25.0.5))(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
|
||||
builder-util: 25.0.3
|
||||
builder-util-runtime: 9.2.5
|
||||
chalk: 4.1.2
|
||||
dmg-builder: 25.0.5(electron-builder-squirrel-windows@25.0.5(dmg-builder@25.0.5))
|
||||
dmg-builder: 25.0.5(electron-builder-squirrel-windows@25.0.5)
|
||||
fs-extra: 10.1.0
|
||||
is-ci: 3.0.1
|
||||
lazy-val: 1.0.5
|
||||
|
@ -4129,6 +4200,17 @@ snapshots:
|
|||
|
||||
esutils@2.0.3: {}
|
||||
|
||||
event-stream@4.0.1:
|
||||
dependencies:
|
||||
duplexer: 0.1.2
|
||||
from: 0.1.7
|
||||
map-stream: 0.0.7
|
||||
pause-stream: 0.0.11
|
||||
split: 1.0.1
|
||||
stream-combiner: 0.2.2
|
||||
through: 2.3.8
|
||||
optional: true
|
||||
|
||||
expand-tilde@2.0.2:
|
||||
dependencies:
|
||||
homedir-polyfill: 1.0.3
|
||||
|
@ -4239,6 +4321,9 @@ snapshots:
|
|||
dependencies:
|
||||
map-cache: 0.2.2
|
||||
|
||||
from@0.1.7:
|
||||
optional: true
|
||||
|
||||
fs-constants@1.0.0: {}
|
||||
|
||||
fs-extra@10.1.0:
|
||||
|
@ -4451,6 +4536,9 @@ snapshots:
|
|||
dependencies:
|
||||
function-bind: 1.1.2
|
||||
|
||||
hexy@0.3.5:
|
||||
optional: true
|
||||
|
||||
homedir-polyfill@1.0.3:
|
||||
dependencies:
|
||||
parse-passwd: 1.0.0
|
||||
|
@ -4793,6 +4881,9 @@ snapshots:
|
|||
|
||||
map-cache@0.2.2: {}
|
||||
|
||||
map-stream@0.0.7:
|
||||
optional: true
|
||||
|
||||
map-visit@1.0.0:
|
||||
dependencies:
|
||||
object-visit: 1.0.1
|
||||
|
@ -5075,6 +5166,11 @@ snapshots:
|
|||
lru-cache: 10.4.3
|
||||
minipass: 7.1.2
|
||||
|
||||
pause-stream@0.0.11:
|
||||
dependencies:
|
||||
through: 2.3.8
|
||||
optional: true
|
||||
|
||||
pe-library@0.4.1: {}
|
||||
|
||||
pend@1.2.0: {}
|
||||
|
@ -5387,6 +5483,11 @@ snapshots:
|
|||
dependencies:
|
||||
extend-shallow: 3.0.2
|
||||
|
||||
split@1.0.1:
|
||||
dependencies:
|
||||
through: 2.3.8
|
||||
optional: true
|
||||
|
||||
sprintf-js@1.1.3: {}
|
||||
|
||||
ssri@9.0.1:
|
||||
|
@ -5404,6 +5505,12 @@ snapshots:
|
|||
define-property: 0.2.5
|
||||
object-copy: 0.1.0
|
||||
|
||||
stream-combiner@0.2.2:
|
||||
dependencies:
|
||||
duplexer: 0.1.2
|
||||
through: 2.3.8
|
||||
optional: true
|
||||
|
||||
string-width@4.2.3:
|
||||
dependencies:
|
||||
emoji-regex: 8.0.0
|
||||
|
@ -5499,6 +5606,9 @@ snapshots:
|
|||
|
||||
text-table@0.2.0: {}
|
||||
|
||||
through@2.3.8:
|
||||
optional: true
|
||||
|
||||
tiny-typed-emitter@2.1.0: {}
|
||||
|
||||
tmp-promise@3.0.3:
|
||||
|
@ -5715,6 +5825,15 @@ snapshots:
|
|||
|
||||
xml-parser-xo@4.1.2: {}
|
||||
|
||||
xml2js@0.6.2:
|
||||
dependencies:
|
||||
sax: 1.4.1
|
||||
xmlbuilder: 11.0.1
|
||||
optional: true
|
||||
|
||||
xmlbuilder@11.0.1:
|
||||
optional: true
|
||||
|
||||
xmlbuilder@15.1.1: {}
|
||||
|
||||
y18n@5.0.8: {}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
* Copyright (c) 2023 Vendicated and Vencord contributors
|
||||
*/
|
||||
|
||||
import dbus from "@homebridge/dbus-native";
|
||||
import { app, NativeImage, nativeImage } from "electron";
|
||||
import { join } from "path";
|
||||
import { BADGE_DIR } from "shared/paths";
|
||||
|
@ -24,8 +25,28 @@ let lastIndex: null | number = -1;
|
|||
export function setBadgeCount(count: number) {
|
||||
switch (process.platform) {
|
||||
case "linux":
|
||||
if (count === -1) count = 0;
|
||||
app.setBadgeCount(count);
|
||||
if (typeof count !== "number") {
|
||||
throw new Error("count must be a number"); // sanitize
|
||||
}
|
||||
|
||||
const sessionBus = dbus.sessionBus();
|
||||
sessionBus.connection.message({
|
||||
type: dbus.messageType.signal,
|
||||
serial: 1,
|
||||
path: "/",
|
||||
interface: "com.canonical.Unity.LauncherEntry",
|
||||
member: "Update",
|
||||
signature: "sa{sv}",
|
||||
body: [
|
||||
process.env.container === "1"
|
||||
? "application://dev.vencord.Vesktop.desktop" // flatpak handling
|
||||
: "application://vesktop.desktop",
|
||||
[
|
||||
["count", ["i", count === -1 ? 0 : count]],
|
||||
["count-visible", ["b", count !== 0]]
|
||||
]
|
||||
]
|
||||
});
|
||||
break;
|
||||
case "darwin":
|
||||
if (count === 0) {
|
||||
|
|
|
@ -445,6 +445,10 @@ function createMainWindow() {
|
|||
});
|
||||
|
||||
if (Settings.store.staticTitle) win.on("page-title-updated", e => e.preventDefault());
|
||||
else if (Settings.store.appBadge)
|
||||
mainWin.webContents.on("page-title-updated", (_, title) => {
|
||||
mainWin.setTitle(title.replace(/^\(\d+\)\s*|•\s/, ""));
|
||||
});
|
||||
|
||||
initWindowBoundsListeners(win);
|
||||
if (!isDeckGameMode && (Settings.store.tray ?? true) && process.platform !== "darwin") initTray(win);
|
||||
|
|
|
@ -11,6 +11,7 @@ import { Settings } from "./settings";
|
|||
|
||||
let GuildReadStateStore: any;
|
||||
let NotificationSettingsStore: any;
|
||||
let MessageRequestStore: any;
|
||||
|
||||
export function setBadge() {
|
||||
if (Settings.store.appBadge === false) return;
|
||||
|
@ -18,10 +19,11 @@ export function setBadge() {
|
|||
try {
|
||||
const mentionCount = GuildReadStateStore.getTotalMentionCount();
|
||||
const pendingRequests = RelationshipStore.getPendingCount();
|
||||
const messageRequests = MessageRequestStore.getMessageRequestsCount();
|
||||
const hasUnread = GuildReadStateStore.hasAnyUnread();
|
||||
const disableUnreadBadge = NotificationSettingsStore.getDisableUnreadBadge();
|
||||
|
||||
let totalCount = mentionCount + pendingRequests;
|
||||
let totalCount = mentionCount + pendingRequests + messageRequests;
|
||||
if (!totalCount && hasUnread && !disableUnreadBadge) totalCount = -1;
|
||||
|
||||
VesktopNative.app.setBadgeCount(totalCount);
|
||||
|
@ -44,4 +46,5 @@ function waitForAndSubscribeToStore(name: string, cb?: (m: any) => void) {
|
|||
|
||||
waitForAndSubscribeToStore("GuildReadStateStore", store => (GuildReadStateStore = store));
|
||||
waitForAndSubscribeToStore("NotificationSettingsStore", store => (NotificationSettingsStore = store));
|
||||
waitForAndSubscribeToStore("MessageRequestStore", store => (MessageRequestStore = store));
|
||||
waitForAndSubscribeToStore("RelationshipStore");
|
||||
|
|
Reference in a new issue