はじめに
私の Openbox 環境では Flatpak Steam アプリのコンテキストメニューの二段目がクリックできません。その対処方法を説明します。
動画のように、全く反応しません。
私の Openbox の rc.xml
このあたりが関係してると思います。オプションの組合せでは、クリックできている方も居るのではないでしょうか?
<focus>
<focusNew>yes</focusNew>
<!-- always try to focus new windows when they appear. other rules do
apply -->
<followMouse>yes</followMouse>
<!-- move focus to a window when you move the mouse into it -->
<focusLast>no</focusLast>
<!-- focus the last used window when changing desktops, instead of the one
under the mouse pointer. when followMouse is enabled -->
<underMouse>no</underMouse>
<!-- move focus under the mouse, even when the mouse is not moving -->
<focusDelay>0</focusDelay>
<!-- when followMouse is enabled, the mouse must be inside the window for
this many milliseconds (1000 = 1 sec) before moving focus to it -->
<raiseOnFocus>no</raiseOnFocus>
<!-- when followMouse is enabled, and a window is given focus by moving the
mouse into it, also raise the window -->
</focus>
<context name="Client">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="W-Right" action="Press">
<action name="Move"/>
</mousebind>
</context>
起きていることの予測
こんなことが起きてるのではないかという予測です。間違っていても暖い目でお願いします。
まず、Openbox を使っている場合、情報の流れは、私のクリック → Openbox → Steam アプリ、となります。そこで、おそらくこのようなことになってるのだと思います。
私: クリック
Openbox: 「Steam さん、フォーカスしてレイズしますよ」
Steam: 「え?ユーザさん今来たんですか?なんかメニューを開いて見せていた気がするんだけど、、、」
Steam: 「ま、いいか、初期化初期化っと」
Openbox: 「ついでにクリックもされてますよ」
Steam: 「はい、えーと、そこは何もないところだなー。スルー。」
私は仕様をちゃんと読んだことはないですが Openbox の動きはおそらく EWMH の仕様通りなのではないかと思います。一方 Steam は独自仕様なのではないかと思います。
回避策1: Shift+クリック、簡単だけど暫定的?
私のテストでは Ctrl+クリックでも大丈夫でした。この動画のようにクリックできています。
私は Shift(または Ctrl)+クリックの挙動は、何も Openbox に対して設定していないので、次のような動きになったと思います。
私: Shift+クリック
Openbox: 「Shift+クリックは未定義だなあ。そのまま相手に渡そう」
Openbox: 「Steam さん、Shift+クリックですよ」
Steam: 「はいはい、うちは Shift+クリックでも大丈夫なんですよ」
Steam: 「その場所は、この二段目のメニューですね」
暫定的と書いた理由ですが、これで動くのは Steam の開発が、それで動くようにしてるからだと思われるためです。Steam の開発者が、「コンテキストメニューに Shift も Ctrl も使わないよなあ」と考えて、この機能を消してしまったら、おしまいです。
回避策2: Steam アプリ単独起動、恒久的
要はウィンドウマネージャーを通すから、ウィンドウマネージャーというか EWMH のお作法と、Steam の独自仕様が噛み合わなくなるのです。そこで、別の TTY から、DISPLAY :1 とかに Steam アプリだけ、起動すれば良いのです。
つまりこういうことです。
私: クリック
Steam: 「その位置はこのメニューだから、はい、やっときますね」
私はこんな感じで起動させてみました。もちろんリサイズもなにもできないので、しっかりフルスクリーンを使う大きさで起動しましょう。
startx /usr/bin/flatpak run com.valvesoftware.Steam -- :1 -screen 1920x1200
Window manager の無い状況下で、画面の録画を、私には撮れないので、動画はないですが、しっかりクリックできます。
それではゲームを楽しんでください。