現在使用している仮想デスクトップの番号や名前(またはタグ/ IDなど)をどのように知ることができますか?
コマンドライン、スクリプト、C/C++ ソリューションが許可されます (ただし、C/C++ への移植が好ましい)。 ;)
私はKDE
and GNOME
andに最も興味があります。dwm
、xmonad
、awesome
- 他のデスクトップ環境のためのソリューションも歓迎します(最も一般的なソリューションを提供するためのサポートを提供します)。
ところで。興味のある方のためのユースケースをより具体的に説明すると、私はデスクトップ+ウィンドウフォーカス+xevents+複数の画面を中心に時間を追跡することに興味があります。現在これには別のソリューションがあります(ktimetracker
デスクトップに基づいてタスクを追跡しますが、アプリケーションの追跡は非常に悪いです。正規表現のサポートがなく、正確なウィンドウタイトルのみがあります。 ->あまり役に立ちません。一方、workrave
キーボードとマウスのアクティビティを追跡しますが、現在作業しているデスクトップ - >タスクが何であるかわかりません。 )、より正確な画像を得るためにこの情報をマージすることをしたいと思います(多分マージすることができます)。関連ルールの学習または他の人データ収集私が行う活動のスキル)(私の習慣に関連するより正確な情報を得るために、相対強度指数苦しい」 ;) )。
したがって、デスクトップが「仮想デスクトップ+ Windows(名前とタイトルを含む)」とは異なるパラダイムに従う場合は、現在使用されているウィンドウ/フレーム/アプリケーション+現在選択されているデスクトップ情報を示すコード/cliフラグメントを表示します。 /タスク/タグに関する情報(最終画面)。
答え1
以下に準拠したウィンドウマネージャ無料デスクトップ標準はデスクトップに関する情報を保存します。ルートウィンドウのプロパティ、特に:
_NET_NUMBER_OF_DESKTOPS
:仮想デスクトップ数_NET_CURRENT_DESKTOP
: アクティブデスクトップのインデックス_NET_DESKTOP_NAMES
: 仮想デスクトップ名のリスト
すべてのインターフェイスを介してこれらの項目にアクセスできます。XGetWindowProperty
例えばxprop
。殻から見て、wmctrl -d
仮想デスクトップを一覧表示する便利な方法を提供します。
私が知る限り、ルートウィンドウのプロパティが変更されると、ウィンドウマネージャにのみ通知が渡されます。したがって、仮想デスクトップの移行に反応するには、ウィンドウマネージャを使用する必要があります。たとえば、ユースケースではウィンドウマネージャ(トップサメ)興味深いことが起こったとき。
答え2
また、見ることができますarbtt
、これ自動ルールベースの時間トラッカー主にヨア・キム・ブライトナー存在するハスケル。 機能の最高点については、構成例を参照してください。つまり、フォーカスウィンドウのタイトルと時間ルールを使用して作業時間を追跡します。 (おそらく私はそれを試したことはありません。ここではユースケースはありませんが、あなたがやろうとしているように聞こえます。)
利用可能ハッキングでそしてDebian リポジトリから。