Debian JessieとFluxbox 1.3.5で私が探している動作は次のとおりです。デスクトップをクリックするたびに、RootMenuがまだ存在しない場合は描画する必要があります。 RootMenuがすでに存在する場合は消える必要があります。そのために、.fluxbox/keys
ファイルに次の行を追加しました。
OnDesktop Mouse1 :If {Some Matches ((@Role="fluxbox-menu")} {HideMenus} {RootMenu}
他のマウス関連バインディングを注釈した後。
しかし、デスクトップ上でMouse1を押しても何の効果もなく、ログファイルはきれいです。 RootMenuを別のキーにバインドする場合は、次のようにします。
OnDesktop Mouse3 :RootMenu
RootMenuが正しく表示されます(したがってまったく問題ありません)。
なぜこれが起こるのかご存知ですか?さらに重要なのは、keys
ファイルがこれらの「複雑な」動作を許可しないことです。
答え1
Fluxboxキーはこの動作をサポートする必要がありますが、複雑な操作を試みたときにいくつかの不規則性が見つかりました。以下を使って動作させることができました。
OnDesktop Mouse1 :If {Matches (Name!=)} {RootMenu} {HideMenus}
マッチしたパターンが薄暗く見えますが、うまくいくようです。これがなぜFluxboxで機能するのかを見る時間はありませんでしたが、Fluxboxメニューが有効になっていると、チェックされたプロパティが設定または設定されていないと予想しました。
これがあなたに(または少なくとも出発点)役に立つことを願っています。適用するより良い条件付きパターンを見つけたら見たいです。