如何在shell中查询KDE状态?具体来说,获取 KDE 活动列表以及当前活动的活动列表以在 Polybar 中使用

如何在shell中查询KDE状态?具体来说,获取 KDE 活动列表以及当前活动的活动列表以在 Polybar 中使用

我想设置 Polybar 来显示 KDE 活动:

  • 列出所有活动
  • 突出显示当前活动
  • 点击更改

例如:

“标准|开发者|视频”

我已经设置了标准 KDE 坞站来执行此操作,它工作得非常好,并提供了活动的缩略图渲染 - 然而,我想尝试极简风格。

我不知道如何使用qdbus根据其他问题, 将 KDE 活动概念扩展到 shell

在哪里可以找到手册页或开发资源?

➤ man qdbus
No manual entry for qdbus

答案1

经过更多谷歌搜索后,我想我能够回答我自己的问题。毫无疑问,这有点天真,所以更好的答案值得赞赏。

在哪里可以找到手册页或开发资源

我的解决方案

#!/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"

相关内容