Solaris 공통 데스크탑 환경: 고급 사용자 및 시스템 관리자 안내서

데이터 유형 소개

사용자가 새로운 데이터 파일을 작성한 경우, 파일 관리자에 있는 파일 아이콘의 모양과 동작은 사용자가 작성한 데이터 파일의 유형에 따라 다양합니다. 파일과 디렉토리에 대한 사용자 정의 모양과 동작을 작성하는 이러한 기능은 데스크탑의 데이터 유형 메커니즘에 의해 제공됩니다.

데이터 유형이란?

데이터 유형은 데스크탑 데이터베이스내에서 정의된 구성입니다. 예를 들면, 다음은 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 파일이 선택되면 선택 메뉴에는 열기와 인쇄 항목이 포함됩니다.

데이터 유형 정의의 ACTIONS 필드는 명령이 데이터 유형의 선택 메뉴 하단에 추가되도록 지정합니다.

DATA_ATTRIBUTES XWD { ACTIONS Open,Print ...

선택 메뉴의 내용은 데이터 유형에 따라 달라집니다. 그러나 서로 다른 여러 데이터 유형들이 열기 활동을 제공합니다-즉, 파일 관리자에서 해당 특정 데이터 유형의 파일을 선택하고 선택 메뉴를 표시하면 열기 명령을 볼 수 있습니다.

그림 10-5 XWD 파일에 대한 선택 메뉴

Graphic

열기 활동은 일반적으로 데이터 파일과 관련있는 응용 프로그램을 실행합니다. 예를 들어, XWD 파일을 열면 Xwud 활동이 실행되는데, 이 활동은 차례대로 xwud X 클라이언트를 실행하고 화면 이미지를 표시합니다. 다시 말하면 XWD 데이터 유형의 경우, 열기 활동은 Xwud 활동과 동의어입니다. 마찬가지로 데이터 유형 TEXTFILE의 파일을 열면 문서 편집기가 실행되고, BM(비트맵) 또는 PM(픽스맵)파일을 열면 아이콘 편집기가 실행됩니다.

활동 정의의 다음 두 가지 기능을 사용하여 서로 다른 작업을 수행하는 다양한 열기 활동을 작성할 수 있습니다.

다음은 열기 활동을 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%
    }