deepin v20 下窗口之间焦点的切换有 dbus 信号么?
Tofloor
poster avatar
septemberhx
deepin
2020-05-26 09:02
Author
想做一个类似于 KDE 下 active window control 的插件,能够为最大化的窗口去掉标题栏,并将标题栏内容以及操作按钮放到插件上。

目前没有翻到窗口焦点切换的信号,d-conf 看了所有包含 deepin dde 的dbus接口都没有相关内容。

dde-dock 某种程度上来说,是有焦点窗口切换的,当你切换窗口的时候,会发现dock上对应程序的图标有变化,dock的基本逻辑是:

1. 系统每有一个窗口打开时,都会忘 dock 的 dbus 里丢一个 entry 的新dbus路径,并将路径通过dbus 信号的方式高速 dock
2. dock 通过信号能够知道每个 entry 的 active 情况,然后在做dock上的焦点切换

但是我不确定这样能不能具体到窗口级别,因为dock上看起来只是应用级别。
其次是想问问有没有其他更直接的方法检测到焦点窗口的切换。


Reply Favorite View the author
All Replies
avatar
septemberhx
deepin
2020-05-26 17:53
#1
捞一下
Reply View the author
avatar
v14dober
deepin
2020-05-27 00:48
#2
Reply View the author
avatar
septemberhx
deepin
2020-05-27 22:46
#3
https://bbs.deepin.org/post/195064
https://doc.qt.io/qt-5/qapplication.html#focusChanged https://doc.qt.io/qt-5/qfocusevent.html

不是这个,这个只能做到自己本身这个应用的焦点切换信号。x server 切换窗口的时候,deepin的某个后台程序有记录的。

我利用 com.deepin.dde.daemon.dock.entry 下面的 dbus 信号解决了
Reply View the author
avatar
jzc
deepin
2020-06-07 23:13
#4
Reply View the author
avatar
septemberhx
deepin
2020-06-08 01:24
#5
https://bbs.deepin.org/post/195064
我用Xlib 写的, https://gist.github.com/jiangzc/eeb2916cafd707f1ac2b39e66084c2d1

可以的,没想到 xlib 就有阻塞监听的函数。
dde-dock 的 dbus 里有切换的信号,或者直接 KWindowSystem
Reply View the author
avatar
神末shenmo
deepin
Spark-App
Q&A Team
2020-06-08 01:35
#6
大佬这是有新项目了?记得上架社区源哟~
Reply View the author
avatar
septemberhx
deepin
2020-06-08 02:10
#7
https://bbs.deepin.org/post/195064
大佬这是有新项目了?记得上架社区源哟~

没,这是我写顶栏之前发的帖子,本来是想给顶栏用的
Reply View the author
avatar
柚子
deepin
2021-02-06 05:30
#8

这个可以用来做快捷键提示耶!

Reply View the author