xlib를 사용합니다. 창 위치를 기억하고 다음에 시작할 때 그 위치로 복원하고 싶습니다. 이것은 사용자가 매 시작할 때마다 창을 원하는 위치로 이동/크기 조정할 필요가 없으므로 사용자를 도울 것입니다.리눅스에서 윈도우 상태 확인 및 복원
한 가지 경우를 제외하고 어느 정도 작동합니다. 창을 최대화하면 실제 (최대화되지 않은) 크기와 위치를 결정할 수있는 방법을 찾을 수 없습니다. 아마도 누군가 그것을하는 방법을 알고 있습니까?
xlib를 사용합니다. 창 위치를 기억하고 다음에 시작할 때 그 위치로 복원하고 싶습니다. 이것은 사용자가 매 시작할 때마다 창을 원하는 위치로 이동/크기 조정할 필요가 없으므로 사용자를 도울 것입니다.리눅스에서 윈도우 상태 확인 및 복원
한 가지 경우를 제외하고 어느 정도 작동합니다. 창을 최대화하면 실제 (최대화되지 않은) 크기와 위치를 결정할 수있는 방법을 찾을 수 없습니다. 아마도 누군가 그것을하는 방법을 알고 있습니까?
표준 방법을 알고 있습니다. 예를 들어 Metacity 소스를 읽으면 MetaWindow 개체에서이 최대화되지 않은 크기를 유지하지만 속성에 저장되는 것으로 생각하지 않으며 EWMH 또는 ICCCM 사양에서이 속성을 볼 수 없습니다 .
일부 특정 창 관리자가 비표준 속성에이를 저장할 수도 있습니다.
창이 최대화되면 maximization 플래그로 속성 변경 이벤트를 얻을 수 있습니다 (libwnck는 이런 종류의 것을 추적하기위한 오래된 라이브러리입니다. 아마도 내가 모르는 새로운 것이있을 것입니다). 그러나 크기 조정이 플래그를 설정하기 전후에 발생하는지 여부가 정의되었는지는 의문의 여지가 있습니다. 아마도 최대화 플래그를 설정 한 후 1 초 이내에 화면의 대부분을 차지하는 크기 조정이 최대화 또는 유사한 해킹이라고 경험적으로 가정 할 수 있습니다.
모두이 기능을 사용하는 가장 쉬운 방법은 창 관리자 확장 또는 플러그인으로 구현하는 것입니다.이 기능은 많은 WM이 어떤 식 으로든 지원합니다.
이 (X 세션 관리 프로토콜)에 대한 구버전은 유감스럽게도 사양이 엄청나게 깨졌으며 명확하지 않으며 구현하기가 본질적으로 불가능합니다. 해결되지 않은 핵심 문제 (해결해야 할 앱 협력이 필요할 수도 있음)는 재시작 할 때 "동일한"창을 인식하여 크기를 복원하는 방법입니다. 결함이있는 발견법 만 있습니다.
은 (내가 metacity를 쓰고 오래 전에 내가 더 많은 당신에게 한 수 후 몇 세션 관리자에 근무하지만 많은 세부 사항을 잊어 버렸습니다.)
당신이 우리에게 코드를 보여 좁힐 수 있습니다 조금 질문 하나? 지금 당장 요구하는 것은 너무 광범위하여 유용하지 않기 때문입니다. –
최대화되지 않은 상태에서 변경 될 때마다 형상을 기억하십시오. 이렇게하면 가장 최근의 지오메트리가 최대화되기 전에이를 알 수 있습니다. –
Windows에서 GetWindowPlacement()와 비슷한 창 관리자에서 가져올 수있는 방법이 없다는 것을 이해하고 있으며 변경 내용을 추적해야합니다. 그러나 창 관리자는 크기를 변경하기 전이나 후에 최대화 속성을 설정할 수 있습니다. 최대화의 결과로 창 크기가 변경 될 때 이미 설정된 최대화 속성을 믿을 수 있습니까? – PineForestRanch