서브패널의 팝업 메뉴와 아이콘 설치 제어 도구를 사용하여 프론트 패널을 사용자에 맞게 정의할 수 있습니다.
이 장에서는 환경설정 파일을 작성하고 편집하여 프론트 패널을 사용자 정의하는 것에 대해 설명합니다.
프론트 패널 제어 도구 및 구성에 대한 참조 정보는 dtfpfile(4X) 매뉴얼 페이지를 참조하십시오.
작업 공간 관리자에 대한 참조 정보는 dtwm(1)과 dtwmrc(4) 매뉴얼 페이지를 참조하십시오.
프론트 패널은 환경설정 파일 데이터베이스에 정의됩니다.
환경설정 파일은 프론트 패널을 사용자 정의하는 방법을 제공합니다. 다음과 같은 유형의 수정은 환경설정 파일의 편집을 통해서만 가능합니다.
주 패널에 새로운 제어 도구 위치 추가
클라이언트 윈도우와 같은 특별한 제어 도구 유형 추가
일정한 기본 동작 변경-예를 들면, 프론트 패널 제어 도구가 한 번 누르기에 응답할지 또는 두 번 누르기에 응답할지 여부
패널을 구성의 유연성을 최대화하기 위해, 이러한 파일은 개인 파일이나 시스템-전체 파일일 수 있고, 또는 다른 시스템에 있을 수도 있습니다.
프론트 패널은 작업 공간 관리자가 작성하고 관리합니다.
기본 프론트 패널은 프론트 패널 환경설정 파일인 /usr/dt/appconfig/types/language/dtwm.fp에서 정의됩니다.
이 파일은 변경할 수 없습니다.
프론트 패널 정의는 지역적으로 위치하거나 원격 시스템에 있는 많은 수의 파일들 사이에 배포할 수 있습니다.
프론트 패널을 정의하기 위해 사용되는 파일은 다음과 같은 요건을 만족해야 합니다.
파일 이름은 mail.fp와 같이 .fp로 끝나야 합니다.
파일이 활동 데이터베이스 검색 경로상에 있어야 합니다.
기본 활동 데이터베이스 검색 경로에는 다음과 같은 디렉토리들이 포함되며, 다음과 같은 순서로 검색됩니다.
개인 사용자 정의-HomeDirectory/.dt/types
시스템-전체 사용자 정의-/etc/dt/appconfig/types/language
내장 패널 및 제어 도구-/usr/dt/appconfig/types/language
추가 디렉토리인 HomeDirectory/.dt/types/fp_dynamic가 사용자 인터페이스를 통해 수행된 개인 사용자 정의에 사용됩니다. 이 디렉토리를 수동 사용자 정의에는 사용하지 마십시오.
활동 데이터베이스 검색 경로에 네트워킹을 위한 시스템 구성을 위해 추가된 디렉토리들이 추가로 포함될 수 있습니다. 특히, 응용 프로그램 서버를 액세스하기 위해 시스템을 구성하는 경우, 추가의 원격 위치들이 추가됩니다. 자세한 정보는 "데이터베이스(활동/데이터 유형) 검색 경로"을 참조하십시오.
프론트 패널은 활동 데이터베이스 검색 경로상에 위치한 모든 환경설정 파일로부터 조립됩니다.
정의의 구성요소 사이에 충돌이 있을 경우, 우선순위 규칙이 사용될 정의를 결정합니다. 두 구성요소가 다음과 같은 경우 서로 충돌됩니다.
같은 제어 도구명 CONTAINER_NAME
과 CONTAINER_TYPE
을 갖는 경우
같은 위치를 두고 경쟁할 경우(이름은 다르지만 같은 CONTAINER_NAME
, CONTAINER_TYPE
및 POSITION_HINTS
)를 갖는 경우)
프론트 패널의 우선순위 규칙은 다음과 같습니다.
구성요소의 제어 도구명, 보관소명, 유형이 모두 같은 경우, 먼저 읽혀진 구성요소가 사용됩니다.
예를 들어, 시스템-전체 제어 도구와 내장 제어 도구 두 가지 모두 다음 필드들을 갖고 있지만 다른 것은 서로 다른 경우,
CONTROL TextEditor { CONTAINER_TYPE BOX CONTAINER_NAME Top ... }
시스템-전체 제어 도구가 우선권을 가집니다.
두 구성요소가 같은 위치를 두고 경쟁을 하는 경우, 읽혀진 순서대로 놓입니다.
예를 들어, 주 패널(CONTAINER_TYPE
상자와 CONTAINER_NAME
상단)에 대해 새로운 개인 제어 도구를 만들고, 거기에 POSITION_HINTS
5를 지정하면, 개인 제어 도구가 내장 제어 도구와 위치 번호가 더 높은 다른 제어 도구를 한 위치 더 오른쪽으로 밀어냅니다.
어떤 제어 도구에 대해 새로운 시스템-전체 또는 개인 버전을 작성함으로써 그 제어 도구를 수정하는 경우, 새로운 제어 도구 정의에 같은 제어 도구명 CONTAINER_NAME
과 CONTAINER_TYPE
을 지정해야 합니다. 그렇지 않으면 작성한 새로운 제어 도구가 기존의 제어 도구에 추가되어 나타납니다.
아이콘 설치 제어 도구나 팝업 메뉴를 사용하여 프론트 패널을 사용자 정의할 때, 파일은 디렉토리 HomeDirectory/.dt/types/fp_dynamic에 기록됩니다.
프론트 패널은 각 세션에 대해 사용자 정의된 프론트 패널의 상태를 저장 및 복원하기 위해 사용되는 추가 파일 HomeDirectory/.dt/sessions/dtwmfp.session을 만듭니다.
사용자는 팝업 메뉴와 프론트 패널의 아이콘 설치 제어 도구를 사용하여 광범위하게 프론트 패널을 사용자 정의할 수 있습니다.
이 절에서 설명하고 있는 내용은 다음과 같습니다.
특정한 개인 사용자 정의를 금지하는 방법. 예를 들어, 임의의 사용자가 제어 도구를 삭제하지 못하도록 만들고 싶은 경우가 있을 것입니다.
개인 사용자 정의의 취소. 예를 들어, 사용자가 실수로 삭제한 제어 도구를 복원하도록 최종 사용자가 요청할 수 있습니다.
제어 도구가 내장 제어 도구인 경우, 제어 도구 정의를 /usr/dt/appconfig/types/language/dtwm.fp에서 /etc/dt/appconfig/types/language/name.fp로 복사하십시오.
제어 도구 정의에 다음 행을 추가하십시오.
LOCKED True
Desktop_Tools 응용 프로그램 그룹에 있는 프론트 패널 복구 활동은 사용자 인터페이스를 사용해 수행한 모든 프론트 패널 사용자 정의를 제거합니다. 프론트 패널의 팝업 메뉴를 사용해 수행한 모든 개인 사용자 정의를 제거하는 데도 이 활동을 사용합니다.
다음 절차를 사용하여 개별 제어 도구를 복구하십시오.
HomeDirectory/.dt/types/fp_dynamic 디렉토리에서 제어 도구를 삭제할 때 작성된 파일을 제거하십시오. 제어 도구는 삭제했던 원래 제어 도구와 같은 이름을 갖게 될 것입니다.
예를 들어, 아이콘 편집기 제어 도구를 삭제한 경우, fp_dynamic 디렉토리에 있는 파일에는 다음이 포함될 것입니다.
CONTROL IconEditor { ... DELETE True }
사용자가 서브패널을 삭제하면, 그 서브패널과 서브패널의 각 제어 도구에 대해 별도의 동적 파일이 작성됩니다.
프론트 패널은 그 구성요소의 정의들을 조립하여 작성됩니다. 이 구성요소 각각에는 프론트 패널에서 요소가 놓이는 위치, 외적인 모양 및 동작을 정의하는 구문이 필요합니다.
프론트 패널은 바깥쪽에서 안쪽으로 조립됩니다.
패널은 하나 이상의 상자에 대한 보관소입니다.
보관소에는 두 가지 특별한 유형이 있습니다.
프론트 패널의 각 구성요소는 다음 구문을 사용하여 개별적으로 정의됩니다.
COMPONENT name { KEYWORD value KEYWORD value ... }
일부 키워드는 필수이고 다른 것들은 선택적 키워드입니다. 자세한 정보는 dtfpfile(4X) 매뉴얼 페이지를 참조하십시오.
패널은 최상위 구성요소입니다. 패널 정의에는 다음이 포함됩니다.
프론트 패널 이름
전체 프론트 패널의 일반적인 모양과 동작을 설명하는 필드
PANEL front_panel_name { KEYWORD value KEYWORD value ... }
front_panel_name은 프론트 패널의 고유한 이름입니다. 기본 이름은 "FrontPanel"입니다.
상자 정의는 다음을 설명합니다.
상자 이름
패널에서 상자의 위치(POSITION_HINTS)
전체 상자에 적용되는 모양과 동작을 설명하는 필드
BOX box_name { CONTAINER_NAME front_panel_name POSITION_HINTS position KEYWORD value KEYWORD value ... }
제어 도구 정의는 다음을 설명합니다.
제어 도구 이름
상자에서 제어 도구의 위치(POSITION_HINTS).
제어 도구의 모양과 동작을 설명하는 필드
CONTROL control_name { CONTAINER_TYPE BOX 또는 SUBPANEL또는 SWITCH CONTAINER_NAME box_name또는subpanel_name또는 switch_name TYPE control_type POSITION_HINTS position KEYWORD value KEYWORD value ... }
서브패널 정의는 다음을 설명합니다.
서브패널 이름
서브패널의 모양과 동작을 설명하는 필드
SUBPANEL subpanel_name { CONTAINER_NAME control_name KEYWORD value KEYWORD value ... }
스위치 정의는 다음을 설명합니다.
스위치 이름
상자내에서 스위치의 위치(POSITION_HINTS )
스위치의 모양과 동작을 설명하는 필드
SWITCH switch_name { CONTAINER_NAME box_name POSITION_HINTS position KEYWORD value KEYWORD value ... }
주 패널은 서브패널을 제외한 프론트 패널 윈도우입니다.
사용자가 수행할 수 있는 수정할 수 있는 것은 다음과 같습니다.
제어 도구의 추가 또는 제거
제어 도구 위치의 상호 교환
다음과 같은 프론트 패널 환경설정 파일을 작성하십시오.
시스템-전체:/etc/dt/appconfig/types/language/*.fp
개인: HomeDirectory/.dt/types/*.fp
파일에 제어 도구를 정의하십시오.
CONTAINER_NAME과 CONTAINER_TYPE 필드를 사용하여 제어 도구의 보관소를 지정하십시오.
CONTAINER_NAME Top CONTAINER_TYPE BOX
왼쪽에서 오른쪽으로의 제어 도구를 배치하려면 POSITION_HINTS를 사용하십시오. 사용자 정의가 내장 제어 도구보다 우선권을 가지므로, 새로운 정의가 기존의 제어 도구를 한 위치 오른쪽으로 "밀어냅니다".
환경설정 파일을 저장하십시오.
프론트 패널 제어 도구에 대한 아이콘을 작성하십시오.
"제어 도구가 사용하는 아이콘 지정"을 참조하십시오.
작업 공간 메뉴에서 작업 공간 관리자 재시작을 선택하십시오.
예를 들면, 파일 /etc/dt/appconfig/types/language/audio.fp에 있는 다음과 같은 제어 도구 정의는 시계와 캘린더 제어 도구 사이에 오디오 응용 프로그램을 삽입합니다.
CONTROL AudioApplication { TYPE icon CONTAINER_NAME Top CONTAINER_TYPE BOX ICON AudioApp POSITION_HINTS 2 PUSH_ACTION StartAudioApplication PUSH_RECALL true }
다음과 같은 프론트 패널 환경설정 파일을 작성하십시오.
시스템-전체:/etc/dt/appconfig/types/language/name.fp
개인: HomeDirectory/.dt/types/name.fp
삭제하려는 제어 도구의 정의를 새 파일에 복사하십시오
내장 제어 도구의 경우, 제어 도구의 정의는 /usr/dt/appconfig/types/ language/dtwm.fp에 있습니다.
사용자가 전체 정의를 복사할 필요는 없습니다. 그러나 사용자가 복사하는 부분에는 반드시 CONTAINER_NAME과 CONTAINER_TYPE 필드가 있어야 합니다.
DELETE 필드를 정의에 추가하십시오.
DELETE True
환경설정 파일을 저장하십시오.
작업 공간 메뉴에서 작업 공간 관리자 재시작을 선택하십시오.
예를 들면, 파일 /etc/dt/appconfig/types/language/TrashCan.fp에 있는 다음과 같은 제어 도구 정의가 프론트 패널에서 휴지통 제어 도구를 제거합니다.
CONTROL Trash { CONTAINER_NAME Top CONTAINER_TYPE BOX DELETE True }
아이콘 이미지를 변경하는 것과 같이 제어 도구 정의를 수정하려는 경우에는 다음 절차를 사용하십시오.
전체 제어 도구 정의를 /usr/dt/appconfig/types/ language/dtwm.fp에서 다음으로 복사하십시오.
시스템-전체: /etc/dt/appconfig/types/language/name.fp
개인: HomeDirectory/.dt/types/name.fp.
변경하려는 필드를 편집하십시오. 다른 필드들을 추가할 수도 있습니다.
파일을 저장하십시오.
작업 공간 메뉴에서 작업 공간 관리자 재시작을 선택하십시오.
위치를 변경하려는 제어 도구에 대한 제어 도구 정의를 /usr/dt/appconfig/types/language/dtwm.fp에서 다음 파일로 복사하십시오.
시스템-전체: /etc/dt/appconfig/types/language/name.fp
개인: HomeDirectory/.dt/types/name.fp
제어 도구할 각 제어 도구의 전체 제어 도구 정의를 복사해야 합니다.
파일을 저장하십시오.
작업 공간 메뉴에서 작업 공간 관리자 재시작을 선택하십시오.
예를 들면, 파일 /etc/dt/appconfig/types/C/MailHelp.fp에 있는 다음과 같은 정의는 우편 관리자와 도움말 관리자 제어 도구의 위치를 교환하고, 이 제어 도구의 개인적인 변경이 불가능하도록 잠급니다.
CONTROL Mail { POSITION_HINTS 12 LOCKED True ...the rest of the control definition }
CONTROL Help { POSITION_HINTS 5 LOCKED True ...the rest of the control definition }
다른 제어 도구 정의를 다음 항목이 똑같이 작성하십시오.
control_name
예를 들어, 다음과 같은 두 개의 제어 도구는 서로 다른 두 환경설정 파일에 정의됩니다. 이 제어 도구들은 같은 제어 도구 이름과 보관소 이름을 가지므로 같은 제어 도구로 간주됩니다.
/etc/dt/appconfig/types/C/SysControls.fp에서의 정의:
Control ImportantApplication { CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 2 ... }
HomeDirectory/.dt/types/MyControls.fp에서의 정의:
Control ImportantApplication { CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 6 ... }
개인용 제어 도구가 우선권을 가지므로 이 제어 도구가 위치 6으로 들어갑니다.
제어 도구 정의의 ICON 필드는 제어 도구에 사용되는 아이콘 이미지를 정의하십시오.
ICON 필드 값은 다음과 같습니다.
기본 파일 이름
기본 파일 이름은 아이콘 이미지를 포함하는 파일 이름에서 크기(m과 t)와 이미지 유형(bm과 pm)에 대한 파일 이름 접미사를 뺀 이름입니다. 예를 들어 파일 이름이 MyGame.l.pm 과 MyGame.m.pm인 경우, MyGame이 사용됩니다.
기본 파일 이름을 사용하는 경우, 아이콘 파일이 반드시 다음과 같은 아이콘 검색 경로에 있는 디렉토리에 있어야 합니다.
개인 아이콘: HomeDirectory/.dt/icons
시스템-전체 아이콘: /etc/dt/appconfig/icons/language
전체 파일 이름을 포함한 아이콘 파일에 대한 절대 경로
절대 경로는 아이콘 파일이 아이콘 검색 경로에 없을 경우에만 사용해야 합니다.
사용자에게 필요한 크기 아이콘은 제어 도구의 위치에 따라 달라집니다.
위치 크기
기본 패널 - 48 x 48 픽셀(이름.l.pm 또는 이름.l.bm)
서브패널 - 24 x 24 픽셀(이름.s.pm 또는 이름.s.bm)
아이콘은 다음 위치 중 하나에 두십시오.
개인 아이콘: HomeDirectory/.dt/icons
시스템-전체 아이콘: /etc/dt/appconfig/icons/language
서브패널은 프론트 패널의 팝업 메뉴를 사용하여 작성하고 수정할 수 있습니다.
이 절에서는 프론트 패널 환경설정 파일을 수정해야 하는 시스템-전체에 대한 사용자 정의 방법을 설명합니다.
서브패널은 기본 패널의 제어 도구에 "접속" 됩니다.
이 같은 접속은 서브패널 정의에서 수행됩니다. CONTAINER_NAME 필드가 서브패널이 접속되는 제어 도구를 지정합니다.
CONTROL control_name { ... } SUBPANEL subpanel_name { CONTAINER_NAME control_name ... }
서브패널을 접속하려는 기본 패널에서 제어 도구 control_name을 찾으십시오.
제어 도구가 내장 제어 도구 중 하나인 경우, 제어 도구의 정의는 /usr/dt/appconfig/types/language/dtwm.fp에 있습니다.
새 파일 /etc/dt/appconfig/types/language/*.fp를 작성하십시오.
다음과 같이 서브패널을 정의하십시오.
SUBPANEL subpanel_name { CONTAINER_NAME control_name TITLE value KEYWORD value ... }
새로운 환경설정 파일을 저장하십시오.
작업 공간 메뉴에서 작업 공간 관리자 재시작을 선택하십시오.
내장 서브패널의 일반 특성(제목 등)과 내용을 수정할 수 있습니다.
다음과 같이 새로운 프론트 패널 환경설정 파일을 작성하십시오.
시스템-전체: /etc/dt/appconfig/types/language/name.fp
개인: HomeDirectory/.dt/types/name.fp.
전체 기본 서브패널 정의를 /usr/dt/appconfig/types/language/dtwm.fp에서 새 파일로 복사하십시오.
SUBPANEL subpanel_name { ... }
서브패널 정의를 수정하십시오.
새 환경설정 파일을 저장하십시오.
작업 공간 메뉴에서 작업 공간 관리자 재시작을 선택하십시오.
예를 들어, 파일 /users/janice/.dt/types/PerApps.fp에 있는 다음과 같은 정의는 개인 응용 프로그램 서브패널의 이름을 변경합니다.
SUBPANEL PersAppsSubpanel { CONTAINER_NAME TextEditor TITLE Janice's Applications }
프론트 패널 환경설정 파일 /etc/dt/appconfig/types/ language/name.fp를 작성하십시오.
파일에 시스템-전체 제어 도구를 정의하십시오.
다음과 같이 CONTAINER_NAME과 CONTAINER_TYPE 필드를 사용하여 제어 도구의 보관소를 지정하십시오.
CONTROL control_name { CONTAINER_NAME subpanel_name CONTAINER_TYPE SUBPANEL ... }
"프론트 패널 제어 도구 정의 "을 참조하십시오.
환경설정 파일을 저장하십시오.
작업 공간 메뉴에서 작업 공간 관리자 재시작을 선택하십시오.
예를 들어, 파일 /etc/dt/appconfig/types/language/DigitalClock.fp에 정의된 다음과 같은 제어 도구는 DigitalClock(Desktop_Tools 응용 프로그램에 있음)을 모든 사용자를 위한 개인 응용 프로그램 서브패널에 추가합니다.
CONTROL DigitalClockControl { TYPE icon CONTAINER_NAME PerAppsSubpanel CONTAINER_TYPE SUBPANEL ICON Dtdgclk PUSH_ACTION DigitalClock PUSH_RECALL True }
기본 패널 제어 도구 삭제를 위한 절차와 동일한 방법을 사용하십시오. "제어 도구 삭제 방법"을 참조하십시오.
다음 필드를 서브패널 정의에 추가하십시오.
CONTROL_INSTALL False
사용자가 서브패널을 원래 위치에서 옮기지 않는 한, 제어 도구를 선택하면 서브패널이 닫히는 것이 서브패널의 기본 동작입니다.
사용자가 확실하게 닫을 때까지 서브패널을 열어 두도록 프론트 패널을 구성할 수 있습니다.
다음과 같은 위치에 새로운 프론트 패널 환경설정 파일을 작성하십시오.
시스템-전체: /etc/dt/appconfig/types/language/*.fp
개인: HomeDirectory/.dt/types/*.fp
기본 패널 정의를 /usr/dt/appconfig/types/language/dtwm.fp에서 새 파일로 복사하십시오.
PANEL FrontPanel { ... }
다음 필드를 패널 정의에 추가하십시오.
SUBPANEL_UNPOST False
새로운 환경설정 파일을 저장하십시오.
작업 공간 메뉴에서 작업 공간 관리자 재시작을 선택하십시오.
아이콘 설치 제어 도구에 아이콘을 끌어다 놓음으로써 개인 제어 도구를 작성할 수 있습니다.
이 방법은 사용자 정의 작업을 쉽게 해주는 반면, 이러한 제어 도구가 제공하는 기능은 프론트 패널 제어 도구가 할 수 있는 기능들의 부분 집합입니다. 예를 들어 아이콘 설치 제어 도구를 사용하여 작성한 제어 도구는 다음을 수행할 수 없습니다.
에니메이션 제공
클라이언트 윈도우 표시
이벤트(예를 들어, 새로운 우편의 수신)가 발생할 때 나타나는 모양 변경
이 절에서는 프론트 패널 제어 도구를 수동으로 만드는 방법을 설명합니다.
프론트 패널 제어 도구의 구문에 대한 참조 정보는 dtfpfile(4X) 매뉴얼 페이지를 참조하십시오.
프론트 패널 제어 도구 정의의 구조는 다음과 같습니다.
CONTROL control_name { TYPE control_type CONTAINER_NAME value CONTAINER_TYPE value other fields defining appearance and behavior }
제어 도구 정의의 TYPE 필드는 제어 도구의 기본적인 동작을 지정합니다.
제어 도구 동작
사용자가 제어 도구를 누르거나 제어 도구에 파일을 끌어다 놓을 때 제어 도구가 지정된 활동을 수행합니다.
사용중 표시등. 활동을 호출하면 제어 도구가 깜박거립니다(이미지 전환).
프론트 패널의 클라이언트 윈도우
시계
현재 날짜를 표시합니다.
이 절에서는 제어 도구를 정의하기 위한 일반적인 절차와 다양한 유형의 제어 도구를 작성하는 방법을 설명합니다.
제어 도구가 PUSH_ACTION 및/또는 DROP_ACTION를 가질 경우, 해당 활동 정의를 작성합니다. 이들 활동이 바로 사용자가 제어를 누르거나 제어로 파일을 끌어 놓을 때 수행되는 활동입니다.
제어 도구에 대한 아이콘 이미지 파일을 작성하십시오.
아이콘 크기, 이름 및 위치에 대한 정보는 "아이콘 이미지 파일"을 참조하십시오.
새로운 프론트 패널 환경설정 파일을 다음 위치에 작성하십시오.
시스템-전체: /etc/dt/appconfig/types/language/*.fp
개인: HomeDirectory/.dt/types/*.fp
제어 도구 정의를 새 파일에 추가하십시오.
파일을 저장하십시오.
작업 공간 메뉴에서 작업 공간 관리자 재시작을 선택하십시오.
다음과 같은 필드를 사용하여 제어의 동작을 정의하십시오.
TYPE: 아이콘으로 설정합니다.
PUSH_ACTION: 수행될 활동의 이름을 지정합니다.
예를 들어, 개인 응용 프로그램 서브패널에 놓여질 다음과 같은 제어 도구는 사용자가 확보한 게임을 수행합니다.
CONTROL Ball { TYPE icon CONTAINER_NAME PersAppsSubpanel CONTAINER_TYPE SUBPANEL ICON ball PUSH_ACTION RunBallGame HELP_STRING "Choose this control to play Ball." }
다음 제어 도구는 스위치의 왼쪽 상단에 놓입니다. 이 제어 도구는 CutDisp라는 이름의 활동을 수행합니다.
CONTROL StartCutDisp { TYPE icon CONTAINER_NAME Switch CONTAINER_TYPE SWITCH POSITION_HINTS first ICON cutdisp HELP_STRING "Choose this control to run cutdisp." PUSH_ACTION CutDisp }
다음 필드들을 사용하여 제어 도구의 동작을 정의하십시오.
TYPE: 파일로 설정합니다.
PUSH_ACTION: 열기로 설정합니다.
파일의 데이터 유형에 열기 활동이 정의되어 있어야 합니다.
예를 들어, 다음 제어 도구는 기본 패널의 오른쪽 끝에 놓이게 됩니다. 이 제어 도구는 데이터 파일 /users/ellen/PhoneList.txt로 문서 편집기를 시작합니다. *.txt 파일에 대한 열기 활동은 기본 활동 데이터베이스의 일부입니다.
CONTROL EditPhoneList { TYPE file FILE_NAME /users/ellen/PhoneList.txt CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS last ICON PhoneBook HELP_STRING 'This control displays Ellen's phone list." PUSH_ACTION Open }
DROP_ACTION 필드를 사용하여 사용자가 파일을 제어 도구로 끌어다 놓을 때 수행되는 활동을 지정하십시오. 활동이 파일 인수를 수용할 수 있어야 합니다.
제어 도구 정의에는 흔히 PUSH_ACTION과 DROP_ACTION 필드 모두가 포함됩니다. 누름과 놓기 활동에 대하여 동일한 활동을 사용할 수 있습니다.
예를 들어, 개인 응용 프로그램 서브패널에 위치한 다음과 같은 제어 도구는 파일 인수를 취하는 X 클라이언트 xwud를 수행합니다.
CONTROL Run_xwud { CONTAINER_NAME PerAppsSubpanel CONTAINER_TYPE SUBPANEL POSITION_HINTS 2 ICON XwudImage PUSH_ACTION RunXwud DROP_ACTION RunXwud }
다음 필드들을 사용하여 제어 도구의 동작을 정의하십시오.
TYPE: 다음 값 중 하나를 지정합니다.
icon-제어 도구에 PUSH_ACTION 및/또는 DROP_ACTION을 지정하려는 경우에 이 유형을 사용합니다.
file-제어 도구를 선택했을 때 파일 관리자에서 파일 아이콘을 두 번 누르기한 것과 마찬가지로 동작하도록 하려는 경우에 이 유형을 사용합니다.
MONITOR_TYPE: 이미지 변경을 일으키는 조건을 설명합니다. 다음 값들 중 하나를 사용합니다.
mail-정보가 파일에 추가될 때 제어 도구가 모양을 변경합니다.
file-지정된 파일이 비지 않은 상태가 될 때 제어 도구가 모양을 변경합니다.
예를 들어, 다음 제어 도구는 사용자가 익명의 ftp를 사용하여 자신의 시스템 으로 전송하려고 하는 meetings라는 파일이 있는지를 검색합니다. 이 제어 도구는 개인 응용 프로그램 서브패널의 상단에 놓입니다.
CONTROL MonitorCalendar { TYPE file CONTAINER_NAME PersonalApps CONTAINER_TYPE SUBPANEL POSITION_HINTS first FILE_NAME /users/ftp/meetings MONITOR_TYPE file ICON meetingsno ALTERNATE_ICON meetingsyes }
단일 인스턴스 제어 도구는 PUSH_ACTION가 시작한 프로세스가 이미 수행중인지 여부를 알아보기 위한 점검을 합니다. 프로세스가 수행되고 있지 않으면 PUSH_ACTION이 수행됩니다. 프로세스가 이미 수행되고 있으면 윈도우가 현재 작업 공간에서 윈도우 스택의 맨위로 이동됩니다.
다음 필드들을 사용하여 제어 도구의 동작을 정의하십시오.
PUSH_RECALL: 참으로 설정합니다.
CLIENT_NAME: 제어 도구에 대한 클라이언트명을 지정합니다.
CLIENT_NAME의 값이 응용 프로그램 최상위 윈도우의 WM_CLASS 특성에 있는 첫번째 문자열(res_name)과 일치해야 합니다. 자세한 정보는 xprop(1) 매뉴얼 페이지를 참조하십시오.
PUSH_ACTION: 사용자가 제어 도구를 눌러서 수행되는 활동을 설명합니다.
예를 들어, 다음 제어 도구는 활동 명이 MyEditor인 응용 프로그램에 대한 단일 인스턴스를 수행합니다.
CONTROL MyEditor { TYPE icon CONTAINER_NAME Top CONTAINER_TYPE BOX POSITION_HINTS 15 PUSH_RECALL True CLIENT_NAME BestEditor PUSH_ACTION StartMyEditor ICON MyEd }
클라이언트 윈도우 제어 도구는 프론트 패널에 삽입된 응용 프로그램 윈도우입니다. 예를 들어, xload 클라이언트 윈도우 제어 도구를 작성함으로써 프론트 패널에 시스템 로드 미터를 놓을 수 있습니다.
제어 도구를 정의합니다.
다음 필드들을 사용하여 제어 도구의 동작을 정의하십시오.
TYPE: client로 설정합니다.
CLIENT_NAME: 시작할 클라이언트를 지정합니다.
CLIENT_NAME의 값이 응용 프로그램의 최상위 윈도우에 있는 WM_CLASS 특성의 첫번째 문자열(res_name)과 일치해야 합니다. 자세한 정보는 xprop(1) 매뉴얼 페이지를 참조하십시오.
작업 공간 메뉴에서 작업 공간 관리자 재시작을 선택하십시오.
터미널 터미널 에뮬레이터 명령 행에서 클라이언트를 시작하십시오.
예를 들면, 다음 제어 도구는 30 * 20 픽셀 로드 미터를 표시합니다.
CONTROL LoadMeter { TYPE client CONTAINER_NAME Top CONTAINER_TYPE BOX CLIENT_NAME xload CLIENT_GEOMETRY 30x20 }
클라이언트가 세션들 사이에 저장되고 복구되지 않을 경우, 사용자는 클라이언트가 누르기로 시작되도록 제어 도구를 구성하고 싶을 수도 있습니다. 예로, 다음과 같은 행을 정의에 추가하여 xload 를 시작하는 로드 미터 제어 도구를 구성할 수 있습니다.
PUSH_ACTION StartXload
활동을 작성하여 위와 같은 로드 미터 제어 도구를 구성할 수 있습니다.
ACTION StartXload { WINDOW_TYPE NO_STDIO EXEC_STRING /usr/contrib/bin/X11/xload }
제어 도구를 누르거나 제어 도구에 객체를 끌어다 놓으면 사용될 일련의 애니메이션 에 접속할 수 있습니다.
일련의 애니메이션을 갖기 위해서는 제어 도구가 다음을 만족해야 합니다.
유형이 icon 이어야 합니다.
PUSH_ACTION 또는 DROP_ACTION 을 가져야 합니다.
ANIMATION 구성요소를 사용하여 일련의 애니메이션을 지정하 십시오.
ANIMATION animation_name { ANIMATION icon1 [milisecond_delay ] ANIMATION icon2 [milisecond_delay ] ... }
여기서, icon1, icon 2 등은 아이콘들의 이름이고,milisecond_delay는 애니메이션 아이콘들 사이의 시간 지연을 밀리초 단위로 나타낸 값입니다. 기본 시간 지연은 200 밀리초입니다.
PUSH_ANIMATION 및/또는 DROP_ANIMATION 필드를 제어 도구 정의에 추가합니다. 값은 ANIMATION의 이름입니다.
예를 들어, 다음 행들은 BestEditor 응용 프로그램을 시작하는 제어 도구를 애니메이트합니다. 아이콘 사이의 시간 지연은 300 밀리초입니다. 이 예에서는 사용자가 아이콘 파일 frame1, frame2 등을 작성했다고 가정합니다.
CONTROL BestEditor { ... PUSH_ANIMATION BestEdAnimation ... }
ANIMATION BestEdAnimation { frame1 300 frame2 ... }
다음 두 가지 방법으로 제어 도구에 대한 도움말이 제공됩니다.
제어 도구 정의에서 도움말 문자열 제공.
사용자가 제어 도구에 대한 항목 도움말을 호출할 때 도움말 문자열이 도움말 표시기에 나타납니다. 도움말 문자열에는 형식(예: 표제) 또는 링크가 포함될 수 없습니다.
도움말 문자열을 제공하려면 제어 도구 정의내에 다음과 같이 도움말 문자열을 지정하십시오.
HELP_STRING help_string
둥록된 도움말 볼륨에 도움말 항목 지정.
도움말 항목은 도움말 시스템의 모든 기능을 사용하여 작성한 정보입니다. 도움말 항목을 작성하기 위해서는 데스크탑 도움말 개발자 도구를 사용해야 합니다.
도움말 항목을 제공하려면 제어 도구 정의에 도움말 볼륨과 항목 ID를 지정하 십시오.
HELP_VOLUME help_volume_name HELP_TOPIC topic_id
작업 공간 스위치를 사용자 정의하는 방법에는 여러 가지가 있습니다.
작업 공간의 수 변경
스위치의 레이아웃 변경
스위치에서 제어 도구 변경
다음과 같이 작업 공간 관리자 자원을 수정하십시오.
Dtwm*WorkspaceCount: n
자세한 정보는 "시스템-전체의 작업 공간 수를 변경하는 방법"을 참조하십시오.
예를 들어, 다음과 같은 정의는 3 행의 스위치를 정의합니다.
SWITCH Switch { CONTAINER_NAME box_name NUMBER_OF_ROWS 3 ... }
제어 도구 정의를 사용해 프론트 패널 환경설정 파일을 작성하십시오.
제어 도구에 대한 아이콘을 만듭니다. 권장하는 크기는 16 x 16 픽셀입니다.
예를 들어, 다음의 제어 도구는 터미널 제어 도구를 스위치에 넣습니다.
CONTROL SwitchTerminal { TYPE icon CONTAINER_NAME Switch CONTAINER_TYPE SWITCH POSITION_HINTS 3 ICON Fpterm LABEL Terminal PUSH_ACTION Dtterm HELP_TOPIC FPOnItemTerm HELP_VOLUME FPanel }
이 제어 도구는 내장 아이콘을 사용하며, 개인 응용 프로그램 서브패널의 터미널 제어 도구가 사용한 것과 동일한 도움말 항목을 사용합니다.
프론트 패널의 PANEL 구문에서 다음과 같은 작업이 가능합니다.
프론트 패널의 위치 변경
윈도우의 장식 변경
제어 도구의 일반적 모양과 동작 설정
기본 PANEL 설명은/usr/dt/appconfig/types/language/dtwm.fp에 있습니다.
자세한 정보는 dtfpfile(4X) 매뉴얼 페이지를 참조하십시오.
/etc/dt/appconfig/types/language 또는HomeDirectory/.dt/types에 새로운 프론트 패널 환경설정 파일을 작성하십시오.
기본 PANEL 설명을/usr/dt/appconfig/types/language/dtwm.fp에서 새 파 일로 복사하십시오.
PANEL 설명을 편집하십시오.
새로 만든 PANEL 설명이 기본 설명보다 우선권을 갖습니다.
예를 들면, 다음과 같은 패널은 오른쪽 상단에 놓입니다.
PANEL SpecialFrontPanel { PANEL_GEOMETRY -1+1 ... }
PANEL 정의에 다음과 같은 행을 추가하십시오.
DISPLAY_CONTROL_LABELS True
각 제어 도구에 LABEL 필드를 추가하십시오.
지정된 레이블이 없으면 control_name이 사용됩니다.
PANEL 정의에 있는 CONTROL_BEHAVIOR 필드를 사용하여 제어 도구의 PUSH_ACTION을 수행하는 방법을 지정하십시오. 이 필드에 올 수 있는 값은 다음과 같습니다.
single_click-PUSH_ACTION
수행을 위해 제어 도구를 누릅니다. double_click-PUSH_ACTION 수행을 위해 제어 도구를 두 번 누르기합니다.
새 프론트 패널의 작성은 광범위한 변경을 수행하고자 할 때 선택할 수 있는 좋은 방법일 것입니다.
내장 프론트 패널 구성요소가 상충되는 것을 피하기 위해 완전히 새로운 프론트 패널은 패널 및 기타 보관소에 새로운 이름을 사용합 니다.
새 프론트 패널에 대한 패널 구성요소를 작성하고 고유한 이름을 붙이십시오.
PANEL front_panel_name { ... }
새로운 보관소 이름을 사용하여 새로운 상자와 제어 도구를 작성하십시오.
기존의 구성요소를 사용하려면 해당 구성요소들의 정의를 복사한 후에CONTAINER_NAME 값을 변경해야 합니다.
작업 공간 메뉴에서 작업 공간 관리자 재시작을 선택하십시오.
다음 예는 기본 프론트 패널을 변경하여 제어 도구가 세 행으로 구성되도록 합니다.
/usr/dt/appconfig/types/language/dtwm.fp 를 HomeDirectory/.dt/types/MyFrontPanel.fp로 복사하십시오. 파일 쓰기 권한을 부여하십시오.
이 파일이 바로 새로운 프론트 패널을 제공하기 위해 편집할 파일입니다.
다음과 같이 프론트 패널명을 변경하십시오.
PANEL NewFrontPanel
Top이라는 상자의 이름을 변경하고 그에 대한 보관소 이름을 편집하십시오.
BOX NewFrontPanelTop { CONTAINER_NAME NewFrontPanel POSITION_HINTS first ... }
중간 행 및 하단 행에 대한 상자 정의를 추가하십시오.
BOX NewFrontPanelMiddle { CONTAINER_NAME NewFrontPanel POSITION_HINTS second }
BOX NewFrontPanelBottom { CONTAINER_NAME NewFrontPanel POSITION_HINTS second }
다음 제어 도구의 CONTAINER_NAME을 NewFrontPanelTop으로 변경하십시오.
시각
날짜
홈
문서 편집기
우편
다음 제어 도구들의 CONTAINER_NAME을 NewFrontPanelBottom으로 변경하십시오.
프린터
스타일
응용 프로그램
도움말
휴지통
스위치의 CONTAINER_NAME을 NewFrontPanelMiddle로 변경하십시오.
작업 공간 메뉴에서 작업 공간 관리자 재시작을 선택하십시오.