Xorg - デフォルトではマップされていないウィンドウでプログラムを起動する

Xorg - デフォルトではマップされていないウィンドウでプログラムを起動する

私が知っている限り、アプリケーションウィンドウのマッピングを解除する方法は2つあります。

  1. アプリケーション設定で(オプションが存在する場合)
  2. xdotoolのようなものを使用してください

デフォルトでは、一部のアプリケーションウィンドウはマッピング解除する必要があります(パネルなど)。そして彼らはオプション1に合わない。

私ができることは、アプリケーションを起動してからxdotoolを使用してすぐに非表示にすることです。問題は、ウィンドウがしばらく現れて隠れるという点だ。

基本的にウィンドウを隠す一般的な方法を知っていますか? Xorgにこれを行うように指示しますが、方法がわかりません。

ベストアンサー1

基本的にウィンドウを隠す一般的な方法を知っていますか?

一般的なアプローチは「ウィンドウマネージャ」(WM)と呼ばれます。 Xで動作する方法は、アプリケーションが呼び出すことです。Xマップウィンドウウィンドウを作成した後。 (アプリケーションはここでアプリケーションの設定を確認し、それを行わないことを決定できます。これを行うには、アプリケーションがそれに対する明示的なコードを書く必要があります。)しかし、この呼び出しはウィンドウを直接マッピングせず、WMによって水平埋め込むことができ、WMは次のことができます。マッピングする前に、そのウィンドウを別の場所に移動するか、マッピングせずに代わりにアイコンを表示するか、まったく異なる操作を実行するかを決定します。

同様に、WMはマッピング解除呼び出しを傍受します。

これは、xdotool基本的にアプリケーションのように偽装し、アプリケーションなどのマッピングまたはマッピング解除コマンドを実行することです。

したがって、いいえ、「Xorgを指示する」ことは問題ではありません。できないX サーバーで構成します。

ただし、設定できるウィンドウマネージャ(アプリケーションが最初にアイコンで表示されている場合は設定で使用可能)がある場合、これは1つの方法です。

2番目のアプローチは、独自のWM類似プログラムを作成するか、既存のWMを修正することです。その後、任意の方法で傍受する呼び出しを処理するためのすべての設定を追加できます。

おすすめ記事