최근에 Firefox를 사용하기 시작했는데 dwm
마우스 오른쪽 버튼을 클릭할 때 이상한 동작이 발생합니다.
위는 대부분의 창 관리자에서 Firefox가 여는 컨텍스트 메뉴입니다. (이 사진은 i3에서 찍은 것이지만 Gnome이나 기타 창관리자, 데스크탑 환경에서도 동일합니다.) 상황에 맞는 메뉴는 커서 핫스팟 오른쪽 몇 픽셀 아래에 나타나므로 마우스 버튼을 놓으면 메뉴의 어떤 것도 활성화되지 않으며 메뉴는 계속 열려 있으며 이후 클릭 시 메뉴에서 항목을 선택할 수 있습니다.
이에 비해 위의 샷은 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의 초점이 맞춰진 창을 더 빨리 인식하려면 다음을 변경할 수 있습니다.색상경계를 바꾸는 것이 아니라너비국경.