在工作时,我想禁用蓝色图标的通知,该通知是在我所在的频道中有任何活动时发生的。具体地说,我不希望某些闲散团队发出此通知:
有没有一种方法可以使整个闲置团队“静音”,这样我就不会收到该蓝色图标的通知?谢谢。
在工作时,我想禁用蓝色图标的通知,该通知是在我所在的频道中有任何活动时发生的。具体地说,我不希望某些闲散团队发出此通知:
有没有一种方法可以使整个闲置团队“静音”,这样我就不会收到该蓝色图标的通知?谢谢。
Answers:
我似乎没有Shawn提到的设置,但是我可以通过打开/usr/lib/slack/resources/app.asar.unpacked/src/static
目录,制作slack-taskbar-rest.png
文件副本并将其重命名slack-taskbar-unread.png
为覆盖蓝点的版本来完成此工作。
当然,这消除了所有团队的蓝点,但这就是我想要的。
编辑(2019-05-28):想法仍然是正确的,但是对于Ubuntu上的最新Slack版本(3.4.2),必须替换另外两个文件。以下为我工作:
cd /usr/lib/slack/resources/app.asar.unpacked/src/static
sudo cp slack-taskbar-rest.ico slack-taskbar-unread.ico
sudo cp slack-taskbar-rest.png slack-taskbar-unread.png
sudo cp slack-taskbar-rest-linux.png slack-taskbar-unread-linux.png
与notatoad的想法相同,但是使用Linux上最新的Slack版本(3.4.2),还有两个文件需要覆盖,以用“其余”图标替换“蓝点”图标。我做了以下事情:
cd /usr/lib/slack/resources/app.asar.unpacked/src/static
sudo cp slack-taskbar-rest.ico slack-taskbar-unread.ico
sudo cp slack-taskbar-rest.png slack-taskbar-unread.png
sudo cp slack-taskbar-rest-linux.png slack-taskbar-unread-linux.png
重新启动Slack之后,我们摆脱了蓝点。
最新版本4.1.2在Linux上无法读取.ico文件,因此更改src
为dist
。相反,它将建立一个徽章+基地。幸运的unread>0
是,支票是由徽章负责的,只在缩小的JS中出现一次,因此很容易打补丁。您将需要ASAR工具来修改Electron存档(npm install -g asar
):
mkdir -p ~/tmp/slack
asar extract /usr/lib/slack/resources/app.asar ~/tmp/slack
sed -i 's/unreads>0/unreads<0/g' ~/tmp/slack/dist/main.1.*.js
sudo rm /usr/lib/slack/resources/app.asar
sudo rm -rf /usr/lib/slack/resources/app.asar.unpacked
sudo asar pack ~/tmp/slack /usr/lib/slack/resources/app.asar
sudo mv ~/tmp/slack /usr/lib/slack/resources/app.asar.unpacked
sed -i 's/unreads>0/unreads<0/g' ~/tmp/slack/dist/main.1.*.js
要 sed -i 's/unreads>0/unreads<0/g' ~/tmp/slack/dist/main.2.*.js
我修改我的答案,但我不能在此刻验证修正。我为'setTrayIcon'添加了grep,以查找相关文件,并再次检查了'unreads> 0'仍然是检查。
Slack版本4.2.0,同时删除蓝色(通知)和红色(突出显示)通知点:
mkdir ~/tmp/slack
asar extract /usr/lib/slack/resources/app.asar ~/tmp/slack
sed -i 's/unreads>0/unreads<0/g' ~/tmp/slack/dist/main.2.*.js
sed -i 's/unreadHighlights>0/unreadHighlights<0/g' ~/tmp/slack/dist/main.2.*.js
sudo rm /usr/lib/slack/resources/app.asar
sudo rm -rf /usr/lib/slack/resources/app.asar.unpacked
sudo asar pack ~/tmp/slack /usr/lib/slack/resources/app.asar
rm -rf ~/tmp/slack
这是什么-它解压缩松弛的源代码并编辑检查,以显示从numberOfMessages> 0到numberOfMessages <0的未读和突出显示的消息。这意味着当未读或突出显示的邮件少于0时,它将显示蓝色/红色点。您的未读消息将永远不会少于零,因此您将永远不会在任务栏中看到蓝色/红色点。此后,它将再次打包代码,并用已编辑的代码替换原始版本。
我看不到每个渠道修改此方法的方法,但是您可以每个团队更改它。在您的首选项中,转到“通知”,然后取消选中“在Slack的图标上显示徽章以指示新活动”,然后应该这样做。
从4.1.2版本开始,这似乎不起作用,因为电子应用程序似乎没有使用磁盘上的资产或其他东西。我向同事问了这个问题,并得到以下对我有用的东西:
mkdir ~/tmp/slack
asar extract /usr/lib/slack/resources/app.asar ~/tmp/slack
sed -i 's/unreads>0/unreads<0/g' ~/tmp/slack/dist/main.1.*.js
sudo rm /usr/lib/slack/resources/app.asar
sudo rm -rf /usr/lib/slack/resources/app.asar.unpacked
sudo asar pack ~/tmp/slack /usr/lib/slack/resources/app.asar
rm -rf ~/tmp/slack
也要为Windows用户提供解决方案:
以下简短的PowerShell脚本将通过用空白的点替换图标来“禁用”通知点(如其他答案所建议)。
# Set the path to the current Slack version here
# (by default the Slack installer puts it in %LocalAppData%)
$currentSlackVersionDir = "$env:LOCALAPPDATA\slack\app-4.3.4"
# Only change the following values if the names of the icons change
$blankIconFile = 'slack-taskbar-rest.ico'
$dottedIconFiles = 'slack-taskbar-highlight.ico', 'slack-taskbar-unread.ico'
# Get default icons folder path
$iconsFolder = "$currentSlackVersionDir\resources\app.asar.unpacked\dist\static"
foreach ($dottedIcon in $dottedIconFiles ) {
# Rename dotted icon (as backup)
Rename-Item -Path "$iconsFolder\$dottedIcon" -NewName "$iconsFolder\$dottedIcon.bak.ico"
# Copy blank icon using its name
Copy-Item -Path "$iconsFolder\$blankIconFile" -Destination "$iconsFolder\$dottedIcon"
}
当然,您也可以手动执行此操作,但是对于每个应用程序更新,您可能都必须重做一次。(此脚本的改进版本还可以尝试$currentSlackVersionDir
自动找到该脚本,随时进行编辑!:-))