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 데이터 유형 및 관련된 열기 및 인쇄 활동은 158 페이지의 "데이터 유형이 데이터 파일을 활동에 연결하는 방법"에 설명되어 있습니다.

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

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 활동을 실행합니다.

데이터 파일을 활동 아이콘에 놓기

사용자가 데이터 파일을 활동 아이콘에 놓으면 시스템은 이 데이터 파일을 활동에 대한 인수로 사용하여 활동을 실행합니다(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%
}