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

관련 정보