동일한 프로그램의 두 인스턴스를 각각 다른 Openbox 속성으로 실행해야 합니다.
Thunderbird의 두 인스턴스를 실행하고 싶다고 가정해 보겠습니다. 두 개의 심볼릭 링크를 생성하더라도
/usr/bin/icedove-1
/usr/bin/icedove-2
두 인스턴스 모두 여전히 동일한 이름과 제목을 갖습니다.
$ obxprop | egrep '_OB_APP'
_OB_APP_TYPE(UTF8_STRING) = "normal"
_OB_APP_TITLE(UTF8_STRING) = "Icedove Mail/News"
_OB_APP_CLASS(UTF8_STRING) = "Icedove"
_OB_APP_NAME(UTF8_STRING) = "Mail"
_OB_APP_ROLE(UTF8_STRING) = "3pane"
동일한 프로그램의 두 인스턴스를 어떻게 구별합니까?
매개변수를 사용하여 프로그램을 시작할 수 있습니까? 이것이 변경 TITLE
됩니까 NAME
?
답변1
GTK+ 애플리케이션인 Thunderbird는 다음을 지원합니다.--class
명령줄 옵션속성 설정 WM_CLASS
:
$thunderbird --class TEST &
$obxprop | grep 'OB_APP'
_OB_APP_TYPE(UTF8_STRING) = "normal"
_OB_APP_TITLE(UTF8_STRING) = "Mozilla Thunderbird"
_OB_APP_GROUP_CLASS(UTF8_STRING) = "TEST"
_OB_APP_GROUP_NAME(UTF8_STRING) = "thunderbird"
_OB_APP_CLASS(UTF8_STRING) = "TEST"
_OB_APP_NAME(UTF8_STRING) = "Mail"
_OB_APP_ROLE(UTF8_STRING) = "3pane"
Openbox는 애플리케이션별 설정을 지원합니다.창 카테고리에 따라 결정됨의 항목 class
에 이 속성을 사용하십시오 . 서로 다른 명령줄 옵션을 사용하여 두 개의 Thunderbird 복사본을 시작하고 제공한 클래스별로 창 관리자 설정을 적용할 수 있습니다.<application>
rc.xml
다른 GTK+ 애플리케이션은 일반적으로 동일한 동작을 지원합니다.