
로딩 시간이 긴 애플리케이션(NetBeans, Eclipse 등)이 프로세스가 다른 데스크톱에서 시작된 경우에도 현재 데스크톱으로 "점프"하는 이유는 무엇입니까?
데스크톱 3으로 이동하여 애플리케이션을 실행한 다음 기다리는 동안 데스크톱 2로 이동하면 애플리케이션이 로드되면 데스크톱 2에서 실행됩니다. 이를 변경할 수 있는 방법이 있나요?
답변1
이것은 다소 복잡한 문제입니다.
짐작할 수 있듯이 WM(Window Manager)은 창을 관리하는 역할을 합니다. 여기에는 위치, 크기, 데스크탑 및 장식 여부가 포함되지만 이에 국한되지는 않습니다. WM의 일부가 아닌 것은 어떤 방식으로든 응용 프로그램을 시작하는 것입니다. WM은 해당 프로세스가 생성되는 창만 보고 관리합니다. 그러면 어떻게 되나요?
- 데스크톱 2로 전환
- NetBeans 실행
- Desktop 2에서는 스플래시 화면이 장식이 없는 창으로 생성됩니다.
- 데스크톱 3으로 전환
- NetBeans-Splash-Screen은 데스크탑 2에 유지됩니다.
- NetBeans가 완료되고 마침내 메인 창이 생성됩니다. 이는 물론 완전히 새로운 창이므로 현재 데스크탑으로 전송됩니다.
이 경우의 문제는 창 관리자가 전혀 인식하지 못한다는 것입니다(또는 무지하고 확실하지 않음).WHO그 창문이 속해 있어요. 두 가지 가능성이 있습니다:
다음을 수행하는 창 관리자를 찾으십시오.
- ...상위 프로세스별로 창 그룹화 지원
- ...모든 창에 대한 규칙을 정의할 수 있습니다.
아니면 다음과 같은 도우미 애플리케이션을 얻습니다.악마의 파이창 규칙을 정의할 수 있습니다.
답변2
compiz를 사용하는 경우(예, 12.04 이하에서도 가능합니다;)) 설치를 시도한 compizconfig-settings-manager
다음 하위 메뉴로 이동하여 응용 프로그램과 데스크톱의 클래스(이름)를 선택할 Place Windows
새 항목을 추가 할 수 있습니다.Fixed Window tab
그렇지 않으면 다음을 사용할 수 있습니다.wmctrl그러면 응용 프로그램을 실행하고 강제로 데스크탑 중 하나로 이동할 수 있습니다.