dwmの下のFirefoxコンテキストメニューの配置

dwmの下のFirefoxコンテキストメニューの配置

私は最近Firefoxを使い始めましたが、dwm右クリックすると奇妙な動作が発生します。

i3の下にコンテキストメニューを配置する

上記は、ほとんどのウィンドウマネージャでFirefoxが開くコンテキストメニューです。 (この写真はi3で撮影したものですが、Gnomeや他のウィンドウマネージャ、デスクトップ環境でも同じです。)コンテキストメニューはカーソルホットスポットの右側の数ピクセル下に表示されるため、マウスボタンを離すとメニューのどれもアクティブになりません。その後、クリックするとメニューから項目を選択できます。

dwmの下にコンテキストメニューを配置する

これと比較して、上記のショットはFirefoxがdwmでコンテキストメニューを開くシーンです。コンテキストメニューはカーソルホットスポットのすぐ下に表示されるため、マウスボタンを押して放すとすぐに「新しいタブでリンクを開く」項目がトリガーされ、メニューが閉じます。 (リンク以外の項目を右クリックすると、「戻る」オプションでも同じ現象が発生します)

これはFirefoxでのみ発生するようです。 Chromeのコンテキストメニューは、Gnome TerminalやGimpと同様に正しい場所に表示されます。他の人がこの問題を経験し、解決策を知っていますか?

ベストアンサー1

これはFirefox(バージョン6.1)またはFirefox(バージョン57.04)のバグであるようですが、dwmこれらの誤動作の理由は次のとおりです。

dwm 構成ファイルにはconfig.h次の行があります。

static const unsigned int borderpx  = 2;        /* border pixel of windows */

この値は、dwm のウィンドウ枠のサイズを指定します。デフォルトでは、この値は2に設定されています。現在どのウィンドウにフォーカスがあるかをわかりやすくするために、この値を4に増やしました。 (基本的に、dwmはピントが合っていないウィンドウの枠を真ん中に灰色で、ピントが合っているウィンドウの枠を真ん中の青で描きます。

すべて良いですが、borderpx予期しないことがFirefoxコンテキストメニューの場所に影響を与えるようです。ただFirefoxのコンテキストメニュー。他のプログラムのコンテキストメニューは影響を受けないように見えます。メニューが開かれると、2より大きいすべての整数値に対して、メニューは上に1ピクセル、左に1ピクセル移動します。

borderpxたとえば、30に設定すると、Firefoxのコンテキストメニューがカーソルに基づいて開きます。

奇妙な場所!

「2」より高い値はFirefoxのコンテキストメニューを開き、メニューのアクティブ部分がカーソルのホットスポットのすぐ下に表示されるため、右クリックすると自動的に有効になります。したがって、この問題を解決するには、borderpx値を2以下に減らす必要があります。 (または、クリックした位置の左側にコンテキストメニューが完全に表示されることを望み、すべてのウィンドウの周りに途方もなく太い枠線がある場合でも、この値を268以上に増やすことができるとします。)

ストーリーのレッスン:dwmの焦点を合わせたウィンドウをより早く認識するには、次のように変更できます。境界を変えるのではなく国境。

おすすめ記事