建议:可以利用dbus实现类似Android的广播功能。
Tofloor
poster avatar
133******90
deepin
2018-02-07 00:12
Author
前段时间,看了点dde-dock的代码,因为对qt不熟,代码注释又少,看起来很吃力,基本靠猜。在源码目录里面看到了程序使用了dbus,百度以后知道这是一种IPC技术。我便猜测是不是在程序窗口最大化、最小化、关闭、失去焦点的时候,窗口管理器利用dbus广播了这些事件,dde-dock通过dbus获取了这些事件,做出相应的改变。后来,经过官方技术人员的讲解,才知道不是这么一回事。dbus是被用于dde-dock前端和后端之间的通信,捕获程序窗口变化事件是通过DWindowManagerHelper。
  虽然跟我的预想不一样,但是我觉得自己的原本的想法也是可行的,因此想建议一下,官方是不是可以进一步利用dbus,进行一些封装,实现跟Android相似的广播和广播接收器的功能,在Android上,这也是一个很重要的功能。@wongyong

Reply Favorite View the author
All Replies
avatar
emofode
deepin
2018-02-07 00:43
#1
现在是

dock 前端 <-dbus-> dock 后端 <-dbus-> 窗管
                     |
                  X11 lib

和 DWindowManagerHelper 没有直接关系
Reply View the author