解決策:

解決策:

上記のように、Openboxで「ターミナルをデスクトップの背景パターン」に設定しようとしています。ここ

<layer>below</layer>Openboxは、ウィンドウがデスクトップの背景として実行され、ステータスバーに表示されず、「ウィンドウ最小化」の影響を受けないように設定できます。そのため、役に立たない画像を壁紙として表示するのではなく、実際に端末があります。

私がバックグラウンドで実行している実際の端末はですterminator。私はシンボリックリンクを作成しました。terminator-wallpaper-1aこれterminator-wallpaper-1bはターミネータバイナリへのシンボリックリンクです。名前が違うので違いがわかります。

デュアルモニター設定があり、各モニターにターミネーターの壁紙が欲しいです。

openboxウィンドウのプロパティは次の方法で設定されますdevilspie

(if
(matches (application_name) "terminator-wallpaper")
(begin
(wintype "desktop")
)
)

次に、各壁紙が対応するモニター/デスクトップに移動するように、Openbox構成に以下を含めます。

<application name="terminator-wallpaper-1a">
  <focus>yes</focus>
  <layer>below</layer>
  <desktop>1</desktop>
  <position>
    <y>0</y>
    <x>0</x>
    <monitor>1</monitor>
  </position>
  <skip_taskbar>yes</skip_taskbar>
  <maximized>true</maximized>
</application>

<application name="terminator-wallpaper-1b">
  <focus>yes</focus>
  <layer>below</layer>
  <desktop>1</desktop>
  <position>
    <y>0</y>
    <x>0</x>
    <monitor>2</monitor>
  </position>
  <skip_taskbar>yes</skip_taskbar>
  <maximized>true</maximized>
</application>

最後に、これが私がすべてのことを始めた方法です。

devilspie &
terminator-wallpaper-1a -b &
terminator-wallpaper-1b -b &

xdotool set_desktop 0

xdotool search --class 'Terminator-wallpaper-1a' windowunmap --sync windowmap windowsize %1 1920 1180
xdotool search --class 'Terminator-wallpaper-1b' windowunmap --sync windowmap windowsize %1 1920 1180

すべてがうまく機能し、他のすべてのウィンドウを最小化すると、実際にターミネーターの壁紙が表示されます。しかし、実際にはそのうちの1つだけを使用できます。つまり、慎重または活動的でなければなりません。もう一方は入力できません。マウスでクリックしてもカーソルが非アクティブのままであるため、ウィンドウにフォーカスが合わせられません。

この問題をどのように解決できますか?

解決策:

@intikaユーザーと徹底的なトラブルシューティングを終えた後、問題を確認しました。<mouse>Openbox設定ファイルに次のコードスニペットを追加することで問題が解決しました。

<context name="Desktop">
  <mousebind button="Left" action="Press">
    <action name="Focus"/>
    <action name="Raise"/>
  </mousebind>
</context>

ベストアンサー1

一度に1つのウィンドウ/アプリケーションにのみフォーカスを持つことができます。

Openbox設定では、両方のアプリ/背景画面に焦点が合っていますが、技術的にはこれは不可能であるため、Openboxは1つのアプリにのみ焦点を当てて設定を容易にします(そうしないとこれを行うことはできません)。

<application name="terminator-wallpaper-1a">
  <focus>yes</focus>
...
<application name="terminator-wallpaper-1b">
  <focus>yes</focus>

この問題を解決する可能性はさまざまで、焦点を最初または2番目の画面デスクトップ/アプリケーション/背景画面に切り替える方法を実装する方向に進化します。

考えられる解決策1:

フォーカス値をnoに設定するか、フォーカスラインをすべて削除してから、マウスクリックでフォーカストランジションをテストできます。

考えられる解決策2:

マウスの位置を使ってフォーカスを設定します。ここにあります。オープンボックス Wikiこの問題については、まず2つの壁紙アプリのフォーカス項目を削除してから、リンクされたドキュメントで説明されている<focus></focus>ように、メインセクションの下のopenbox設定に以下を追加してください。

<followMouse>yes</followMouse>
<!-- move focus to a window when you move the mouse into it -->

これは他のウィンドウにも影響します。

アプリケーションセクションで試してみることもできますが、followMouseこれはopenboxで処理されていないようです。

考えられる解決策2:

フォーカスを切り替えるには、xdotoolまたはキーボードショートカットで別の手段を使用してください。実際には、以下のコマンドにキーボードショートカットを割り当てることができ、このソリューションを使用するには、二重削除/編集で設定を変更する必要があります。 <focus>yes</focus>

xdotool search --class 'Terminator-wallpaper-1b' windowactivate

xdotoolと同様に、wmctrlもこの目的に使用できます。

#Lists currently open windows 
wmctrl -l 

#Set focus to windows with title containing STRING
wmctrl -a STRING

メモ:

<focus>yes</focus>
# if the window should try be given focus when it appears. if this is set
# to yes it doesn't guarantee the window will be given focus. some
# restrictions may apply, but Openbox will try to

ノート2:

他にも可能な解決策がたくさんあります。回答にコメントしたら、それに従って編集します。 ;)

おすすめ記事