dwmの起動時にカーソル位置を設定するには?

dwmの起動時にカーソル位置を設定するには?

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]+[,]

おすすめ記事