現在、 kdeアクティビティの名前を取得する方法は?

現在、 kdeアクティビティの名前を取得する方法は?

現在 kdeアクティビティの名前を個別に印刷する方法は?アクティビティバーにはすべてのアクティビティが表示され、現在のアクティビティが強調表示されます。現在のアクティビティ名だけを印刷している目にさらされない便利なウィジェットを見つけることができます。

ありがとう

血。

答え1

ウィジェットの使用(将来の読者のための詳細なガイドライン):

Plasma Desktopのメインパネル(デスクトップの下部にあるバー)で空の領域を右クリックし、ウィジェットパネルでウィジェットを追加を選択し、「アクティブ」ウィジェットをパネルにドラッグします。現在のアクティビティの名前を表示してクリックすると、アクティビティマネージャが開く比較的目立たないウィジェットです。

D-Busの使用(問題は次のとおりです。)最初の改訂明示的に言及されています):

CurrentActivity=$(dbus-send --session --dest=org.kde.ActivityManager \
  --type=method_call --print-reply=literal /ActivityManager/Activities \
  org.kde.ActivityManager.Activities.CurrentActivity | tr -d "[:blank:]")

dbus-send --session --dest=org.kde.ActivityManager --type=method_call \
  --print-reply /ActivityManager/Activities \
  org.kde.ActivityManager.Activities.ActivityInformation \
  "string:$CurrentActivity"

出力を減らす-print-reply=literal代わりに使用することをお勧めします。-print-replyその後、同様のパイプラインでフィルタリングして、awk 'NR==2 {print $2}'現在のアクティブ名のみを取得できます。ただし、アクティビティ名にはスペース、タブ、二重引用符を含めることができるため、通常はdbus-send出力を安定的に解析することは困難です(不可能ではありません)。

関連情報