[Bug Report] 当程序常驻右下角时,任务栏无法唤醒已启动的应用
Tofloor
poster avatar
Virus
deepin
2026-03-17 09:32
Author
这里有两个情况:
     1、[微信deb包]常驻任任务栏,然后在微信主窗口点[X]按钮,微信任务栏底部图标的横杠标识已经没有了,但是右下角常驻图标还在,这时候通过点击右下角图标可以唤醒微信(进程存活),但是任务栏无法唤醒。
 
   2、[企业微信]常驻任务栏,然后在企业微信主窗口点[X]按钮,企业微信任务栏图标底部横杠标识没有了,但是右下角常驻图标还在,通过右下角也是可以正常唤醒的(说明进程存活),但是这时候点击任务栏,会重启统信windows应用兼容引擎,导致企业微信重启。
Reply Favorite View the author
All Replies
BLumia
deepin
2026-03-17 10:07
#1

这个大概还真不算是bug。点击任务栏上没有窗口的图标的行为就是尝试运行对应的程序,任务栏是不知道驻留的应用实际有仍在运行的实例的。

Reply View the author
Virus
deepin
2026-03-17 17:15
#2
BLumia

这个大概还真不算是bug。点击任务栏上没有窗口的图标的行为就是尝试运行对应的程序,任务栏是不知道驻留的应用实际有仍在运行的实例的。

从开发的角度我可以理解。但是从用户的角度,我认为影响体验

Reply View the author
Virus
deepin
2026-03-17 17:16
#3
Virus

从开发的角度我可以理解。但是从用户的角度,我认为影响体验

那个微信是官方的deb包,不是在容器里跑的,还是能检测到的

Reply View the author
BLumia
deepin
2026-03-17 17:20
#4
Virus

那个微信是官方的deb包,不是在容器里跑的,还是能检测到的

你的意思是针对微信做特判咯?

不是特别脏的解决方案是,检测点击的应用程序有没有正在运行的pid,如果有就检查有没有对应的托盘,如果也有那就模拟点击托盘。但这其实完全假定了这个程序的期望表现行为和微信近似。假如有个程序就是支持多开且每个多开的实例都可以有托盘的话,上述处理方式反而会影响程序的正常行为。

实际恰当的做法是让应用(即微信)做单例支持,在应用自己尝试打开第二个实例的时候检查是否存在已有实例然后做直接唤出的行为,而不是让任务栏做检查。深度音乐就是一个很好的例子。

Reply View the author
Virus
deepin
2026-03-17 17:32
#5
BLumia

你的意思是针对微信做特判咯?

不是特别脏的解决方案是,检测点击的应用程序有没有正在运行的pid,如果有就检查有没有对应的托盘,如果也有那就模拟点击托盘。但这其实完全假定了这个程序的期望表现行为和微信近似。假如有个程序就是支持多开且每个多开的实例都可以有托盘的话,上述处理方式反而会影响程序的正常行为。

实际恰当的做法是让应用(即微信)做单例支持,在应用自己尝试打开第二个实例的时候检查是否存在已有实例然后做直接唤出的行为,而不是让任务栏做检查。深度音乐就是一个很好的例子。

我只是举我发现的这两个例子。肯定还有别的

Reply View the author
Virus
deepin
2026-03-17 17:36
#6
Virus

我只是举我发现的这两个例子。肯定还有别的

比如switchHosts,你说的深度音乐也有一样的问题。
我目前发现长期驻留在右下角的软件,在关闭主窗口后,从任务栏点图标都会重启,除了微信无反应。
目前就发现欧陆词典是正常的

Reply View the author
wy_8318
deepin
2026-03-18 09:48
#7
Virus

比如switchHosts,你说的深度音乐也有一样的问题。
我目前发现长期驻留在右下角的软件,在关闭主窗口后,从任务栏点图标都会重启,除了微信无反应。
目前就发现欧陆词典是正常的

deepin系统本来就是linux的身体,强行推出什么uengine,wine,linglong这些应用搞什么兼容跨平台,那是增加一些容器,是要吃CPU和RAM的,容器应用总线通道肠梗阻怎么办?能做到100%兼容,不顾此失彼吗?唉!真的太难了,你修复了一些漏洞,又会有一些新的漏洞等着你,天下没有无漏洞的系统,只有漏洞很少很小对安全和使用几乎无影响就OK了!(基于编程经验,仅代表个人观点。)

Reply View the author
Virus
deepin
2026-03-18 18:03
#8
wy_8318

deepin系统本来就是linux的身体,强行推出什么uengine,wine,linglong这些应用搞什么兼容跨平台,那是增加一些容器,是要吃CPU和RAM的,容器应用总线通道肠梗阻怎么办?能做到100%兼容,不顾此失彼吗?唉!真的太难了,你修复了一些漏洞,又会有一些新的漏洞等着你,天下没有无漏洞的系统,只有漏洞很少很小对安全和使用几乎无影响就OK了!(基于编程经验,仅代表个人观点。)

万事都是有利有弊的。不发展桌面应用,你我都没机会在此讨论。既然走了面向普通用户这一步,那肯定是要越做越好才行的。

Reply View the author