사용자가 새로운 데이터 파일을 작성한 경우, 파일 관리자에 있는 파일 아이콘의 모양과 동작은 사용자가 작성한 데이터 파일의 유형에 따라 다양합니다. 파일과 디렉토리에 대한 사용자 정의 모양과 동작을 작성하는 이러한 기능은 데스크탑의 데이터 유형 메커니즘에 의해 제공됩니다.
데이터 유형은 데스크탑 데이터베이스내에서 정의된 구성입니다. 예를 들면, 다음은 XWD 데이터 유형에 대한 정의가 있습니다. 정의는 환경설정 파일 /usr/dt/appconfig/types/language/xclients.dt에 있습니다.
DATA_ATTRIBUTES XWD { ACTIONS Open,Print ICON Dtxwd NAME_TEMPLATE %s.xwd MIME_TYPE application/octet-stream SUNV3_TYPE xwd-file DESCRIPTION This file contains a graphics image in the XWD \ format. These files are typically created by \ taking snapshots of windows using the XwdCapture \ action. Its data type is named XWD. XWD files \ have names ending with `.xwd' or `.wd'. }
DATA_CRITERIA XWD1 { DATA_ATTRIBUTES_NAME XWD MODE f NAME_PATTERN *.xwd } DATA_CRITERIA XWD2 { DATA_ATTRIBUTES_NAME XWD MODE f NAME_PATTERN *.wd }
모든 데이터 유형 정의는 두 부분으로 구분됩니다.
DATA_ATTRIBUTES-데이터 유형의 모양과 동작을 설명합니다.
DATA_CRITERIA-파일이 해당 데이터 유형에 속하도록 범주화하는 (명명 또는 내용) 규칙을 지정합니다.
DATA_ATTRIBUTES_NAME 필드는 기준을 속성에 연결합니다.
DATA_ATTRIBUTE에는 여러 개의 DATA_CRITERIA가 있을 수 있습니다. 예를 들면, XWD 데이터 유형은 서로 다른 두 가지 명명 기준 (NAME_PATTERN)-.xwd 또는 .wd로 끝나는 이름을 지정하는 두 가지 기준이 있습니다.
XWD 데이터 유형을 가정하십시오. 사용자는 파일에 두 개의 파일-이름 접미사(확장자), .xwd 또는 .wd 중 하나를 제공해서 XWD-유형 파일을 작성합니다. 데스크탑은 파일을 해당 유형으로 지정하기 위해 파일 이름을 기준으로 사용합니다.
XWD 데이터 유형은 해당 데이터 유형의 각 파일에 다음을 제공합니다.
사용자가 데이터 파일을 인식하도록 도와주는 고유한 아이콘 이미지
데이터 유형을 설명하는 항목 도움말
열기 및 인쇄 활동을 포함하는 파일 관리자에 있는 사용자 정의된 선택 메뉴. XWD 파일에 대한 열기 활동은 Xwud 활동을 실행합니다.
파일 관리자의 선택 메뉴는 파일 또는 디렉토리가 선택된 경우에만 활성화됩니다. 선택 메뉴 하단의 명령은 데이터 유형에 따라 달라집니다. 예를 들어, XWD 파일이 선택되면 선택 메뉴에는 열기와 인쇄 항목이 포함됩니다.
데이터 유형 정의의 ACTIONS 필드는 명령이 데이터 유형의 선택 메뉴 하단에 추가되도록 지정합니다.
DATA_ATTRIBUTES XWD { ACTIONS Open,Print ...
선택 메뉴의 내용은 데이터 유형에 따라 달라집니다. 그러나 서로 다른 여러 데이터 유형들이 열기 활동을 제공합니다-즉, 파일 관리자에서 해당 특정 데이터 유형의 파일을 선택하고 선택 메뉴를 표시하면 열기 명령을 볼 수 있습니다.
열기 활동은 일반적으로 데이터 파일과 관련있는 응용 프로그램을 실행합니다. 예를 들어, XWD 파일을 열면 Xwud 활동이 실행되는데, 이 활동은 차례대로 xwud X 클라이언트를 실행하고 화면 이미지를 표시합니다. 다시 말하면 XWD 데이터 유형의 경우, 열기 활동은 Xwud 활동과 동의어입니다. 마찬가지로 데이터 유형 TEXTFILE의 파일을 열면 문서 편집기가 실행되고, BM(비트맵) 또는 PM(픽스맵)파일을 열면 아이콘 편집기가 실행됩니다.
활동 정의의 다음 두 가지 기능을 사용하여 서로 다른 작업을 수행하는 다양한 열기 활동을 작성할 수 있습니다.
활동 대응을 통해 직접 명령을 실행하지 않고 다른 활동을 실행하는 활동을 작성할 수 있습니다. 예를 들면 Xwud 활동에 대응(실행)되는 열기 활동을 작성할 수 있습니다.
활동 정의에는 활동을 특정 데이터 유형으로만 제한하는 ARG_TYPE 필드가 포함될 수 있습니다. 예를 들면 Xwud 활동에 대응되는 열기 활동이 XWD 데이터 유형 파일에만 적용되도록 지정할 수 있습니다.
다음은 열기 활동을 XWD 데이터 유형의 Xwud 활동에 대응시키는 활동 정의입니다. 이 정의는 데이터베이스 환경설정 파일 /usr/dt/appconfig/types/C/xclients.dt에 있습니다.
ACTION Open { LABEL Open ARG_TYPE XWD TYPE MAP MAP_ACTION Xwud }
TYPE 필드는 이 활동이 대응 활동임을 지정합니다. MAP_ACTION 필드는 이 활동이 Xwud 활동을 실행하도록 지정합니다. ARG_TYPE 필드는 이 활동이 데이터 유형이 XWD인 파일에만 적용되도록 지정합니다.
열기 활동의 이전 정의와 데이터베이스 파일 /usr/dt/appconfig/types/C/dt.dt에 있는 다음 정의를 비교하십시오.
ACTION Open { LABEL Open ARG_TYPE BM TYPE MAP MAP_ACTION Dticon }
이 정의는 데이터 유형(ARG_TYPE)이 BM(비트맵)인 파일에 적용됩니다. 정의는 열기 활동을 아이콘 편집기를 실행하는 Dticon 활동에 대응시킵니다.
데이터 유형의 두 번 누르기 동작은 ACTIONS 필드의 첫번째 항목에 의해 정의됩니다. 예를 들면, XWD 데이터 유형에 대한 두 번 누르기 동작은 열기 활동을 실행하고 뒤이어 Xwud 활동을 실행합니다.
사용자가 데이터 파일을 활동 아이콘에 갖다 놓으면 시스템은 이 데이터 파일을 활동에 대한 인수로 사용하여 활동을 실행합니다("활동이 데이터 파일을 인수로 사용하는 방법"을 참조하십시오).
예를 들어 XWD 파일을 Xwd 표시장치 아이콘에 갖다 놓으면, Xwud 활동이 데이터 파일 인수를 사용하여 실행됩니다. 이 작업은 해당 데이터 파일과 함께 xwud X 클라이언트를 실행합니다.
데스크탑 인쇄는 데이터 파일을 인쇄하는 두 가지 방법을 제공합니다.
가능한 경우, 파일 관리자의 선택 메뉴에서 인쇄 명령 사용
데이터 파일을 데스크탑 프린터 놓기 영역(프론트 패널 프린터 제어 도구 또는 인쇄 관리자의 프린터 아이콘)에 놓기
데스크탑 인쇄 외에도, 여러 응용 프로그램들이 응용 프로그램내에서 인쇄할 수 있는 방법을 제공합니다.
데스크탑 인쇄는 이름이 인쇄인 활동을 사용합니다. 열기와 마찬가지로, 인쇄는 서로 다른 많은 데이터 유형에 사용되는 활동 이름입니다. 그러므로 인쇄 활동은 활동 대응과 ARG_TYPE 필드를 사용하여 각 데이터 유형에 대한 인쇄를 사용자 정의합니다.
예를 들면 다음이 XWD 데이터 유형에 대한 인쇄 활동입니다. 정의는 /usr/dt/appconfig/types/language/xclients.dt에 있습니다.
ACTION Print { LABEL Print ARG_TYPE XWD TYPE MAP MAP_ACTION NoPrint }
XWD 파일에 대해 특정한 이 인쇄 활동은 NoPrint 활동에 대응됩니다. NoPrint는 /usr/dt/appconfig/types/language/dt.dt에 정의된 특별한 활동입니다. NoPrint 활동은 사용자에게 이 데이터 유형은 인쇄할 수 없음을 알려주는 대화 상자를 표시합니다.
XWD 인쇄 활동과 PCL 파일에 대한 다음 인쇄 활동을 비교하십시오.
ACTION Print { LABEL Print ARG_TYPE PCL TYPE MAP MAP_ACTION PrintRaw }
환경설정 파일 /usr/dt/appconfig/types/language/print.dt에 정의된 PrintRaw 활동에는 PCL 파일 인쇄를 위한 명령 행이 들어있습니다.
ACTION PrintRaw { TYPE COMMAND WINDOW_TYPE NO_STDIO EXEC_STRING /usr/dt/bin/dtlp -w% (File)Arg_1% }