
dwmが起動した後にマウスカーソルの初期位置をどのように決定するかを見てみましょう。私はしばらくdwm.cを見ましたが、それを理解するのに十分なCとX11について知っていません。
私がしたいのは、メインモニターにカーソルを置くことです。これで別のステーションに作成され、最初に選択されます。キーボードを使用して端末などを初めて実行すると、間違ったモニターで開きます。マイナーな迷惑ですが、何かを学ぶための言い訳です:)
dwmがこれに責任があるのか、それともxorgが責任があるのかわかりません。 dwmはxrandrを使用してデフォルトの出力セットを知っていますか?
修正する
run() を呼び出す前に、dwm.c の main() で XWarpPointer() を試してみました。このようにポインタを画面の中央に正常に移動しましたが、間違っています。 :)
アップデート2
コメントで提案されているように、xrandrの設定に問題がある可能性があります。ここにいる:
xrandr —output DP-0 —rotate left
xrandr —output DP-0 —left-of DP-4
xrandr —output DP-4 —pos 1080x160
xrandr —output DP-4 —primary
編集する:dwmはDP-0を最初に初期化します(ステータスバーが最初に表示されます)。ただし、マウスの接続を解除して再起動すると、dwmが正常に実行され、DP-4に焦点が当てられます(DP-0が最初に初期化されていても)。
アップデート3
テストでdwmの代わりにi3wmを起動しました。ポインタが画面中央(DP-4)で期待どおりに初期化され、すべてがうまく機能します。
答え1
Ubuntu 20.04では、dwm-6.2を使用して同じ問題が発生し、X11オートメーションツール(多くのディストリビューションと共にデフォルトでインストールされています)を使用してマウスカーソルを目的のモニタに強制的に移動して問題を解決しました。dwm
呼び出す前に起動したスクリプトに次の行を追加するだけです。
xdotool mousemove 2000 200
この値を適切なxy座標に置き換えます。ここで、0 0は一番左の画面(仮想画面)の左上にあります。
ヒントman dwm
:
Mod1-, Focus previous screen, if any. Mod1-. Focus next screen, if any. Mod1-Shift-, Send focused window to previous screen, if any. Mod1-Shift-. Send focused window to next screen, if any.
したがって、モニター間を簡単に移動するには、次のようにします。
[Alt}+[.]
[Alt]+[,]