あなたはそれを行う方法を知っていますか?キーボード(Alt + F4)からそれを行う方法を知っています。マウス(Xをクリックします)でそれを行う方法を知っています。また、kill X
がID Xのプロセスを強制終了することも知っています(そしてkillall Y
はYという名前のプロセスを強制終了します)。しかし、ターミナルからactive windowを殺す方法を知りたいです。
したがって、上記で述べたことから、有効な答えはアクティブウィンドウのIDを取得することでもあります。
今は xte (Alt + F4をシミュレート)からこの関数を実装していますが、別のアプリのインストールを暗示しない方法があるかどうか知りたいです。皆さん、ありがとうございました。
編集。完全なスクリプトは次のとおりです。最初に「Ctrlを押したときにマウスを表示する」を有効にしてから、このスクリプトをCompizConfigのコマンドに追加し、右上隅にバインドします。右上隅をタッチすると、マウスの周りに小さな通知が表示されます。何もしないと、アクティブウィンドウは1秒後に閉じます。ただし、2秒以内に再び角をタッチすると、アクティブなウィンドウは閉じられません。
xte 'key Control_R'; if [ -f ~/.fcont ]; then rm -f -r ~/.fcont; else touch ~/.fcont; sleep 1; if [ -f ~/.fcont ]; then xkill -id `xprop -root _NET_ACTIVE_WINDOW | cut -d\# -f2`; rm -f -r ~/.fcont; fi fi
this 少し前に作成した質問には答えられなかったため、以前の名前のxteアプリを使用していることに注意してください。
そして、本当に毛むくじゃらになり、デフォルトでインストールされていないアプリケーションを避けたい場合:
xkill -id `xprop -root _NET_ACTIVE_WINDOW | cut -d\# -f2`
繰り返しますが、これはかなりうまくいくようです。
注:someアプリケーション(コメントを参照)の場合、これはアプリケーションのすべてのウィンドウが閉じていることを意味する場合があります。 gnome-terminal
はそのようなアプリケーションの1つですが、terminator
とxterm
は影響を受けません。これは、私のコマンドのバグではなく、これらのアプリケーションのバグ(おそらく設計による)です。
wmctrl
を使用した高レベルの「クローズ」操作次のコマンドも、EWMH仕様を使用して現在アクティブなウィンドウを閉じますが、doesは別のプログラムをインストールする必要があります。
その結果、予想される動作があります。
wmctrl -c:ACTIVE:
プロジェクトのホームページから wmctrl-EWMH/NetWM互換のXウィンドウマネージャーと対話するためのコマンドラインツール。
-cウィンドウを正常に閉じます。
そして
特別な文字列 ":ACTIVE:"(引用符なし)を使用して、現在アクティブなウィンドウをアクションに使用するようにwmctrlに指示できます。
xdotool
を使用します:
xdotool windowkill `xdotool getactivewindow`
素早く静かに仕事をするようです。