私は小さな画面のラップトップで作業しており、仕事中のようにこのマシンの複数のモニターにアクセスすることはできません。ターミナルの背後にあるブラウザで開発しているものをすべて見ることができるように、ターミナルを透明に設定しましたが、ターミナルをクリックしてブラウザと直接やり取りできるようになりたいです。
このタイプのことは経験がないので、グーグル検索以外で試したことはありません。
編集:「可能性のある重複」の質問は、基本的には、より高速なalt + tabウィンドウ切り替えを行うためのスクリプトを作成するだけなので、私の質問には答えません。 alt + tabを使用してウィンドウを切り替えるのに問題はありません。ウィンドウをまったく切り替える必要はありません。キーボードが端末と対話する間、マウスはブラウザと対話します。
あなたが尋ねるものは、本質的に不可能です。説明を簡単にするために、スタックとタイルの2種類のグラフィカルデスクトップがあります。 Unityは、デスクトップのスタックの例です。ここには、現在アクティブなウィンドウが一番上にあるウィンドウのスタック(カフェテリアトレイスタックのようなもの)があります。
マウスの動作はX11で定義されており、ウィンドウをクリックするとスタックの最上部に移動します。ウィンドウを他のウィンドウの下に保持する方法がありますが(特にwmctrl
を使用)、ウィンドウをフォーカスなしでクリックせずにクリックする方法はありません。残念ながら、これを微調整することはできません。GUIの新しいレイヤーを自分で作成する場合を除き、これまでのところそのようなプロジェクトは聞いたことがありません。
あなたがそう要請した場合、私はこの質問に報奨金を置くことさえできます、しかし、私はあなたの正確な要件を満たす答えがないと確信できます。
これを行うには、透明なターミナルウィンドウを最小サイズに設定し、「常に上」として設定し、ウィンドウ自体の周囲の*何かをクリックします。
このスクリーンショットでは、これに対する2つのアプローチを見ることができます。1つは、ウィンドウの境界をデフォルトで右クリックする方法と、wmctrl
コマンドを使用する方法です。最後のものは、これへのスクリプトのアプローチを可能にすることができますが、基本的な前提は同じです-ターミナル自体の周りのものをクリックする必要があります。
Guake
などのドロップダウンターミナルがあります。 F12キーにリンクされたドロップダウンターミナルを使用できます。ウィンドウは上部に位置を保持し、その周囲の何かをクリックできますGuakeの例
反問:
このための「すぐに使える」ソリューションが必要ですか、それとも独自のCプログラムを作成する予定ですか。
「すぐに使用できる」ソリューションが必要な場合は、何も見つからないと思います。このようなプログラムを必要とする人はほとんどいないため、これまでにこのようなプログラムを実装した人はいないと思います。
このようなプログラムを自分で作成する場合は、次のことを試みます。
100%の透過性を持つ大きなウィンドウ(画面全体をカバーする)を備えたプログラムを作成します。 (残念ながら、私は透明性を扱ったことがないので、これが本当に機能するかどうかはわかりません。)
これには低レベルX11ライブラリ(libX11)を使用し、高レベルAPI(Gnomeなど)は使用しません。
このウィンドウは前面にあるため、すべてのキーボードとマウスの情報を受け取ります。
XSendEvent()APIを使用して、コンソールおよびブラウザーでキーボードおよびマウスイベントをエミュレートします...
残念ながら、これは思ったほど簡単ではありません。特に、ブラウザでマウスイベントをエミュレートするのは簡単ではありません!