我想设置 Polybar 来显示 KDE 活动:
- 列出所有活动
- 突出显示当前活动
- 点击更改
例如:
“标准|开发者|视频”
我已经设置了标准 KDE 坞站来执行此操作,它工作得非常好,并提供了活动的缩略图渲染 - 然而,我想尝试极简风格。
我不知道如何使用qdbus
根据其他问题,
将 KDE 活动概念扩展到 shell
在哪里可以找到手册页或开发资源?
➤ man qdbus
No manual entry for qdbus
答案1
经过更多谷歌搜索后,我想我能够回答我自己的问题。毫无疑问,这有点天真,所以更好的答案值得赞赏。
在哪里可以找到手册页或开发资源
- D总线简介
- 如何发送 D-Bus 参数或者
➤ man dbus-send 1
- 如何查询D-Bus接口
➤ qdbus org.kde.ActivityManager /ActivityManager/Activities
我的解决方案
#!/bin/sh
dbus-send --session --dest=org.kde.ActivityManager --type=method_call --print-reply /ActivityManager/Activities org.kde.ActivityManager.Activities.ListActivities
dbus-send --session --dest=org.kde.ActivityManager --type=method_call --print-reply /ActivityManager/Activities org.kde.ActivityManager.Activities.ActivityName string:"721d6c82-12b1-4a3f-8f0b-97b1765faeb3"
dbus-send --session --dest=org.kde.ActivityManager --type=method_call --print-reply /ActivityManager/Activities org.kde.ActivityManager.Activities.ActivityState string:"721d6c82-12b1-4a3f-8f0b-97b1765faeb3"
dbus-send --session --dest=org.kde.ActivityManager --type=method_call --print-reply /ActivityManager/Activities org.kde.ActivityManager.Activities.CurrentActivity
输出:
method return time=1616745604.890259 sender=:1.57 -> destination=:1.88 serial=73 reply_serial=2
array [
string "721d6c82-12b1-4a3f-8f0b-97b1765faeb3"
string "e40ecce6-7002-47e8-81d0-835eb4461a26"
string "47552415-c847-435b-b96c-7467c53ef489"
]
method return time=1616745604.892564 sender=:1.57 -> destination=:1.89 serial=74 reply_serial=2
string "_std"
method return time=1616745604.894646 sender=:1.57 -> destination=:1.90 serial=75 reply_serial=2
int32 2
method return time=1616745604.896475 sender=:1.57 -> destination=:1.91 serial=76 reply_serial=2
string "721d6c82-12b1-4a3f-8f0b-97b1765faeb3"