時々、ウィンドウマネージャが応答しないアプリケーションをどのように処理するのか疑問に思います。_NET_WM_PING
たとえば、ポップアップウィンドウに「このアプリケーションを終了しますか?「これはデバッグ グラフィックアプリケーションそして方法を学ぶさまざまなアプリケーションがさまざまな信号を処理します。そしてさまざまなウィンドウマネージャ アプリケーションとの対話。
たとえば、
kwin
持つClient::pingWindow()
機能と「このアプリケーションを終了しますか?「情報。mutter
持つmeta_display_ping_window
機能と「アプリケーションが応答しません。「情報。xfwm4
一つあるclientSendNetWMPing
機能を表示し、「このウィンドウは使用中または応答しない可能性があります。」情報。
strace
たとえば、受信した信号を確認するために応答しないプログラムを実行できるように、これらの動作を意図的にトリガーしたいと思います。私はPython / Tkinterまたはbash / zenityスクリプトを検討していますが、他の可能性も開いています。理想的には、このプログラムはCPUを飽和させませんが、それも問題になりません。 (このようにしても、SIGSTOP
ウィンドウマネージャの目的の動作は実行されません。)
_NET_WM_PING
意図的に応答しないグラフィックプロセスを作成して、ウィンドウマネージャの注意を引くための簡単で信頼性の高い方法はありますか?
ベストアンサー1
正確な答えはフレームワークなどによって異なります。
すべてのGUIフレームワークの共通の「スレッド」は、再描画、キーボード、マウス入力などのイベント/要求を受け取る中央/メインイベントハンドラです。
while true; do nothing; done
これはすぐには応答しませんが、緊密なループ内のイベントを処理するハンドラです。