SUBJECT:   Motif 일반 사용법 정리

Description :

     ◆  클라이언트 사용 방법  ◆ 

o  xterm 
     -cr color : text cursor의 색을 color로 지정
     -ls       : shell을 login shell로서 기동
     -sb       : scroll bar를 부착
     -sl lines : scroll할때 save할 행수를 lines에서 지정
     -T string : 윈도우에 타이틀을 붙임
     -n string : 아이콘화 했을때의 아이콘명을 붙임 
    % xterm -e rlogin hyundai1 &  ==> hyundai1으로 들어간 상태로 prompt나타남

o  xclock
     -analog    : analog 시계를 표시
     -digital   : digital의 시계를 표시
     -hd color  : analog 시계의 바늘색을 color로 지정
     -hl color  : 시계바늘의 테두리 색
     -update seconds : 시계표시의 갱신간격을 seconds초로 지정

o  xload
     -hl color  : 레이블과 눈금의 색을 color로 지정
     -scale integer : 표시하는 눈금의 수를 integer로 지정
     -update seconds : 부하상태 표시의 갱신간격을 seconds초로 지정

o  xsetroot
     -gray : root windoww의 배경색을 회색으로 함
     -mod 16 16 : root window의 배경을 격자무늬로 채움
     -def(ault) : root window의 속성값을 default의 값으로 원위치

o  커서의 형태 변경시
    -  커서 모양은 cursor pattern과 mask pattern으로 합성 되어짐
       cursor pattern은 커서의 전경형상을 결정하고 그 색은 커서의 전경식으로 
       정함 (일종의 foreground) mask pattern은 커서의 배경형상을 정하고 
       그 색은 커서의 배경색으로 정함 (일종의 background)
    % xsetroot -cursor cursor mask

o  font 사양명이란?

      -------------------------------------------------------------------
      |  "-p1-p2-p3-p4-p5-p6-p7-p8-p9-p10-p11-p12-p13-p14-p15"          | 
      -------------------------------------------------------------------
      |    -adobe-courier-bold-o-nornal--10-100-75-75-m-60-iso8859-1    |
      -------------------------------------------------------------------
     
      p1(Font Name Register)은 font을 등록한 기관 단체명
      p2(Foundry)는 font의 제작/개발자명 (adobe)
      p3(Family Name)는 font의 등록 상표명 (courier)
      p4(Weight Name)는 font의 중량(굵기 등)을 표시 (bold)
      p5(Slant)는 font의 경사상태를 나타냄 
           R  : Roman         I : Italic       O : Oblique
           RI : Reverse Italic       RO : Reverse Oblique
      p6(SetwidthName)은 font의 문자간격 결정상태의 rank를 나타냄. 
      nornal, compressed, expand등 p7(AddStyleName)은 font를 특정짓는 
      보조적인 이름(생략할 때는 아무것도 쓰지 않음)
      p8(PixelSize)은 font의 문자 size을 픽셀 값으로 나타낸 것. 
      문자 "M"을 둘러싼 상자의 크기로 대표 (10) p9(PointSize)은 font의 문자 
      size를 point수의 10배로 표시한 것. 문자 size는 문자 "M"을 둘러싼
      상자의 크기로 대표함. (100)  1 point는 1/72.27인치 p10(ResolutionX)는 
      font가 가정하고 있는 표시 디바이스의 수평 방향의 분해능이다. 
      단위는 픽셀/인치이다.(75)
      p11(ResolutionY)는     "         "           "          수직 방향의 
      분해능이다. 
      단위는 픽셀/인치이다.(75)
      p12(Spacing)은 문자의 피치의 종류를 나타냄  (m)
            M  : Monospaced (고정 pitch)  ex) fixed-width
            P  : Proportional (가변 pitch)  ex) variable-width
      p13(AverageWidth)은 이 font에 속하는 모든 문자의 평균 폭을 1픽셀의 
      10분의 1의 단위로 표시함  (60)
      p14(CharSetRegistry)는 문자 Set을 설정한 단체명 또는 표준화 번호등의 
      식별명임  (iso8859)
      p15(CharSetEncoding)은 문자 Set의 식별명임

    %  xlsfonts "*-Courier-24-*"

o  xset
     q         : 현재의 font, search, path를 표시
     fp=path   : 신규로 font,search,path를 설정하고 고친다. 과거의 값은 
                 소명되어짐
     fp default : font,search,path를 default값으로 되돌림
     fp rehash  : 써버에 대하여 font,search,path에 변경이 있었던 것을 인지시킴
    % xset fp= 
      /usr/lib/X11/fonts/misc /usr/lib/X11/fonts/100dpi /usr/lib/X11/fonts/75dpi
      ☞ fp= /usr/lib/X11/fonts/misc  (스페이스를 반드시...)
    % xset s  [ length(period) ]  ==> length는 키 입력이나 마우스 이동을 하지 
      않은 시간(초) default는 600 period는 특정 배경색의 패턴(로고)표시가 
      변경 되어 질때까지의 시간(초)
      xset s  blank      ==> 배경 패턴을 표시하지 않고 스크린을 흑색으로
      xset s  noblank    ==> 스크린을 흑색으로 하지 않고 배경 패턴(로고)을 표시
      xset s  default    ==> 스크린 보호기능을 default의 설정으로

o  mkfontdir
    - font directory에 대하여 font file을 새로이 추가 또는 삭제 할경우 
      font.dir file의 내용을 갱신함 mkfontdir에서 font directory를 지정하면 
      그 directory에 있는 font file정보를 기본으로 fonts.dir file의
      내용을 갱신하여 줌
      % mkfontdir [directory]   directory를 생략하면 현재 디렉토리가 됨

o  xfd -fn fontname

    - 문자 촌법 정보의 의미는?
       ⓐ left bearing : 문자 왼쪽의 문자 원점으로 부터의 거리 (X축 플러스 방향)
       ⓑ right bearing : 문자 오른쪽의 문자 원점으로 부터의 거리 
         (X축 플러스 방향)
       ⓒ ascent : 문자 상단의 문자 원점으로 부터의 거리 (y축 플러스 방향)
       ⓓ dscent : 문자 하단의 문자 원점으로 부터의 거리 (y축 플러스 방향)
       ⓔ width  : 문자 간격 (인접한 문자의 문자 원점간 거리)
     % xfd -fn cursor -center

o  rgb
    -  % vi rgb.txt
         40 ca 0a ==>은 입력 불가능 십진수로 바꿔서 입력
         218 165  32     goldenrod
       % rgb rgb < rgb.txt 

o  xmodmap 
    - grammer : 변경식을 간단히 설명함 
      n  : Key mapping을 실제로 변경하지 않고 그 변경 정보를 표시함
      p[m] : 현재 수식 Key의 mapping list를 표준출력으로 표시함 (수식키만)
      pk   : 현재의 Key mapping List를 표준출력으로 표시함 (Keysym 정보보여줌)
      pp   : 현재의 mouse 버튼의 mapping list를 표준출력으로 표시함
              예) xmodmap -e "pointer = 3 2 1 " 

             ----------------------------------------------------------------
                        변   경   식      |    의       미 
             ----------------------------------------------------------------
                keycode KEYCODE=KEYSYM    | 키 심볼을 키 코드에 할당함 
                keysym  KEYSYM=KEYSYM     | 키 심볼을 다른 키 심볼에 치환함
             ----------------------------------------------------------------


 
    ◆  공통 옵션   ◆ 

   ---------------------------------------------------------------------
       -bd            | 먼저 -sb(scroll bar)를 선택. 윈도우의 테두리색
       -iconic        | 기동시에 아이콘으로서 표시
       -name          | 리소스 검색에 사용하는 어플리케이션 명을 지정 
       -rv            | 반회전 표시
       -title         | 타이틀을 지정
       -display[host]:display[.screen]
   ---------------------------------------------------------------------
      %  rsh hyundai1 -n /usr/bin/X11/xload -display mymy:0 & 
          ==> 
         -n 옵션은 rsh의 입력을 /dev/null로 redirect시킴

      %  vi .Xdefaults
         ljsljs*background: red

      %  xterm -name ljsljs &
          ==> 
         빨간 배경색의 윈도우 생김

      %  xterm -xrm "*background: yellow"  
          ==> 
         이 방법은 리소스화일에서 지정할때와 같이 표기방법에서 코맨드를 
         실행할때에 리소스의 지정이 가능 반드시 문자열 데이터로는 " " 로 지정



    ◆  리소스 지정 개요  ◆ 

o 각 X 클라이언트가 가진 리소스의 값을 자신이 지정하는 방법으로는 다음의 
  3가지가 있다.
   ⓐ 리소스 화일 중에서 지정
   ⓑ X 클라이언트 실행시의 comand line option으로 지정
   ⓒ X 서버의 property(RESOURCE-MANAGER)에 set 함

        -------------------------------
        | application*resource: value |
        -------------------------------
 
   ♨ 리소스 지정설명
      ㉠ application에는 속성을 변경하고 싶은 X클라이언트의 어플리케이션명
        (X 클라이언트명), 또는 어플리케이션 클래스명(X 클라이언트 클래스명)을 
        지정한다. 대개, 어플리케이션 클래스명 쪽을 많이 사용한다.
      ㉡ 어플리케이션명은 통상, X 클라이언트의 프로그램명이지만, 실행시의 -name
        (또는 -n)옵션으로 변경할 수도 있다. 어플리케이션 클래스명은 
         X 클라이언트 마다 미리 정하여져 있고 변경할 수 가 없다. 어플리케이션 
         클래스명은 대부분의 경우 다음의 규칙으로 이름이 정해져 있지만
         예외도 있다.

        -------------<어플리케이션.클래스명의 규칙>----------------------------------
        | 어플리케이션명(단지, -name옵션으로 변경하지 않은것)의 선두 첫번째 문자를  |
        | 대문자로 변경한 것. 단지, 선두의 첫번째 문자가 "X'인 경우는 두번째 문자도 |
        | 대문자로 한다.                                                            | 
        -----------------------------------------------------------------------------

         다음은 대표적인 어플리케이션 클래스 명이다.

                  ---------------          -----------------------
                  어플리케이션명            어플리케이션 클래스명
                  ---------------          -----------------------
                      xterm                       XTerm
                      xclock                      XClock
                      xload                       XLoad
                      mwm                         Mwm
         
       ㉢ 어플리케이션 클래스명으로 리소스 지정을 한 경우에는 , 그 클래스에 
          속하는 모든 어플리케이션(아래 그림의 예에서는xterm1, xterm2, xterm3)
          에 대하여 그 리소스를 일괄 지정한다. 어플리케이션 명으로 리소스를 
          지정한 경우에는, 어플리케이션명을 가진 프로그램의 리소스에 대해서만 
          리소스가 지정된다.

                           -------------------------
                           | 어플리케이션.클래스명 |          
                           |        XTerm          |
                           -------------------------
                                /       |        \
                               /        |         \ 
                              /         |          \
                             /          |           \
                            /           |            \
                           /            |             \
                   어플리케이션명  어플리케이션명 어플리케이션명
                        xterm1         xterm2         xterm3

           %  vi  .Xdefaults
              Xterm*background: yellow
              xterm1*foreground: red
              xterm2*foreground: green
              xterm3*foreground: blue

           %  xterm -name xterm1
           %  xterm -name xterm2
           %  xterm -name xterm3

    ♨ 리소스 지정을 위한 그외의 표기방법
      
       -----------------------------------------------------
       |  application*part*resource  : value          ①   |
       |  application*part1*part2*resource : value    ②   | 
       |  *resource                        : value    ③   | 
       -----------------------------------------------------
       ① 는 하나의 X 클라이언트가 몇개의 부분으로 나뉘어져 있고  그 부분마다 
          고유의 리소스가 정의되어 있을 경우 사용함
       ② 부분의 분할이 2단계로 되어 있을 경우
       ③ X 클라이언트를 특별히 정하지 않고 모든 클라이언트에서 공통으로 
          리소스를 지정하고 싶을 경우에 사용 

    ♨ 서버측에서 리소스를 지정할려면 ?

        X 시스템에서는 써버측에 리소스를 설정한 기능이 준비되어 있다.
        이 경우 실행될 X 클라이언트가 네트워크상의 어떤 호스트상에 있어도 
        리소스로서는 이 써버측에서 설정된 값이 사용되도록 되어있다. 
        써버측에서 리소스를 설정하려면 서버측의 루트 윈도우에 리턴된
        프로퍼티(RESOURCE_MANAGER)를 사용함
        프로퍼티란? 클라이언트간의 커뮤니케이션을 위해 사용되는 써버측의 
        메모리 용역이다. 
        이 메모리용역(프로퍼티)에 클라이언트간의 공통의 고유명(프로퍼티명)을 
        붙여 놓음에 있어서 클라이언트간의 데이터의 주고받음이 가능하도록 되어 
        있다. 이 프로퍼티(RESOURCE_MANAGER)에 미리 설정을 해놓으면 X 클라이언트
        실행시에 그것이 참조되 속성이 결정됨     

          ------------------
          |  xrdb [옵션]   |
          ------------------
          -q(query) : 써버의 프로퍼티 RESOURCE_MANAGER의 현재의 설정치를 표시
          -l(load) filename : 지정한 화일name중에 정의한 리소스지정을 프로퍼티 
             RESOURCE_MANAGER에 작성함. 화일안에 작성할 리소스지정의 표기방법은 
             리소스.화일과 같다.
          -m(merge) filename : 지정한 화일은 RESOURCE_MANAGER에 추가됨
             같은 리소스에 대한 값의 지정은 overwrite됨
          -r(remove) : RESOURCE_MANAGER에 세트되있는 리소스를 전부 삭제
  

 
 
    ◆  리소스 우선 순위  ◆

o  X 클라이언트의 리소스 설정방법
   ① 리소스.화일에 의한 설정
   ② 커맨드 옵션에 의한 설정
   ③ server의 프로퍼티 RESOURCE_MANAGER에 의한 설정
   
      ♨  xclock 의 예를 들어 
            ⓐ 명령어라인
            ⓑ HOME/.Xdefaults
            ⓒ HOME/XClock
            ⓓ /usr/lib/X11/app-defaults/XClock

         가장 먼저 찾는 순서는    ⓐ > ⓑ > ⓒ > ⓓ  
        (만약 RESOURCE_MANAGER가 설정이 되있으면 HOME/.Xdefaults 대신 참조함) 
          
       
 
    ◆  리소스 값  ◆        

      XTerm*geometry: 40x10-1-1   ==> 40자리 10행으로 -1-1은 픽셀 단위로 지정
      XTerm*foreground:  green
      XTerm*background:  yellow
      XTerm*cursorColor:  green
      XTerm*pointerColor:  blue
      XTerm*pointerShape:  hand2   ==> /usr/include/X11/cursorfont.h 참조
      XTerm*scrollBar:  true
      XTerm*title:  Small Term
      XTerm*saveLines:  200
      XTerm*reverseVideo:  true   ==> foreground,background의 색을 역전시킴
      XTerm*internalBorder:  2    
        ==> 윈도우의 테두리와 텍스트 영역 사이 마진을 지정
           (cursor와 윈도우 테두리 간격)

      XClock*geometry: 300x300-1+1   
        ==> 300x200픽셀의 크기로, 우측 상단 코너에 지정
      XClock*width:  300   ==> 아날로그 디폴트 값은 164x164 픽셀
      XClock*height: 200
      xclock*analog: false   ==> xclock을 사용해서 디지탈 시계를 표시
      XClock*hands: red      ==> 바늘색깔을 red로
      XClock*highlight: blue   ==> 바늘테두리 색깔
      XClock*update:  1
      XClock*chime:  true    ==> 매시 00분과 30분에 벨을 울림
      XClock*padding:  20   ==> 문자판과 시계의 외곽선 사이의 간격 (단위는 픽셀) 

      XLoad*background: green
      XLoad*foreground: red 
      XLoad*scale:  3   ==> 목성의 수를 지정 (간격등분수)
       

 
   ◆  MWM 의 속성 변경  ◆

o  MWM을 customize을 하기 위한 두가지 file
   (1) resource file
   (2) configuration file 
        . menu의 설정    . 버튼 바인딩의 설정     . 키 바인딩의 설정

  ♨ resource 의 지정을 하려면 ?
     ① 부품(component)별로 값을 지정할 수 있는 것 [COM]
     ② 클라이언트 별로 값을 지정할 수 있는 것 [CLI]
     ③ 일률적으로만 지정할 수 있는 것 [SYS]

  ♨ 부품(component)별로 resource값을 지정
     
        ------------------------------------------
        |  Mwm*resource  : value                 |
        |  Mwm*component*resource : value        |
        ------------------------------------------
     
      ☞ component에 지정할 수 있는 값은 다음 5가지임
         ⓐ menu  ⓑ icon   ⓒ client: 
          지정한 리소스의 값은 각 클라이언트의 외측에 mwm이 부착한 프레임 
          부분에 대해서만 유효함
         ⓓ client*title: 지정한 리소스의 값은 프레임 중에서 특히 타이틀 
          표시부분(정확하게는 타이틀 표시분외에 윈도우 메뉴 버튼,최대화 버튼, 
          최소화 버튼도 포함)에 대해서만 유효함
         ⓔ feedback: feedbackwindow라는 것은 user가 대화식으로 window를 
          조작할 때 조작 확인을 위한 mwm이 message을 표시한 window이다. 
          window size 표시용 window나 window시스템을 refresh할 때, 
          mwm이 확인 메세지를 표시하는 window등이 그 예임
      
      ☞ resource 명                                        [COM]
         ----------------------------------------------------------
         |   background               activeBackground            |
         |   backgroundPixmap         activeBackgroundPixmap      |
         |   bottomShadowColor        activeBottomShadowColor     |
         |   bottomShadowPixmap       activeBottomShadowPixmap    |
         |   fontList                 activeForeground            |
         |   foreground               activeTopShadowColor        |
         |   saveUnder                activeTopShadowColor        |
         |   topShadowColor                                       |
         |   topShadowPixmap                                      |
         ---------------------------------------------------------- 

  ♨ 클라이언트 별로 값을 지정하는 resource

        ------------------------------------------
        |  Mwm*resource  : value                 |
        |  Mwm*client*resource : value           |
        ------------------------------------------

       ☞ client에 지정할 수 있는 값은 다음 3종류
          ⓐ 클라이언트(또는 application명): 지정한 특정 클라이언트에 대하여 
             resource값이 설정되어 짐
          ⓑ 클라이언트 클래스명(또는 application class명): 지정한 클래스에 
             속하는 모든 클라이언트에 대하여 resource값이 설정되어짐
          ⓒ defaults: 이름이 없는 window를 가진 클라이언트에 대하여 
             resource값이 설정되어짐

       ☞ resource 명                                              [CLI]
          ----------------------------------------------------------------
          |  clientDecoration               matteBackground              |
          |  clientFunctions                matteBottomShadowColor       |
          |  focusAutoRaise                 matteBottomShadwoPixmap      |
          |  iconImage                      matteForeground              |
          |  iconImageBackground            matteTopShadowColor          |
          |  iconImageBottomShadowColor     matteTopShadowPixmap         |
          |  iconImageForeground            maximumClientSize            |
          |  iconImageTopShadowColor        useClientIcon                |
          |  iconImageTopShadowPixmap       windowMenu                   |
          ----------------------------------------------------------------

   ♨ 일률적으로만 지정가능한 resource

         --------------------------------
         |  Mwm*resource :  value       |
         --------------------------------
         리소스값이 시스템 전체에서 유효함

       ☞ resource 명
          -----------------------------------------------------------------------
          |  autoKeyFocus         autoRaiseDelay         bitmapDirectory        |
          |  buttonBindings       cleanText              clientAutoPlace        |
          |  colormapFocusPolicy  configFile             deiconifyKeyFocus      |
          |  doubleClickTime      enforceKeyFocus        fadeNormalIcon         |
          |  frameBorderWidth     iconAutoPlace          iconBoxGeometry        |
          |  xliconBoxName        iconBoxTitle           iconClick              |
          |  iconDecoration       iconImageMaximum       iconImageMinimum       |
          |  iconPlacement        iconPlacementMargin    interactivePlacement   |
          |  keyBindings          keyboardFocusPolicy    limitResize            |
          |  lowerOnIconify       maximumMaximumSize     moveThreshold          |
          |  passButtons          passSelectButtons      positionIsFrame        |
          |  positionOnScreen     quitTimeout            resizeBorderWidth      |
          |  resizeCursors        showFeedback           startupKeyFocus        |
          |  transientDecoration  transientFunctions     useIconBox             |
          |  wMenuButtonClick     wMenuButtonClick2                             |
          ----------------------------------------------------------------------- 
    
 
 
   ◆  MWM 리소스값 설정  ◆
      
       [COM] 
       Mwm*foreground:  white
       Mwm*background:  black
       Mwm*backgroundPixmap: 25_foreground  ==>  foreground 25% , background 75%
            예) slant_left, slant_right, horizontal-tile, vertical-title                      
       Mwm*topShadowColor:  red
       Mwm*topShadowPixmap:  50_background
       Mwm*bottomShadowColor:  yellow
       Mwm*bottomShadowPixmap:  slant_right
       Mwm*activeForeground:  black
       Mwm*activeBackground:  white
       Mwm*activeBackgroundPixmap:  25_foreground
       Mwm*activeTopShadowColor:  white
       Mwm*activeBottomShadowPixmap: vertical-title 
       Mwm*activeBottomShadowColor:  black
       Mwm*activeBottomShadowPixmap: slant_left

       Mwm*fontList:  hdeng20
       Mwm*icon*fontList: hdeng18
       Mwm*saveUnder:  true  
          ==> save under라는 것은 server의 기능으로써 지정한 window아래에 
              숨겨져 있는 부분에 대하여 그 이미지를 backing store라고 불리는 
              메모리 영역에 보관하여 두고 노출시에 수복하는 것
  
       [CLI]
       Mwm*clientDecoration:  -maximize  ==> maximize만 빼고 나머지는 다 보여줌
                예) border, maximize, minimize, resize, menu, title, all ,none 
       Mwm*xclock*clientDecoration:  title
       Mwm*clientFunctions: -close  ==> window menu중에서 close항목만 삭제함
                예) close, maximize, minimize, move, resize, all, none
       Mwm*XTerm*clientFunctions: -minimize     
       Mwm*matteWidth: 5  디)0  
       Mwm*matteBackground: red
       Mwm*matte*TopShadowColor:  yellow
       Mwm*matte*BottomShadowColor:  thistle
       Mwm*iconImage:  /usr/include/X11/bitmaps/Is
       Mwm*XTerm*iconImage:  /usr/include/X11/bitmaps/smis  ==> xterm만
       Mwm*xclock*useClientIcon:  true   
          ==> 사용자 지정 아이콘 이미지를 지정했을지라도 클라이언트가 제공하는
              아이콘 이미지 사용
       Mwm*iconImageBackground:  good
       Mwm*iconImageForeground:  red
       Mwm*iconImageTopShadowColor:  white
       Mwm*iconImageBottomShadowColor:  black
       Mwm*iconImageTopShadowPixmap:  25_foreground
       Mwm*iconImageBottomShadowPixmap:  75_foreground
      
       [SYS]
       Mwm*wMenuButtonClick: false  디)true  
          ==> 윈도우 메뉴 버튼을 마우스로 클릭할때 윈도우 메뉴의 보존여부
       Mwm*wMenuButtonClick2:  true  디)true  ==> close여부
       Mwm*frameBorderWidth:  10  디)5픽셀   
          ==> 종료메뉴시 나타나는 윈도우상의 폭을 나타냄
       Mwm*resizeBorderWidth:  20  디)10픽셀   ==> 윈도우의 리사이즈의 폭
       Mwm*resizeCursors:  false  디)true   
          ==> 리사이즈 보더의 형상으로 변경할지의 여부
       Mwm*bitmapDirectory:  /usr/include/X11/bitmaps 
       Mwm*iconImageMaximum:  60x50   ==> 상한을 폭 60픽셀, 높이 50픽셀
       Mwm*iconImageMinimum:  20x20   ==> 하한을 폭 20픽셀, 높이 20픽셀
       Mwm*iconDecoration:  image   ==> 이미지만 표시
          예) label, image, activelabel(아이콘이 액티브일때는 라벨을 표시)
       Mwm*fadeNormalIcon:  true  디)true  
          ==> window의 minimize button을 눌렀을때 icon box의 해당 window만 
              정상적으로 보임
       Mwm*iconAutoPlace:  true  디)true  
          ==> 값이 true이면 mwm이 icon의 배치를 자동적으로 결정
       Mwm*iconClick:  true  디)true  ==> 아이콘을 마우스로 클릭 했을                          
       Mwm*useIconBox:  true
       Mwm*iconBoxGeometry:  10x1  디)6x1+0-0  ==> 단위가 icon수
       Mwm*iconBoxTitle:  Tools
       Mwm*iconBoxName:  iconbox  디)iconbox  
          ==>  아이콘박스의 resource를 검색하는 데 사용
       Mwm*maximumMaximumSize:  1280x1024 
       Mwm*maximumClientSize:  60x50  
          ==> text표시용의 클라이언트에 한해 1행의 문자수x행수로 됨
              윈도우 크기가 고정이 되어 크기 변환이 안됨
       Mwm*interactivePlacement: true  ==> 포인터로 초기위치를 지정일경우 true
       Mwm*iconPlacement: top right  ==> 오른쪽 위로부터 아래로 나열 
                                         (전제조건: Mwm*useIconBox: false)
           예)left,right[top] left,right[bottom], [top]left,right, 
              [bottom]left,right 
       Mwm*iconPlacementMargin:  5  단위는 픽셀  
          ==> 화면끝부터 아이콘까지의 거리를 5픽셀로 설정
       Mwm*keyboardFocusPolicy:  pointer  
          ==> 윈도우또는 윈도우 프레임상에 포인터가 있으면 액티브됨
           예) explicit  ==> 버튼 1이 눌렀을때
       Mwm*focusAutoRaise:  false  
                          ==> 액티브 윈도우가 변하여도 스택 오더를 변경하지 않음
                            true  
                          ==> 액티브 윈도우를 항상 스택의 최상위로 함
       Mwm*autoKeyFocus:  true  
          ==> 포커스 윈도우가 소멸되었을 때, 또는 아이콘화되었을 때 그 윈도우의
              바로 이전에 포커스 되어진 윈도우를 옮길지의 여부를 결정
              true이면 바로 전의 윈도우에 포커스가 옮겨짐
              (전제조건: Mwm*keyboardFocusPolicy: explicit)
       Mwm*autoRaiseDelay:  500   디)500ms  ==> active가 되는 시간
       Mwm*startupKeyFocus:  false 디)ture  
          ==> 윈도우가 map되어졌을때 mwm이 그 윈도우를 자동적으로
              포커스할지의 여부를 결정함   



   ◆  윈도우 메니저의 메뉴 정의  ◆

      ☞  --------------------------------------------------------
          |  Menu  MenuName                                      |
          |  {                                                   |
          |  selection [mnemonic][acclerator]function[argument]  |
          |                     ...                              |
          |   }                                                  |
          --------------------------------------------------------
            mnemonic은 
           -------------------------------------
           |  [modifier-name]  key-name   |
           ------------------------------------- 

          Menu DefaultWindowMenu  혹은 Menu MyWindowMenu
          {
               "MyTool"                                f.menu MyTool
                no-label                                f.separator
                "이전 상태로"           AltF5      f.restore
                옮기기                  AltF7      f.move
                "크기 바꾸기"           AltF8      f.resize
                "가장 작게"             AltF9      f.minimize
                "가장 크게"             AltF10     f.maximize
                뒤로                    AltF3      f.lower
                no-label                                f.separator
                닫기                    AltF4      f.kill
           }

          Mwm*windowMenu:  MyWindowMenu 로 정의할 수 있음


      ☞  ------------------------------------------------------
          |  Buttons  SetName                                  |
          |  {                                                 |
          |  button context function [argument]                |
          |                 ...                                |
          |   }                                                |
          ------------------------------------------------------
           button은
           ------------------------------------------
           |  [modifier-name]    |
           ------------------------------------------
 
          Buttons DefaultButtonBindings  혹은 Buttons MyButtonBindings
          {
                        icon|frame      f.raise
                        icon|frame      f.post_wmenu
          !             root            f.menu  DefaultRootMenu
                        root            f.menu  LeeRootFirstMenu
                        root            f.menu  LeeRootSecondMenu
                        root            f.menu  LeeRootThirdMenu
           }

          Mwm*buttonBindings:MyButtonBindings 


      ☞  ---------------------------------------------------
          |  Key  Setname                                   |
          |  {                                              |
          |  Key  context function [argument]               |
          |               ...                               |
          |  }                                              |
          ---------------------------------------------------
           key는
          -------------------------------------
          |  [modifier-name]key-name     |
          -------------------------------------

           Keys DefaultKeyBindings  혹은 MyKeyBindings
           {
               ShiftEscape        window|icon          f.post_wmenu
               Altspace           window|icon          f.post_wmenu
               AltTab             root|icon|window     f.next_key
               Alt ShiftTab       root|icon|window     f.prev_key
               AltEscape          root|icon|window     f.circle_down
               Alt ShiftEscape    root|icon|window     f.circle_up
               Alt Shift Ctrlexclam root|icon|window   f.set_behavior
               AltF6              window               f.next_key transient
               Alt ShiftF6        window               f.prev_key transient
               ShiftF10           icon                 f.post_wmenu
               Alt ShiftDelete    root|icon|window     f.restart
               Pause           root|icon|window        f.exec "xterm -bg black -fg white&"
            } 
        
           Mwm*KeyBindings: MyKeyBindings


Revision History

작성일자 : 96.10.15
작성자 : 이진수