.bashrc에서 터미널을 최대화할 때 wmctrl의 일관되지 않은 동작

.bashrc에서 터미널을 최대화할 때 wmctrl의 일관되지 않은 동작

나는 이것을 가지고있다

wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz

내 .bashrc에서 터미널을 열 때 최대화되도록 합니다. 이상하게도 무작위로 작동하는 것 같습니다. 때로는 전체 화면 터미널이 표시되기도 하고 그렇지 않은 경우도 있으며 식별할 수 있는 패턴이 없습니다. 열린 터미널에 위 명령을 입력하면 항상 성공합니다.

나는 명령이 xdotool windowsize $(xdotool getactivewindow) 100% 100%(에서이것대답), 비슷한 효과를 얻고 .bashrc에 배치하면 동일한 산발적 동작이 발생합니다. 또한 이미 열려 있는 프롬프트에서 실행하면 항상 작동합니다. 더 멀리,때때로이 명령이 작동하지 않으면 첫 번째 프롬프트 전에 다음 오류 메시지가 나타납니다.

XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1)
xdo_get_active_window reported an error
There are no windows in the stack
Invalid window '%1'
Invalid argument count, got 3, expected 2
Usage: windowsize [--sync] [--usehints] [window=%1] width height
If no window is given, %1 is used. See WINDOW STACK in xdotool(1)
--usehints  - Use window sizing hints (like font size in terminals)
--sync      - only exit once the window has resized

이로 인해 현재 활성 창을 찾는 데 전체 버그가 균형을 이루고 있다고 생각됩니다.

저는 Mint 19.3과 XFCE4를 사용하고 있으며 터미널은 urxvt입니다. 이 일관되지 않은 동작의 원인은 무엇입니까?

답변1

이것은 것 같다XY 문제. 표시된 터미널과 터미널을 찾아 크기를 조정하는 쉘 시작 스크립트 사이에 경합이 있습니다. OP는 sleep 0.1창이 활성 창으로 검색되기에 충분하다는 것을 발견했습니다.

그러나 올바른 방법은 터미널을 기본 크기로 연 다음 크기를 조정하는 것이 아니라 올바른 초기 크기로 터미널을 여는 것입니다. 초기 크기는 X 서버에 기본값을 로드하거나(보통 프로그램을 사용하여) xdb터미널 에뮬레이터의 표준 명령을 사용하여 지정할 수 있습니다.-geometry

관련 정보