사용자가 새로운 데이터 파일을 작성하면, 파일 관리자에 있는 파일 아이콘의 모양과 동작은 사용자가 작성한 데이터 파일의 유형에 따라 달라집니다. 파일과 디렉토리에 대한 사용자 정의 모양과 동작을 작성하는 이러한 기능은 데스크탑의 데이터 유형 메커니즘에 의해 제공됩니다.
데이터 유형은 데스크탑 데이터베이스에 정의된 구성입니다. 예를 들어, 다음은 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 활동을 실행합니다.
사용자가 데이터 파일을 활동 아이콘에 놓으면 시스템은 이 데이터 파일을 활동에 대한 인수로 사용하여 활동을 실행합니다(155 페이지의 "활동이 데이터 파일을 인수로 사용하는 방법"을 참조하십시오).
예를 들어, XWD 파일을 Xwd 표시장치 아이콘에 놓으면, Xwud 활동이 데이터 파일 인수를 사용하여 실행됩니다. 이 작업은 해당 데이터 파일과 함께 xwud X 클라이언트를 실행합니다.
데스크탑 인쇄를 통해 다음과 같은 방식으로 데이터 파일을 인쇄할 수 있습니다.
가능한 경우, 파일 관리자의 선택 메뉴에서 인쇄 명령어 사용.
데이터 파일을 데스크탑 프린터 놓기 영역(프론트 패널 프린터 제어도구 또는 인쇄 관리자의 프린터 아이콘)에 놓기.
데스크탑 인쇄 외에도, 여러 응용 프로그램이 응용 프로그램내에서 인쇄할 수 있는 방법을 제공합니다.
데스크탑 인쇄는 인쇄라는 활동을 사용합니다. 열기와 마찬가지로 인쇄는 서로 다른 많은 데이터 유형에 사용되는 활동 이름입니다. 따라서, 인쇄 활동은 활동 매핑과 ARG_TYPE 필드를 사용하여 각 데이터 유형에 대한 인쇄를 사용자 정의합니다.
예를 들어, 다음은 XWD 데이터 유형에 대한 인쇄 활동입니다. 정의는 /usr/dt/appconfig/types/language/xclients.dt에 있습니다.
ACTION Print { LABEL Print ARG_TYPE XWD TYPE MAP AP_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% }