Skip to content

除了deepin-wine,其他wine生成的托盘图标在被dde-dock收纳后均无法交互 #2262

@YihaoPeng

Description

@YihaoPeng

该问题是 #2263 的扩大。

问题现象

除了deepin-wine,其他wine(从4.0到6.16)生成的托盘图标被dde-dock收纳后均无法交互,左击和右击都没反应,在 deepin v20 / uos 20 的各种版本中均能复现,32位和64位wine程序的托盘图标均无法交互。

但是其他桌面环境的wine托盘图标收纳功能就没有该问题,收纳后托盘图标依然可以交互。

如果结束dde-dock进程,让wine托盘图标单独漂浮在桌面上,此时也能正常交互。

复现方法

  1. 从deepin软件源安装wine-4.0 (Debian 4.0-2)

    sudo apt install wine
    
  2. 用wine执行这个:https://github.com/YihaoPeng/QtTrayIconDemo/releases

    # 清理wine前缀
    rm -rf ~/.wine
    # 启动exe
    wine TrayIconDemo.exe
    
  3. 右击dde-dock托盘中的盾牌图标,没反应。
    截图录屏_选择区域_20210905161452

  4. 执行以下命令让dde-dock任务栏消失:

    while true; do killall dde-dock; done
    
  5. 右击漂浮在桌面上的盾牌图标,可以交互。注意它可能会被微信QQ等deepin-wine托盘图标挡住,移开才能看到。
    截图录屏_选择区域_20210905161653

评论

虽然deepin-wine在所有桌面环境中均没有托盘图标交互问题,但是:

  • 我们没有deepin-wine的源代码,不知道它做了什么修改才解决了问题。deepin-wine-patch里只是一组补丁,但原始代码+补丁+应用补丁的方法才等于源代码,一组补丁只是源代码的碎片,而且它里面似乎没有和托盘图标相关的代码。
  • 这看起来是一个dde-dock的错误,靠给wine打补丁并不是解决问题的正确方法。因为在没有dde-dock的情况下wine托盘图标是可以交互的。

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions