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

10장 활동 및 데이터 유형 소개

활동데이터 유형은 응용 프로그램을 데스크탑에 통합하기 위한 강력한 구성요소로서, 응용 프로그램을 시작하고 데이터 파일을 조작할 수 있도록 사용자 인터페이스를 만드는 방법을 제공합니다.

이 장에서는 활동 및 데이터 유형의 개념을 소개합니다. 설명하려는 내용은 다음과 같습니다.

활동 및 데이터 유형을 작성하는 절차와 규칙이 이 매뉴얼의 세 장에서 설명됩니다.

활동 소개

활동은 응용 프로그램 실행 및 데이터 파일 열기 같은 데스크탑 작업을 자동화하도록 쓰여진 명령들입니다. 활동은 응용 프로그램 매크로나 프로그램 함수와 매우 비슷하게 실행됩니다. 각 활동에는 활동을 실행하는 데 사용되는 이름이 있습니다.

일단 활동이 정의되면 이것을 데스크탑 사용자 인터페이스를 조정하는데 사용할 수 있으므로 작업이 보다 수월해집니다. 데스크탑은 아이콘, 프론트 패널 제어 도구 및 메뉴 아이템 같은 사용자 인터페이스 구성요소를 활동에 접속할 수 있는 기능을 제공합니다.

예를 들어, 응용 프로그램 관리자의 Desktop_Tools 응용 프로그램 그룹에는 다양한 유틸리티를 시작시키는 아이콘이 포함됩니다.

그림 10-1 Desktop_Tools 응용 프로그램 그룹의 활동 아이콘

Graphic

각 아이콘을 두 번 누르면 활동이 실행됩니다. 예를 들면, 다음은 사용자가 레이블이 Xwd 표시장치인 아이콘을 두 번 누를 때 실행되는 활동 정의의 일부분입니다. 활동은 환경설정 파일 /usr/dt/appconfig/types/language/xclients.dt에 정의되어 있습니다.

ACTION Xwud
    {   
        LABEL       Xwd Display  
        TYPE        COMMAND  
        EXEC_STRING     /usr/bin/X11/xwud -noclick -in \         
                 %(File)Arg_1"Xwd File To Display:"%
        ...  
    }

활동의 EXEC_STRING에 있는 명령은 사용자가 아이콘을 두 번 누르면 실행됩니다.

프론트 패널 역시 활동을 사용합니다. 예를 들면, 다음은 개인 응용 프로그램 서브패널에서 레이블이 Terminal인 제어 도구 정의의 일부분입니다. 제어 도구는 환경설정 파일 /usr/dt/appconfig/types/language/dtwm.fp에 정의되어 있습니다.

CONTROL Term
    {  
        ICON        Fpterm   
        LABEL       Terminal  
        PUSH_ACTION       Dtterm 
	...  
    }

PUSH_ACTION 필드는 사용자가 제어 도구를 누를 때 실행되는 활동을 지정합니다. 이 경우에는 활동의 이름이 Dtterm입니다.

활동의 또다른 일반적인 사용은 메뉴에 있습니다. 파일 관리자의 선택 메뉴에는 일반적으로 데이터 파일에 대한 활동이 있습니다. 예를 들면, XWD 파일(이름이 .xwd 또는 .wd로 끝나는 파일)에는 Xwud 활동을 실행하여 화면 이미지를 표시하는 열기 활동이 있습니다.

그림 10-2 XWD 데이터 유형 파일에 대한 열기 활동

Graphic

선택 메뉴에 있는 활동은 XWD 파일에 대한 데이터 유형 정의에 지정되어 있습니다. 정의는 환경설정 파일 /usr/dt/appconfig/types/language/xclients.dt.에 위치하고 있습니다.

DATA_ATTRIBUTES XWD
 {  	
   ACTIONS       Open,Print 
   ICON          Dtxwd  
   ...
 }

XWD 데이터 유형과 이와 관련있는 열기 및 인쇄 활동은 "데이터 유형이 데이터 파일을 활동에 연결하는 방법"에서 설명하고 있습니다.

활동이 응용 프로그램에 대한 아이콘을 작성하는 방법

Desktop_Tools 응용 프로그램 그룹에서 Xwd 표시장치 아이콘을 가정하십시오. 이 아이콘을 두 번 누르면 X 클라이언트 xwud가 실행됩니다. 그러나 이 아이콘은 xwud의 실제 실행 파일 /usr/bin/X11/xwud를 직접적으로 표시하지는 않습니다.

레이블이 Xwd 표시장치인 아이콘이 응용 프로그램 그룹에 나타나는데, 이는 해당 디렉토리에 이름이 Xwud인 파일이 있기 때문입니다(그림 10-3을 참조하십시오). 이 파일은 똑같은 이름-Xwud로 된 기본 활동을 나타냅니다. 활동 정의에서 활동 이름은 ACTION 키워드 다음에 오는 이름입니다.

ACTION Xwud
    { 
        LABEL         Xwd Display   
        TYPE          COMMAND  
        WINDOW_TYPE      NO_STDIO
        EXEC_STRING      /usr/bin/X11/xwud -noclick -in \   
                  File)Arg_1"Xwd File To Display:"%
        DESCRIPTION      The Xwd Display (Xwud) XwdDisplay action \       
                  displays an xwd file that was created using the \                
                  Xwd Capture (Xwd) action.  It uses \
                  the xwud command.
     }

이 파일은 활동을 나타내므로, 활동 파일이라고 합니다. 파일은 활동과 똑같은 이름으로 된 실행 파일일 때 활동 파일이 됩니다. 응용 프로그램 관리자(또는 파일 관리자)에 있는 아이콘을 활동 아이콘이라고 하거나, 이 아이콘을 두 번 누르면 응용 프로그램이 실행되므로 응용 프로그램 아이콘이라고 합니다.

그림 10-3 활동 파일을 나타내는 응용 프로그램(활동) 아이콘

Graphic

응용 프로그램 관리자가 실행 파일을 발견하면, 파일 이름과 일치하는 활동이 있는지 알아 보기 위해 활동 데이터베이스를 검색합니다. 일치되는 활동이 있으면 응용 프로그램 관리자는 이 파일이 활동 파일임을 알게 됩니다.

활동 파일의 내용은 상관이 없습니다. 활동 파일에는 일반적으로 자신의 데스크탑 기능을 설명하는 주석이 들어있습니다.


주 -

활동 파일활동 정의 파일은 같지 않습니다. 활동 파일은 활동과 같은 이름을 갖는 파일로서, 파일 관리자 또는 응용 프로그램 관리자에 응용 프로그램 아이콘을 작성하는 데 사용됩니다. 활동 정의 파일은 활동의 정의가 들어있는 이름이 name.dt인 파일입니다.


일단 데스크탑이 어떤 파일을 활동 파일이라고 판단하게 되면, 기본 활동 정의가 그 활동 파일의 모양과 동작을 정의하는 데 사용됩니다.

그림 10-4 ICON 필드가 활동 정의에 지정한 아이콘 이미지

Graphic

Xwud 활동 정의에는 실행될 명령(EXEC_STRING)이 포함되어 있으므로 Xwud 활동을명령 활동이라고 합니다. 활동 정의의 TYPE 필드는 활동 유형을 정의합니다.

처음에는 Xwd 표시장치 아이콘이 Desktop_Tools 응용 프로그램 그룹에 나타납니다. 그러나 쓰기가 허용된 임의의 디렉토리에는 활동 아이콘의 추가 사본을 작성할 수 있습니다. Xwud 활동 정의가 데이터베이스의 일부인 한, Xwud인 관리자가 작성한 실행 파일은 활동을 나타내는 활동 파일이 되며, 파일 관리자나 응용 프로그램 관리자의 아이콘이 활동을 실행하는 데 사용될 수 있습니다.

활동이 데이터 파일을 인수로 사용하는 방법

명령의 인수는 명령이 실행되는 대상으로서, 주로 파일을 말합니다. 활동은 파일 인수를 허용하도록 기록할 수 있습니다.

예를 들면, Xwud 활동의 EXEC_STRING은 파일 인수가 필수임을 지정합니다.

EXEC_STRING    /usr/bin/X11/xwud -noclick -in \                                                        %(File)Arg_1"Xwd
        File To Display:"%

용어 Arg인수를 나타냅니다. 구문 Arg_1은 첫번째 인수를 의미하며 (File)은 활동이 이 인수를 파일로 취급함을 의미합니다.

사용자가 파일 인수를 제공하는 가장 쉬운 방법은 데이터 파일을 응용 프로그램 아이콘에 갖다 놓는 것입니다. 데스크탑은 갖다 놓은 파일의 경로를 결정하여 명령 행에서 %기호 사이에 있는 문장(%(File)Arg_1"Xwd File To Display:"%) 대신 파일 경로를 대체합니다. 따라서 실행될 명령은 다음과 같습니다.

/usr/bin/X11/xwud -noclick -in file_path

사용자가 응용 프로그램 아이콘을 두 번 누르면, 데스크탑은 EXEC_STRING으로부터 파일 인수가 필수인지를 판단하고, 사용자가 파일 이름 또는 경로를 입력할 수 있도록 프롬프트를 표시하는 대화 상자를 표시합니다. Xwud 활동의 경우, 프롬프트는 다음과 같습니다.

Xwd File To Display:

사용자가 제공한 파일 이름이나 경로는 파일 인수로 사용됩니다.

활동의 또다른 용도

활동은 응용 프로그램을 시작시키는 것 이외에도, 데스크탑을 통해 다음에서 기능을 작성하는 데 사용됩니다.

데이터 유형 소개

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

데이터 유형이란?

데이터 유형은 데스크탑 데이터베이스내에서 정의된 구성입니다. 예를 들면, 다음은 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%
    }