BBSˮľÇ廪վ¡Ã¾«»ªÇø

¼ÄÐÅÈË: <bbs@captain.net.tsinghua.edu.cn>  
±ê  Ìâ: 4 -- Alex ÕûÀí 
·¢ÐÅÕ¾: »ªÄÏÀí¹¤´óѧ BBSľÃÞÕ¾ 
ÈÕ  ÆÚ: Tue Aug 20 08:33:48 1996 
 
    ½×²ãµÄ×ÊѶ£ºÄã¿ÉÒÔ¿´µ½Õâ¸öÊÓ´°µÄ¸¸ÊÓ´°µÄid£¬¼¸¸ö×ÓÊÓ´°µÄid£¬ÒÔ¼° 
        ¸ùÊÓ´°µÄid£¬ÔÚxlswins Öпɵõ½ÏàͬµÄ×ÊѶ£¬µ«ÔÚÕâÀïÖ»Äܵõ½×î 
        ½üÒ»²ã×ÓÊÓ´°µÄid£¬²¢·ÇÕû¸ö×ÓÊ÷¡£ 
 
    ¼¸ºÎϸ½Ú£ºÊÓ´°µÄ´óСºÍλÖã¬ÒÔ¼°ËüµÄËĸö½ÇµÄλÖᣠ
 
    ºÍserverÓйصÄÖØ½¨¹¹²ÎÊý£ºÏñ¡±gravity ¡±ºÍ¡±backing store ¡±Õâ 
        Ð©×´Ì¬(state) £¬µ±ÊÓ´°¸Ä±ä´óС»ò´Ó±»ÕڸǵÄ״̬ÏÂÖØÐÂÏÔ 
        Â¶³öÀ´Ê±£¬serverÐèÒªÓõ½ÕâЩ²ÎÊý£¬ÕâЩ²ÎÊýÄã×Ô¼º²»»áÓõ½£¬ 
        µ«¿É½åËüÁ˽âϵͳÈçºÎÔË×÷¡£ 
 
    Ê¼þ²ÎÊý£ºÕâЩ²ÎÊýÒ²ÊǸøserver¶ø·Ç¸øÊ¹ÓÃÕßÓõġ£ 
 
    ÊÓ´°¹ÜÀíÆ÷×ÊѶ£ºÔÚϵͳ¸Å¹ÛÖУ¬ÎÒÃÇÔø¾­Ìá¹ýÓ¦ÓóÌʽ½åÖø¸øÊÓ´°¹ÜÀí 
        Æ÷һЩÌáʾ¡±hints ¡±À´´ï³ÉͨѶ£¨ÕâЩÌáʾ°üÀ¨Ó¦ÓóÌʽËùÏ£ÍûÊÓ 
        ´°µÄ´óС£¬ÒÔ¼°Öض¨´óСʱµÄÏÞÖÆµÈ¡££©£¬xwininfoÔÚÕâ¸ö²¿·ÝµÄÊä 
        ³ö±ãÊǸæËßÄãÕâЩ¡±Ìáʾ¡±µÄ×ÊÁÏ¡£Program supplied location Îª 
        Ó¦ÓóÌʽ½¨ÒéËü×Ô¼ºÓ¦¸Ã°ÚÄÄÀï¡£Èç¹ûÄãÔø¸ø¹ýλÖ㬲»ÂÛÊÇÔÚÃüÁî 
        Áлòresource file £¬¶¼»áÔÚ User supplied location ³öÏÖ£¬ÔÚÊÓ 
        ´°´óС·½ÃæÍ¬Àí¿ÉÍÆ£¬resize increments ½âÊÍÁËΪʲ÷áÓÐЩÊÓ´°£¨ 
        ÀýÈçxterm ºÍxfd £©²»ÄܰѴóС¶¨ÎªÈÎÒâÊýÄ¿µÄÏñËØ£¬ÒòΪӦÓóÌʽ 
        ÒѾ­¸æËßÁËÊÓ´°¹ÜÀíÆ÷ÔÚÖØ¶¨´óСʱ°´¶àÉÙ¸öÏñËØµÄ±¶Êý·Å´ó»òËõС 
        £¨xterm ºÍxfd ËüÃǵĴóСºÍËùʹÓõÄ×ÖÐÍÓйأ©£¬ÄãÒ²¿ÉÒÔÓÉÕâ¸ö 
        ²ÎÊýÖªµÀĿǰÊÓ´°µÄλÖã¬ËùÒÔÉÔááÄã¿ÉÒÔÔÚͬһλÖÃÉÏÖØ½¨Ëü¡£ 
 
 
12.2.3  ÁгöÊÓ´°µÄÐÔÖÊ -- xprop 
 
    ÈçͬÎÒÃÇÔÚϵͳ¸Å¹ÛËùÌá¼°µÄ£¬Ò»¸ö¡±ÐÔÖÊ¡±(property)ÊÇָһС¶ÎÓйؠ
ÊÓ´°µÄ×ÊÁÏ£¬xprop ÈÃÄãÁгöÒ»¸öÌØ¶¨ÊÓ´°µÄËùÓС±ÐÔÖÊ¡±£¬ÄãÒ²¿ÉÒÔÁÐÓ¡ 
Ò»¸ö×ÖÐ͵ÄÐÔÖÊ¡£ 
 
¡¡¡¡Äã¿ÉÒÔ¾­Óɳ£Óõķ½Ê½À´Ñ¡ÔñÊÓ´°£¨Åö´¥»¬Êó°´Å¥»òʹÓÃ-root »ò-id Ñ¡Ï 
£¬Èç¹ûÊÇÖ¸¶¨×ÖÐÍ£¬ÔòÓÃÑ¡Ïî-font fontname¡£ 
 
    ÏÔʾ³öÀ´µÄ¸ñʽΪ£º¶Ôÿһ¸öÐÔÖÊ£¬¾ùÓÐÒ»¸öÐÔÖÊÃû³Æ£¬ÔÚÆäááÓÃСÀ¨»¡ 
À¨×¡µÄΪÐÔÖʵÄÐÍ̬»ò¸ñʽ£¬×îááÔòΪÐÔÖʵÄÖµ¡£´ó²¿·ÝÄãËù¿´µ½µÄÐÔÖÊÐÍ̬ 
ΪSTRING£¬ÐÔÖʵÄÖµÓᱡ¡¡±À¨ÆðÀ´£¬ÆäËüµÄÐÔÖÊÐÍ̬µÄ¸ñʽÊÇרÊôµÄ£¬´Ó 
ÐÔÖʵÄÖµºÜÈÝÒ×Á˽âËüµÄÒâÒ壬¶Ô×ÖÐÍÏÔʾµÄ¸ñʽÉÔÓв»Í¬£¬ËüûÓÐÐÔÖÊÐÍ̬£¬ 
µ«ÐÔÖʵÄÖµÒâÒåÒ²ºÜÃ÷ÏÔ¡£ 
 
×¢Ò⣺xprop µÄÊä³öÏ൱µÄ¸´ÔÓ£¬ÎÒÃDz¢²»ÐèÒªÁ˽âÆäËùÓеÄÄÚÈÝ£¬¶ËÊÓÐèÒª¶ø 
      ¶¨¡£ 
 
    ÒÔÏÂÈÃÎÒÃÇ¿´¿´´ÓÓ¦ÓÃÊÓ´°¡¢¸ùÊÓ´°¡¢×ÖÐÍËù»ñµÃ²»Í¬µÄÊä³ö£º 
 
Ó¦ÓÃÊÓ´°µÄÐÔÖÊ 
 
    Í¼12-4Ϊxprop ¶ÔÒ»¸öÓ¦ÓÃÊÓ´°µÄÊä³ö£¬ÓÐЩ×ÊѶÄãÒѾ­ÔÚxwininfoÖп´ 
µ½¹ý£¬ÔÚ´Ë´¦Äã¿ÉÒÔÔÚÃûΪWM_NORMAL_HINTS ºÍWM_HINTSµÄÐÔÖÊÖп´µ½¡£ 
 
           ©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´ 
           ©¦  p140     fig 12.4                 ©¦ 
           ©¦                                    ©¦ 
           ©¦ Í¼12-4  Ò»¸öÓ¦ÓÃÊÓ´°µÄÐÔÖʱíÁР    ©¦ 
           ©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼ 
 
ÆäËüµÄÐÔÖÊÈçÏ£º 
 
WM_COMMAND£ºÖ´ÐÐÆô¶¯Õâ¸öÓ¦ÓóÌʽµÄÃüÁîÁУ¬±»ÇгÉÒ»¸ö¸öÓÃË«ÒýºÅÀ¨ÆðÀ´µÄ 
¡¡¡¡¡¡¡¡¡¡¡¡µ¥×Ö¡£ 
 
WM_CLIENT_MACHINE £ºÖ´ÐÐÕâ¸öclientÓ¦ÓóÌʽµÄ»úÆ÷Ãû³Æ£¨Õâ¸öÀý×ÓÓ¦Óó̠
            Ê½ºÍserverÔÚͬһ²¿»úÆ÷ÉÏÖ´ÐУ¬ËùÒÔ»úÆ÷Ãû³ÆÎªvenus ¡££©¡£ 
 
WM_CLASS£ºÏÔʾӦÓóÌʽµÄinstant nameºÍclass name£¬instant nameÊÇÃüÁî 
            ÁÐÖÐ-name Ñ¡ÏîµÄÖµ¡£ 
 
WM_ICON_NAME£ºÓ¦ÓóÌʽµÄ±íáçͼËùÒªÏÔʾ³öÀ´µÄÃû³Æ£¨ÄãµÄÊÓ´°¹ÜÀíÆ÷±ØÐë 
            Äܹ»Ö§Ô®·½¿É£©¡£ 
 
WM_NAME £ººÜÆæ¹ÖµÄ£¬Õâ²»ÊÇÓ¦ÓóÌʽµÄÃû³Æ£¬¶øÊÇÓÉ-titleÑ¡ÏîÖ¸¶¨µÄÊÓ´° 
            ±êÌâÃû³Æ£¬ÓÐЩÊÓ´°¹ÜÀíÆ÷»á°Ñ±êÌâÃû³ÆÏÔʾÔÚÓ¦ÓÃÊÓ´°µÄ±êÌâ 
            °ôÉÏ¡£ 
 
×¢Ò⣺ÉÏÊöÃüÁîÁÐÖÐ-name ºÍ-titleÁ½¸öÑ¡ÏîʹÓõúܹ㣬µ«Ëü²¢·ÇͨÓà
      (universal) µÄÑ¡ÏӦÓóÌʽÔÚ׫дʱ±ØÐèҪʹÓõ½£Ø Toolkit£¨¹¤ 
      ¾ßÏ䣩²ÅÄܰÑÕâÁ½¸öÑ¡Ïîµ±³É±ê׼ѡÏîÀ´Óᣣ¨²Î¼ûµÚ£±£µÕ£© 
 
 
¸ùÊÓ´°µÄÐÔÖÊ 
 
    Í¼12-5ÊÇxprop ¶Ô¸ùÊÓ´°µÄÊä³ö£¬ÏÔ¶øÒ×¼ûµÄÊÇ£¬Ëü²»»áº¬ÓÐÈκÎÊÓ´°¹Ü 
ÀíÆ÷µÄÐÔÖÊ£¬ÒòΪÊÓ´°¹ÜÀíÆ÷¾ø²»¿ÉÄÜÖØÐ½¨¹¹¸ùÊÓ´°¡£ 
 
           ©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´ 
           ©¦  p141     fig 12.5                 ©¦ 
           ©¦                                    ©¦ 
           ©¦ Í¼12-5  ¸ùÊÓ´°µÄÐÔÖʱíÁР          ©¦ 
           ©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼ 
 
ÓÐȤµÄÑ¡ÏîÈçÏ£º 
 
RESOURCE_MANAGER£ºÕâ¸ö¸ùÊÓ´°ÐÔÖÊÊÇresource½á¹¹µÄÊäÈëÔ´Ö®Ò»£¬ÎÒÃǽ«ÔÚ 
            µÚ£±£±ÕÂÏêϸµØÌÖÂÛËü¡£ 
 
¼¸¸öCUT_BUFFER£ºµ±ÄãÇÐȡһ¶Î±¾ÎÄ£¨×ö¼ôÌù¶¯×÷³£Óã©£¬Õâ¶Î±»ÇÐÈ¡µÄ±¾ÎÄ 
            ±»·ÅÔÚÒ»¸öÇÐÈ¡»º³åÆ÷(cut buffer)ÖУ¬ÕâЩ»º³åÆ÷±»µ±×÷ÊǸù 
            ÊÓ´°µÄÐÔÖÊÀ´´¢´æ£¬¶Ôì¶ÇÐÈ¡£¬»º³åÆ÷ÊÇÑ­»·Ê¹Óõģ¬ÀýÈçÉϴΠ
            ÓÃ5 ºÅ»º³åÆ÷£¬ÔòÏ´ÎÓÃ6 ºÅ£¬½ÓÏÂÀ´7 ºÅ¡¢0 ºÅ¡¢1 ºÅµÈµÈ£¬ 
            µ«ÊÇð¤ÌùÔòÒ»¶¨Ê¹ÓÃÉÏ´ÎÇÐÈ¡¶¯×÷ËùÓõĻº³åÆ÷¡£ 
 
×ÖÐÍÐÔÖÊ 
 
    Í¼12-6Áгöµ±ÎÒÃÇÖ¸¶¨*times*bold*-i-*-180-*µÄ×ÖÐÍÐÔÖÊ£¬´ó²¿·ÝµÄ×Ê 
ѶÎÒÃǶ¼²»Ðè¹ØÐÄ£¬Äã¿ÉÄÜÖ»¶ÔFULL_NAME ºÍPOINT_SIZEÓÐÐËȤ¡£ 
 
           ©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´ 
           ©¦  p142     fig 12.6                 ©¦ 
           ©¦                                    ©¦ 
           ©¦ Í¼12-6  ×ÖÐ͵ÄÐÔÖʱíÁР            ©¦ 
           ©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼ 
 
 
 
12.3  ¹Û²ì£ØµÄʼþ -- xev 
 
    ¡±Ê¼þ¡±»ò¶à»òÉÙÇý¶¯ÖøÕû¸öÊÓ´°ÏµÍ³£¬ËùÓеÄÊäÈ룬²»ÂÛÊÇ»¬Êó»ò¼üÅÌ£¬ 
¾ùÓÉ¡±Ê¼þ¡±À´ÕÆÎÕ£¬¡±Ê¼þ¡±Ò²±»ÓÃÀ´Çý¶¯ÊÓ´°µÄÖØÐ½¨¹¹ºÍÕ¹ÏÖ¡£xev ³Ì 
ʽÈÃÄã¿´µ½µ±²»Í¬µÄ¶¯×÷·¢Éúʱ£¬»á²úÉúʲ÷ᡱʼþ¡±£¬ÒÔ¼°ºÍ¡±Ê¼þ¡±Óйؠ
µÄ×ÊѶ¡£ 
 
    µ±xev Æô¶¯£¬Ëü»á½¨Ò»¸öÀàËÆÍ¼12-7µÄÊÓ´°£¬¶øÔÚÕâÊÓ´°ÖУ¬»á¿ªÊ¼Áгö 
ÀàËÆÍ¼12-8µÄÓйØÊ¼þµÄϸ½Ú²¿·Ý¡£ 
 
           ©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´ 
           ©¦  p143     fig 12.7                 ©¦ 
           ©¦                                    ©¦ 
           ©¦ Í¼12-7  xev ÊÓ´°                   ©¦ 
           ©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼ 
 
           ©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´ 
           ©¦  p143     fig 12.8                 ©¦ 
           ©¦                                    ©¦ 
           ©¦ Í¼12-8  xev µÄÊä³ö                 ©¦ 
           ©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼ 
 
    ÓÉì¶ xevÌṩ´óÁ¿µÄϵͳÄÚ²¿²Ù×÷ϸ½Ú£¬ÄãÈç¹ûÏëÒª¡±ÊµÑ顱ϵͳ£¬ÕâÊÇÒ»¸ö 
ºÜÓÐÓõijÌʽ£¬ÓÐÁ½¸ö˵Ã÷ÊÖ²áÉÏδÌáµ½µÄÑ¡Ïî¿ÉÒÔÓ°Ïìµ½xev µÄÐÐΪ£º 
 
-bs option£º´ËÑ¡Ïî¸Ä±äxev ¶ÔserverÊÇ·ñʹÓÃbacking store £¨¼ûµÚ£²Õ£©£¬ 
            Ê¹ÓÃbacking store ½«¼õÉÙÆØ¹â¡±Ê¼þ¡±µÄ´ÎÊý£¨Ò²¾ÍÊǼõÉÙÓ¦ 
¡¡¡¡¡¡¡¡¡¡¡¡ÓóÌÊ½ÖØÐ¸üÐÂËü×Ô¼ºÊÓ´°µÄ´ÎÊý£©£¬ÕýÈ·µÄÑ¡ÏîÄÚÈÝΪalways£¬ 
¡¡¡¡¡¡¡¡¡¡¡¡whenmappedºÍnotuseful ¡£ 
 
-s£ºÊ¹ÓÃsave-unders £¨¼ûµÚ£²Õ£©£¬Ò²¾ÍÊÇ˵£¬ÒªÇóserver±£´æÄÇЩ±»xev 
            µÄÊÓ´°ÕÚ¸ÇÖ®ÊÓ´°µÄÄÚÈÝ¡£ 
 
 
12.3.1  xev ºÍ¼üÅÌ 
 
    Èç¹ûÄ㽫ָ±êÒÆÈëxev ÊÓ´°ÇÒ°´ÏÂÄãµÄ¼üÅÌÉϵÄijһ¸ö¼ü£¬ÔòÒ»¸ö£¨»ò¶à 
¸ö£©¼üÅÌ¡±Ê¼þ¡±»á·¢Éú£¬¡±Ê¼þ¡±µÄ×ÊѶ°üº¬ÁËkeycode ºÍkeysym£¬ÕâÊÇ×î 
ÈÝÒ×¹Û²ìÄãµÄ»úÆ÷ÉÏijһ¸ö¼üÊÇʲ÷á¼üÂë(keycode) µÄ·½·¨£ºÖ´ÐÐxev £¬°´Ò» 
¸ö¼ü£¬xev ±ã»á¸øÄã×ÊѶ£¬Õâ¶Ô¶¨ÖÆÄãµÄ¼üÅ̷dz£ÓÐÓ㬼û£±£¸Õ¡£ 
 
 
 
12.4  ½áÂÛ 
 
    ±¾ÕÂËùÊöµÄÕâЩ³Ìʽ£¬ÈÃÄã¹Û²ìϵͳµÄÄÚ²¿£»»ñµÃËüµÄ²Ù×÷ϸ½Ú£»ºÍËüµÄ 
ÊÓ´°¼°ÆäËü³ÉÔ±ÌØ¶¨µÄ×ÊѶ£®¶ÔÕâЩ³Ìʽ±¾Éí¶øÑÔ£¬ËüÃÇÄܰïÖúÄãÁ˽âϵͳ£¬ 
µ«ËüÃÇ×î´óµÄÓÃ;¿ÉÄÜÊÇÓÃÀ´Á¬½ÓÄÇЩ¶¨ÖÆÏµÍ³µÄ³Ìʽ¡£ÒÔϵļ¸ÕÂÔÚ˵Ã÷Èç 
ºÎ¶¨ÖƺÍÉ趨ÄãµÄϵͳ£¬ºÃÈÃϵͳ¸üÊʺÏÄ㹤×÷µÄϰ¹ß¡£ 
 
    ÏÂÒ»ÕÂÌÖÂÛ´¦Àí×ÖÐͺÍÑÕÉ«£¬¼°ÈçºÎʹÓÃËüÃÇ¡£ 
 
===== 
 
µÚ£±£³Õ  Ê¹ÓãصÄ×ÖÐͺÍÉ«²Ê 
 
    £ØÖ§Ô®¶àÖÖµÄ×ÖÐͼ°¼¸ºõÎÞÏÞ¶àÖֱ仯µÄÉ«²Ê£¬´ó¶àÊýµÄÓ¦ÓóÌʽÔÊÐíÄãÖ¸ 
¶¨Ó¦ÓÃÊÓ´°Öи÷¸ö²»Í¬²¿·ÝµÄÑÕÉ«£¬¶ø¼¸ºõËùÓеģسÌʽ¾ùÔÊÐíÄãÖ¸¶¨ÄãÏëҪʹ 
ÓõÄ×ÖÐÍ¡£ 
 
ÔÚ£ØÖеÄ×ÖÐÍ(fonts)£º 
 
    £®Óй̶¨µÄ¿í¶È£¨ÏñÑÆÖÕ¶Ë»úµÄ×ÖÔª£©»ò³É±ÈÀýµÄ¼ä϶¡£ 
 
    £®Óɱ¾ÎÄ×ÖÔª(text characters) »ò·ûºÅ×é³É£¬»òÒÔÉÏÁ½Õß¾ùÓС£ 
 
    £®¾ßÓжàÖֵĵã³ß´ç(point size)¡£ 
 
    £®¿ÉÒÔÐÞ¸ÄÒÔÊÊÓ¦ÌØ¶¨µÄÓ©Ä»½âÎö¶È£¨ÀýÈç¶Ôì¶Í¬Ò»µã³ß´çµÄijһÖÖ×ÖÐÍ£¬ 
      Äã¿ÉÄܶÔ75 dpi (dots-per-inch Ã¿´çÈô¸Éµã) µÄÓ©Ä»ÓÐÒ»ÖÖ°æ±¾£¬¶Ô 
      100 dpi µÄÓ©Ä»ÓÐÁíÒ»ÖÖ°æ±¾£©¡£ 
 
    £®ÓÐÒ»ÖÖ±ê×¼ÃüÃûµÄ´«Í³¡£ 
 
    £®¿ÉÒÔÒÔÈ«Ãû´æÈ¡£¬Ò²¿ÉÒÔÓÃͨÓÃ×ÖÔª(wildcard)¡£ 
 
    £®´¢´æÔÚÌØ¶¨½¨¹¹µÄĿ¼Ê÷ÖУ¬Ö»ÒªserverÔÚÖ´ÐÐʱ£¬×ÖÐͱã¿ÉÒÔ¼ÓÈë»ò 
      ÒƳö¡£ 
 
    ÔÚϵͳ¼ä½øÐÐ×ÖÐ͵Ľ»»»ÓÐÒ»Ì×±ê×¼µÄ¸ñʽ£¬²¢ÇÒÓй¤¾ß³Ìʽ¿ÉÒÔ½«Õâ¸ö 
¸ñʽת»»³ÉÄãµÄserverÄÜÁ˽âµÄ¸ñʽ£¬¹¤¾ß³ÌʽҲ°üº¬ÁËÁгö¿ÉÓÃ×ÖÐ͵ÄĿ¼ 
¡¢¹Û²ìÄ³Ò»ÌØ¶¨×ÖÐÍÄÚÈݵȹ¦ÄÜ¡£ 
 
    ±¾ÕÂÏȶÔ×ÖÐÍ×÷Ò»¼ò¶ÌµÄ½éÉÜ£¬ÈÃÄãÄܾ¡¿ìµÄʹÓÃËüÃÇ£¬È»áá²Åת¶øÏêϸ 
µØ½âÊÍ×ÖÐ͵Ľṹ¡¢¸ñʽ¡¢¹¤¾ß³ÌʽµÈ£¬×îááÒ»½ÚÌÖÂÛÉ«²Ê£ºÈçºÎÉ趨ºÍʹÓà
ËüÃÇ¡£ 
 
 
13.1  ×ÖÐͳõ²½ 
 
    ±¾½ÚµÄÄ¿µÄÊÇÈÃÄ㾡¿ìµØÄÜʹÓÃ×ÖÐÍ£¬ÎÒÃǽ«¸æËßÄãÈçºÎÕÒ³öÓÐÄÄЩ×ÖÐÍ 
¿ÉÓá¢Ö¸¶¨ÄãÓûʹÓõÄ×ÖÐÍÃû³Æ¡¢¿´×ÖÐ͵ÄÍâ¹Û¡¢ÈçºÎÔÚ£ØÓ¦ÓóÌʽÖÐʹÓÃ×ÖÐÍ¡£ 
 
 
13.1.1  Áгö¿ÉÓõÄ×ÖÐÍ 
 
    xlsfonts³ÌʽһÐÐÐеÄÁгöserverÉÏ¿ÉÓõÄ×ÖÐÍ£¬Í¼13-1ÏÔʾ²¿·ÝµÄ 
xlsfontsµÄÊä³ö£¬ÄÚÈÝΪMIT °æ±ê×¼µÄ×ÖÐÍ¡£ 
 
         ©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´ 
         ©¦      p146     fig  13.1            ©¦ 
         ©¦                                    ©¦ 
         ©¦     Í¼13-1  µäÐ͵Ä×ÖÐÍĿ¼ÁÐ±í     ©¦ 
         ©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼ 
 
 
13.1.2  ×ÖÐÍÃüÃû 
 
    ÓÐЩ×ÖÐ͵ÄÃû³ÆÌ«³¤ÒÔÖÂʹÓò»±ã£¬µ«ºÜÐÒÔ˵ģ¬ËüÃÇÒ²²»³£±»Ê¹Ó㬲¢ 
ÇÒ£¬£ØÖ§Ô®×ÖÐÍÃû³Æ¿ÉʹÓÃͨ×ÖÔª(wildcard)£º 
 
    ?  ¶ÔÓ¦ÈκÎÒ»¸ö×ÖÔª 
    *  ¶ÔÓ¦´Ó£¨×ÖÔª£©³¤¶ÈΪÁãÖÁ³¤¶ÈÈô¸ÉµÄ×Ö´® 
 
    ÕâºÍUnix shell´«Í³µÄͨÓÃ×ÖÔªµµ°¸Ãû³ÆÏàͬ£¬Ê¹ÓÃͨÓÃ×ÖÔª¿ÉʹÄã¸üÈÝ 
Ò×Ö¸¶¨×ÖÐÍÃû³Æ¡£ 
 
×¢Ò⣺Èç¹ûÄãÔÚshell µÄÃüÁîÁÐÖ¸¶¨Ò»¸öͨÓÃ×ÖÔªµÄ×ÖÐÍÃû³Æ£¬ÐèÒªÔÚÃû³ÆÇ° 
      áá¼ÓÉÏË«ÒýºÅ ¡£ 
 
 
13.1.3  ¹Û²ìÒ»¸öÌØ¶¨µÄ×ÖÐÍ 
 
    xfd (£Ø font displayer µÄËõд) ³ÌʽÓÉÒýÊý(argument)µÃµ½×ÖÐ͵ÄÃû 
³ÆÖ®áᣬ½¨Á¢Ò»¸öÊÓ´°²¢ÇÒÔÚÊÓ´°ÖÐÏÔʾ´ËÃû³ÆÖ®×ÖÔª×ÖÐÍ£¬ÀýÈ磺 
 
        xfd -fn "*symbol*-180-*" 
 
½«ÏÔʾÈçͼ13-2µÄÊÓ´°¡£ 
 
         ©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´ 
         ©¦      p147     fig  13.2            ©¦ 
         ©¦                                    ©¦ 
         ©¦     Í¼13-2  ×ÖÐ͵Äչʾ             ©¦ 
         ©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼ 
 
 
13.1.4  ÒԣسÌʽʹÓÃ×ÖÐÍ 
 
    ´ó¶àÊýµÄ£Ø³ÌʽʹÓÃÎÄ×Ö£¬²¢ÇÒÔÊÐíÄãÖ¸¶¨Ê¹ÓõÄ×ÖÐÍ£¬ÈçºÎʹÓõÄÏêϸ 
ϸ½Ú¿ÉÄÜÒò²»Í¬µÄ³Ìʽ¶øÒ죬Èç¹ûÓÐÎÊÌâµÄ»°¿ÉÒÔ¿´Ö¸ÄÏÒ³¡£µ«ÊǼ¸ºõ¶¼ÊÇÒÔ 
ÃüÁîÁÐÖÐÑ¡Ïî -fn fontname »ò -font fontname À´Ö¸¶¨×ÖÐÍÃû³Æ£¬bitmap¡¢ 
xclock¡¢xterm¡¢xload¡¢xmb ºÍ xedit¶¼ÊÇÕâÑù²Ù×÷µÄ¡£ÀýÈç¼ÙÉèÄãÊÇΪÁËÕ¹ 
ʾµÄÔµ¹Ê£¬ÒԺܴóµÄ×ÖÐÍÖ´ÐÐxterm £¬Äã¿ÉÒÔÓÃÏÂÁÐÃüÁîÁУº 
 
        xterm -fn "*courier-bold-r-*-240-*" 
 
×¢Ò⣺Èç¹ûÄã¸ø³ÌʽµÄÖ¸¶¨¶ÔÓ¦µ½Ò»ÖÖÒÔÉϵÄ×ÖÐÍ£¬Ôòserver»áËæ±ãÔÚÆäÖÐÑ¡ 
      È¡Ò»¸ö£¬ÀýÈ磺Èç¹ûÄãÊ¡ÂÔÁËÉÏÀýÖеĠ-r µÄÖ¸¶¨£¬ÔòÄã»áʹÓõ½Òâ´ó 
      ÀûбÌå(italic)×ÖÐÍ»ò·´Ð±Ìå(reverse oblique) ×ÖÐÍ£¬ºÍÔ­À´ËùÖ¸¶¨ 
      µÄÂÞÂí(roman) ×ÖÐ͵Ļú»áÊÇÒ»ÑùµÄ¡£ 
 
    ÏÖÔÚÄãÓ¦¸ÃÓÐһЩ¸ÅÄîÁË£¬ÎÒÃǽ«´Ó²»Í¬µÄ¹ÛµãÏêϸµØÌÖÂÛ¡£ 
 
 
13.2  ×ÖÐÍÈçºÎÃüÃû 
 
    ÔÚ£ØÖУ¬×ÖÐÍ¿ÉÒÔÈ¡³ÉÈκÎÃû³Æ£¬µ«¼¸ºõËùÓеÄ×ÖÐ;ùÒÀÕÕËüÃǵı¾ÖÊÀ´ 
ÃüÃû£¬ÕâÑùµÄÃüÃû·½Ê½£¬Ãû×ÖÊÇÓɼ¸¸ö²»Ïà¹ØµÄ²¿·Ý×éºÏ¶ø³É£¬¶øÎÒÃÇÔÚʹÓà
Ó¦ÓóÌʽʱ£¬¹âÆ¾Öø×ÖÐÍÃû³Æ±ã¿ÉÒÔ´óÂÔÁ˽â×ÖÐ͵ÄÄÚº­¡£ 
 
    ÎÒÃÇÒÔÒ»¸ö×ÖÐÍÃû³ÆÎª·¶Àý£¬ÖðÒ»½âÊÍËüµÄ×é¼þ£¬×é¼þÖ®¼äÊÇÓɶ̺áÏß(-) 
Ëù·Ö¿ªµÄ£¬¶øÇÒ¿ÉÒÔ°üº¬¿Õ°×£¬×ÖÐÍÃû³Æ¶Ô×ÖÔª´óСд²¢²»»áÇø±ð£¬·¶ÀýÈçÏ£º 
 
    -adobe-times-bold-normal--12-120-75-75-p-67-iso8859-1 
 
    adobe £º×ÖÐ͵ÄÖÆÔì³§ÉÌ¡£ 
 
    times £ºÐÍ̬¼Ò×å(type family) £¬ÆäËüÉаüº¬courier £¬helvetica ºÍ 
            new century schoolbook¡£ 
 
    bold  £º´ÖÌå×Ö£¬ÆäËü°üº¬light £¨Ï¸£©ºÍmedium£¨Öеȣ©¡£ 
 
    r     £º×ÖÌåÇãбµÄÐÍ̬£¬r ÊÇroman £¨ÂÞÂíÌ壩£¬ÆäËüÊÇ i£¨italicÒâ 
            ´óÀûÌ壩£¬o £¨oblique ÇãбÌ壩¡£ 
 
    12    £º×ÖÔªµÄ¸ß¶È£¬µ¥Î»ÎªÏñËØ¡£ 
 
    120   £º×ÖÐ͵ĵã³ß´ç(point-size)£¬ÎªµãµÄ10±¶£¨120 ÒâΪ12µã£¬Ò»µã 
            Ô¼Îª1/72Ó¢¡õ¿í£©¡£ 
 
    75-75 £º×ÖÐͱ»Éè¼ÆÔÚÏÔʾװÖÃÉϵÄˮƽºÍ´¹Ö±µÄ½âÎö¶È£¨Ã¿¡õÈô¸Éµã£©¡£ 
 
    p     £º×ÖºÍ×ÖÖ®¼äµÄ¼ä϶£¬p ÊÇproportional£¨³É±ÈÀýµÄ£©£¬Ïà¶ÔµÄÊÇ 
            m £¨monospaced¹Ì¶¨¿í¶È£©¡£ 
 
    Èç¹ûÄã¶ÔijһÀ¸ÓÐÌØ±ðµÄÐËȤ£¬ÔÚ±¾°æµÄ˵Ã÷Îļþµµ 
 
        $TOP/doc/fontnames/fname.txt 
 
ÖУ¬ÓжÔÿһ¸ö×é¼þÍêÕûµÄ˵Ã÷¡£ 
 
    Äãͨ³£±È½ÏÓÐÐËȤµÄÏîĿΪ¼Ò×åÐÍ̬¡¢×ÖÌå´Öϸ¡¢ºÎÖÖбÌå×ÖÒÔ¼°×ÖÐÍ´ó 
С£¬³ýÁËÖ¸¶¨Õ⼸ÏîµÄÖµÍ⣬ÆäËüµÄÏîÄ¿²»·Á½åÖøÍ¨ÓÃ×ÖÔªµÄ·½Ê½È¥Ö¸¶¨¡£ 
 
 
13.2.1  Í¨ÓÃ×ÖÔªºÍ×ÖÐÍÃû³Æ 
 
    ÔÚµÚ13.1½ÚÖУ¬ÎÒÃÇÔø¾­½âÊ͹ýͨÓÃ×ÖÔªµÄ¹æÔò£ºÐǺţ¨*£©±íʾ¶ÔÓ¦µ½ 
Áã»ò¶à¸ö×ÖÔª£¬Îʺţ¨?£©¶ÔÓ¦µ½Ò»¸öÈÎÒâµÄµ¥Ò»×ÖÔª¡£ 
 
    Äã¿ÉÒÔËæÒâµÄʹÓÃͨÓÃ×ÖÔª£¬µ±ÄãµÄÉ趨¶ÔÓ¦µ½Ò»ÖÖÒÔÉϵĿÉÓÃ×ÖÐÍʱ£¬ 
server»áËæ±ãÌôÒ»ÖÖ×ÖÐÍÀ´Óã¬Èç¹ûÄãµÄÉ趨ʲ÷á×ÖÐÍҲû¶ÔÓ¦µ½£¬Í¨³£Äã»á 
»ñµÃÒ»ÐÐѶϢ£¬¶øserver½«»áʹÓÃÔ¤Éè×ÖÐÍ¡£ 
 
    Äã¿ÉÒÔ¶Ô×ÖÐ͵ĵã³ß´çʹÓÃͨÓÃ×ÖÔª£¬¶ø²»ÊÇÏñËØ³ß´ç£¬ÒòΪÔÚÏÔʾÆ÷ÉÏ 
Ò»¸ö¸ø¶¨µã³ß´çµÄ×ÖÐͶԲ»Í¬µÄ½âÎö¶ÈÓв»Í¬µÄÏñËØ³ß´ç£¬ËùÒÔÓÃͨÓÃ×ÖÔªÖ¸ 
¶¨µã³ß´ç¿ÉÒÔÔì³ÉÓë×°±¸Î޹صÄЧ¹û£¬ÉÏÊöµÄ·¶ÀýÄã¿ÉÒÔÈç´ËÉ趨£º 
 
        *-times-bold-r-*-120-* 
 
Ò²¾ÍÊÇ˵ÒÔ-120-È¡´ú-12- 
 
 
13.2.2  Áгö¿ÉÓõÄ×ÖÐÍ -- xlsfonts 
 
    xlsfontsÁгöÔÚÄãserverÉÏ¿ÉÓõÄ×ÖÐÍ£¨Èç¹ûÄãʹÓÃÓÃÃüÁîÁÐÖÐ-display 
Ñ¡Ï±ã¿ÉÁгöÆäËüserverÉÏ¿ÉÓõÄ×ÖÐÍ£©¡£Ô¤ÉèÊÇÁгöËùÓеÄ×ÖÐÍ£¬µ«ÊǾ͠
ÈçͬUnixµÄlsÃüÁîÒ»Ñù£¬Èç¹ûÄã¼ÓÉÏÏÞÖÆ£¬±ãÖ»»áÁгöºÏºõÏÞÖÆµÄÏîÄ¿£¬ÀýÈ磺 
 
        xlsfonts  "*-times-*-180-*" 
 
ÁгöËùÓÐ18µãTimesµÄ×ÖÐÍ¡£ 
 
    Ô­ÔòÉÏ£¬xlsfontsÊÔͼÔÚÿÐÐÁÐÓ¡³ö¾¡Á¿¶àµÄ×ÖÐÍÃû³Æ£¬µ«Êµ¼ÊÉÏ£¬´ó²¿ 
·ÝµÄ×ÖÐÍÃû³Æ¶¼ºÜ³¤ÒÔÖÂÒ»´ÎÖ»ÄÜÓ¡Ò»¸öÃû³Æ£¬µ«ÊÇҪСÐÄ£¬µ±×ÖÐÍÃû³Æº¬ÓР
¿Õ°×ʱ£¬Ò»ÐÐÓÐÊý¸ö×ÖÐÍÃû³Æ³£³£ÈÝÒ×»ìÏý¡£ 
 
×¢Ò⣺Ðí¶àµÄ×ÖÐÍÃû³Æ¿ªÍ·ÎªÒ»¶ÌºáÏß(-) £¬ËùÒÔxlsfonts»áÎó°Ñ´ËÖÖ×´¿öµ± 
      ³ÉÃüÁîÁеÄÑ¡ÏîÀ´½âÊÍÒÔÖ·¢Éú´íÎó£¬ÀýÈ磺 
 
        xlsfonts  "-adobe-*" 
 
»áʧ°Ü£¬Äã¿ÉÒÔÓÃÑ¡Ïî-fn ¼ÓÒÔÇø·Ö£¬»òÕßÖ»ÒªÔÚÉ趨֮ǰ¼ÓÒ»¸öÐǺţ¨*£© 
¼´¿É£º 
 
        xlsfonts  "*-adobe-*" 
        xlsfonts  -fn "-adobe-*" 
 
 
 
13.3  ¹Û²ìÌØ¶¨×ÖÐ͵ÄÄÚÈÝ -- xfd 
 
    xfd ÊÇÒ»¸ö¡±×ÖÐÍÏÔʾ¡±µÄ³Ìʽ£¬Ëü½¨Á¢Ò»¸öÊÓ´°£¬¶øááÔÚÊÓ´°Öн«×ÖÐÍ 
µÄÔªËØÏÔʾÔÚ³¤·½¸ñ×ÓÖС£ÊÓ´°¿ÉÄÜûÓдóµ½Ò»´Î½«×ÖÐÍÖÐËùÓеÄ×ÖÔªÏÔʾ³ö 
À´£¨ÓÈÆäÊÇÄã¿ÉÄܶÔËüÖØ¶¨¹ý´óС£©£¬µ«ÄãÈÔÈ»¿ÉÒÔ´æÈ¡ËüÃÇ£º 
 
    ÏòÇ°ÒÆ¶¯£ºÔÚxfd ÊÓ´°ÖÐÅö´¥»¬ÊóÓÒ°´Å¥£¬ÊÓ´°µÄÏÂÒ»Ò³½«»á³öÏÖ¡£ 
 
    ÏòááÒÆ¶¯£ºÅö´¥»¬Êó×ó°´Å¥¡£ 
 
    »ñÈ¡×ÖÔªµÄ×ÊѶ£ºÔÚ×ÖÔªÉÏÅö´¥»¬ÊóÖа´Å¥£¬xfd »á¸øÄã×ÖÔªºÅÂ룬Èç¹û 
    ÄãÔÚ³Ìʽһ¿ªÊ¼É趨ÃüÁîÁÐÑ¡Ïî-verbose£¬Ä㽫»ñµÃһЩ¸ü¶àµÄ×ÊѶ£¬Àý 
    Èç×ÖÔªµÄ´óСÒÔ¼°ËüÔÚ×ÖÔª¡±cell¡±ÖеÄλÖᣠ
 
 
 
13.4  ÈçºÎ´¢´æ×ÖÐͼ°´æÔںδ¦ 
 
    ÔÚ±¾½ÚÖУ¬ÎÒÃÇÃèÊö×ÖÐͲ»Í¬µÄ¸ñʽ£¬ÒÔ¼°×ª»»Á½ÖÖ²»Í¬¸ñʽµÄ¹¤¾ß£¬È» 
ááÌÖÂÛserverÊÇÈçºÎ´æÈ¡×ÖÐͺÍÄãÈçºÎ¸ü¸Ä¶Ô×ÖÐ͵ÄÑ¡Ôñ¡£×îáᣬÎÒÃÇ»á¸øÒ» 
¸öÍêÕûµÄ·¶ÀýÀ´ËµÃ÷ÈçºÎ¼ÓÈëÒ»ÖÖеÄ×ÖÐ͵½ÄãµÄϵͳ¡£ 
 
 
13.4.1  ×ÖÐ͵ĸñʽ -- Server Natural Format (SNF) 
 
    ×ÖÐÍÔÚserverÉÏÊÇÒÔServer Natural Format (SNF) ·½Ê½´¢´æ£¬ÕâÖÖ¸ñʽ 
²¢²»ÊÇÒ»ÖÖ±ê×¼£¬¶øÇÒΪserverËùרÓã¬ËùÒÔÄã²»Äܽ«×ÖÐÍÒÆµ½²»Í¬ÐÍ̬µÄ 
server¡£ 
 
    showsnf ³Ìʽӡ³ö´¢´æÔÚSNF µµÖÐ×ÖÐ͵Ä×ÊѶ£¬¶Ô×ÖÐͱ¾ÉíÖ´ÐÐxprop ¿É 
»ñµÃ¸ü¶àÀàËÆµÄ×ÊѶ¡£(showsnfµÄÒýÊýΪµµ°¸Ãû³Æ£¬xprop ÔòΪ×ÖÐ͵ÄÃû³Æ£¬ 
×ÖÐÍÃû³ÆºÍµµ°¸Ãû³Æ²¢²»Ïà¹Ø¡£) 
 
Bitmap Distribution Format£¨Î»ÔªÓ³Ïñ·Ö²¼¸ñʽ£©-- BDF 
 
    ÎªÁ˿˷þ×ÖÐÍÁ÷´«µÄÎÊÌ⣬£ØÐ­»á¶Ô×ÖÐͽ»»»Ö¸¶¨ÁËÒ»ÖÖ¸ñʽ£¬¾ÍÊÇBitmap 
Distribution Format (BDF) £¬BDF ÒÔASCII µÄ·½Ê½±íʾ×ÖÔªµÄλԪӳÏñ£¬²¢ 
ÇÒÖ»°üº¬¿ÉÓ¡³öµÄ×ÖÔª£¬ËùÒÔËü¾ßÓÐÍêÕûµÄ¿ÉЯÐÔ(portable)¡£ 
 
    ÔÚ¡±Bitmap Distribution Format¡±ÎļþÖаüº¬Á˶ÔBDF ÍêÕûµÄÃèÊö¡£ 
 
´ÓBDF ×ª»»³ÉSNF - bdftosnf 
 
    ÎªÁËÈÃBDF Äܹ»ÓÐÓã¬Äã±ØÐèÄܽ«BDF ×ÖÐ͵µ×ª»»³ÉSNF µµ£¬Ä¿Ç°£ØÐ­»á 
·ÅÆúÈÃÕâ¸öÐèÇó³ÉΪ£ØµÄ³ÉÆ·¡£ 
 
    ÔÚMIT °æ£¬Äã¿ÉÒÔÓÃbdftosnfÀ´Íê³Éת»»¡£ 
 
ÓÉÆäËüµÄ¸ñʽת»» 
 
    Ðí¶àµÄ»æÍ¼»úÆ÷ÓµÓÐËüÃÇÖÆÔìÉÌ×Ô¼º·¢Õ¹µÄ×ÖÐÍ£¬Í¨³£ÌرðÊʺÏËüÃǵÄÏÔ 
ʾÆ÷¡£Èç¹ûÕâЩ×ÖÐÍÄÜÔÚ£ØÊ¹ÓÃÄÇÊÇÔÙºÃÒ²²»¹ýÁË£¬µ«ÊÇÒòΪ¸ñʽµÄÎÊÌ⣬Äã 
²»ÄÜʹÓÃËüÃÇ¡£ 
 
    MIT core°æ²¢²»¹ÜÕâ¸öÎÊÌ⣬µ«ÊÇcore°æÔòÓÐÐí¶àµÄ¹¤¾ß³Ìʽ½«ÖÆÔìÉÌÌØ 
ÖÆµÄ×ÖÐÍת»»³ÉBDF ¸ñʽ£¬´ÓBDF ÄãÓÖ¿ÉÒÔÓÃbdftosnfת»»³ÉÄã×Ô¼ºµÄSNF £¬ 
±¾ÕÂÉÔááÎÒÃÇ»áÓÐÒ»¸öÕâÑùµÄ·¶Àý¡£ 
 
 
13.4.2  ×ÖÐÍ´¢´æÔںδ¦ -- ×ÖÐÍĿ¼ 
 
    ×ÖÐͱ»´¢´æÔÚserverÉÏijһ¸ö»ò¶à¸ö×ÖÐÍĿ¼(font directory)ÖУ¬×ÖÐÍ 
Ŀ¼ÓÉÈý¸ö²¿·Ý×é³É£º 
 
    1.  Ò»¸öÆÕͨµÄĿ¼£¬Îª°üº¬Öø×ÖÐ͵ÄSNF µµ°¸Ö®ËùÔÚ¡£ 
 
    2.  Ò»¸ö±»£ØÊ¹Ó㬽«SNF µµ°¸Ãû³Æ¶ÔÓ¦µ½×ÖÐÍÃû³ÆµÄ×ÊÁϿ⡣ 
 
    3.  Ò»¸ö¿ÉÑ¡ÔñÐԵıðÃûµµ(aliase file) £¬¿ÉÒÔÈÃÄãÓÃÒ»¸öÒÔÉϵÄÃû³Æ 
        ²Î¿¼µ½Í¬Ò»×ÖÐÍ£¨²»ÂÛÄãʹÓÃÁ˶àÉÙ¸öĿ¼£¬ÄãÖ»ÐèÒªÒ»¸ö±ðÃûµµ£©¡£ 
 
ά»¤×ÖÐÍĿ¼ -- mkfontdir 
 
    mkfontdir É趨еÄ×ÖÐÍĿ¼²¢ÇÒ¿ÉÒÔÐÞ¸ÄËü£º 
 
   1. ÔÚµµ°¸Ä¿Â¼ÖÐËѼ¯ÁËËùÓÐÄãҪʹÓÃ×ÖÐ͵ĵµ°¸£¬µµ°¸¿ÉÒÔÊÇBDF µµ£¨Í¨ 
³£µµÃû½áβΪ.bdf£©£¬SNF µµ°¸(.snf)»ò±»Ñ¹ËõµÄSNF µµ(.snf.Z)£¬mkfontdir 
»á×Ô¶¯½«·ÇSNF µµ°¸×ª»»ÎªSNF µµ°¸¡££¨±»Ñ¹ËõµÄµµ°¸ÊDZ»BSD Ñ¹Ëõ³ÌʽִÐР
¹ýÓÃÒÔ½ÚÊ¡µµ°¸¿Õ¼ä¡££© 
 
   2. Èç¹ûÄãҪʹÓñðÃû£¬ÐèÒªÔÚ×ÖÐÍĿ¼Öн¨Á¢£¨»ò±à¼­£©Ò»¸öÃûΪ 
fonts.aliaseµÄµµ°¸¡£Óйش˵µ°¸¸ñʽµÄϸ½Ú²¿·ÝÔÚÖ¸ÄÏÒ³ÖÐÓÐ˵Ã÷£¬¼òµ¥µØ 
˵£¬ËüµÄ¸ñʽΪÿÐÐÒÔ¿Õ°×¼ä¸ô³öÁ½¸öÀ¸Î»£¬µÚÒ»À¸ÊDZðÃûµÄÃû³Æ£¬µÚ¶þÀ¸Ôò 
ÊÇ×ÖÐ͵ÄÃû³Æ£¨¿É°üº¬Í¨ÓÃ×ÖÔª£©£¬ÀýÈ磺 
 
        tbi12  *-times-bold-i*-120* 
 
×¢Ò⣺Äã¶Ô×ÖÐͶ¨ÒåµÄµÚÒ»¸ö±ðÃû½«Ôì³É¸Ã×ÖÐÍÕæÕýµÄÃû³ÆÎÞ·¨Ê¹Óã¬ÒÔÉÏÀý 
      ¶øÑÔ£¬ÄãÖ»ÄÜÒÔtbi12 À´´æÈ¡×ÖÐÍ£¬ÕâÖÖÇéÐÎÒ²ÐíÏÂÒ»°æ»á¸Ä½ø£¬µ«Ä¿ 
      Ç°Äã¿ÉÒÔÔÚµÚ¶þÐн«µÚÒ»Ðз´¹ýÀ´¼´¿É£¨µ«²»¿ÉʹÓÃͨÓÃ×ÖÔª£©¡£ 
 
        tbi12  *-times-bold-i*-120* 
        -adobe-times-bold-i-normal--12-120-75-755-p-68-iso8859-1 tbi12 
 
   3. Ö´ÐÐmkfontdir £¬Ðè°Ñµµ°¸Ãû³Æµ±³ÉÒýÊýÊäÈ룬ÒÔÄãʹÓÃÔ¤ÉèµÄ£Ø½¨¹¹ 
ΪÀý £º 
 
        mkfontdir /usr/lib/x11/fonts/misc\ 
                  /usr/lib/x11/fonts/75dpi\ 
                  /usr/lib/x11/fonts/100dpi 
 
£¨Èç¹ûµµ°¸Ä¿Â¼ÖÐûÓаüº¬×ÖÐÍ×ÊÁϿ⣬mkfontdir »áºöÂÔËü¡££© 
 
×¢Ò⣺½¨Á¢Ò»¸ö×ÖÐÍĿ¼²¢²»»áµ¼ÖÂserver¡±×¢Ò⡱Ëü£¬Äã±ØÐèÖØÐÂÆô¶¯server 
      »òÖØÉè×ÖÐÍËÑѰ·¾¶(search path) £¨ÏÂÃæÃèÊö£©£º 
 
×ÖÐÍËÑѰ·¾¶ -- xset 
 
    Äã¿ÉÒÔʹÓÃÈκÎÊýÄ¿µÄ×ÖÐÍĿ¼£¬µ«Èç¹ûËüÃÇÓÐÈκκÍÔ¤É轨¹¹²»Í¬µÄµØ 
·½£¬ÄãÐèÃ÷È·µÄ¸æËßserver£¬ÕâЩ×ÖÐÍĿ¼µÄÁÐ±í³ÆÖ®Îª×ÖÐÍËÑѰ·¾¶(font 
search path)»ò×ÖÐÍ·¾¶(font path) £¬Äã¿ÉÒÔÉ趨Õâ¸öÒ»Á¬´®ÒÔ¶ºµãÎªÇø¸ô 
µÄµµ°¸Ä¿Â¼¡£ 
 
    ²é¿´ÄãĿǰµÄ×ÖÐÍ·¾¶£ºÊ¹ÓÃÃüÁîxset q£¬Èç´Ë»áÓ¡³öÒ»´ó¶Ñ×ÊѶ£¬ÆäÖÐÓР
Ò»Ðаüº¬ÖøÄãµÄ×ÖÐÍ·¾¶ÀàËÆÏÂÃæ£º 
 
        Font Path : /usr/lib/x11/fonts/misc/,(cond.) 
                    /usr/lib/x11/fonts/75dpi/,/usr/lib/x11/fonts/100dpi/ 
 
    É趨²»Í¬µÄ×ÖÐÍ·¾¶£ºÊ¹ÓÃÃüÁîxset fp new-path£¬ÀýÈ磬Èç¹ûÄãÓдóÁ¿ 
µÄ±¾µØ×ÖÐÍÇÒ²»ÓûʹÓöàÊýµÄ±ê×¼×ÖÐÍ£º 
 
        xset fp /usr/local/xfonts, /usr/lib/x11/fonts/75dpi 
 
×¢Ò⣺fp֮ǰ²¢ÎÞÒ»¶ÌºáÏß(-) £¬ÊÇfp¶ø·Ç -fp£¨-fp µÄÒâÒ岻ͬ£¬¼ûÏÂÊö£©¡£ 
 
    µ±ÄãÏëÖØÐÂÉ趨server¶Ô×ÖÐÍ·¾¶µÄÔ¤Éèֵʱ£¬Ê¹ÓÃÃüÁ 
 
        xset fp default 
 
    ¸æËßserverÖØÐ¶ÁÈë×ÖÐ͵ÄĿ¼£¬Ê¹ÓÃÃüÁ 
 
        xset fp rehash 
 
    Ëü¸æËßserverÄã¿ÉÄÜÒѾ­¸Ä±äÁË×ÖÐÍĿ¼µÄÄÚÈݶøºÍËü±ØÐëÖØ¶Á×ÖÐÍ×ÊÁÏ 
¿â£¬ÏÖÔÚмÓÈëµÄ×ÖÐÍ¿ÉÒÔ¿ªÊ¼´æÈ¡ÁË¡£ 
 
    ÔÚÏÖ´æµÄ·¾¶¼ÓÈëеÄ×ÖÐÍĿ¼£¬Ê¹ÓÃÃüÁ 
 
        xset +fp dirlist 
 
¼ÓÈëÒ»ÁÐÓɶººÅ·Ö¸ôµÄĿ¼ÁÐ(dirlist) ÔÚÏÖ´æÂ·¾¶Ö®×󣬶ø 
 
        xset fp+ dirlist 
 
Ôò½«Ä¿Â¼Áмӵ½Â·¾¶Ö®ÓÒ¡£ 
 
    ½«×ÖÐÍĿ¼×Ô·¾¶ÒÆÈ¥£ºÏÂÁ½¸öÃüÁîÁР
 
        xset -fp dirlist 
        xset fp- dirlist 
 
¾ù¿É½«ÔÚdirlist ÖеÄĿ¼×ÔÏÖÓз¾¶ÒÆÈ¥¡£ 
 
×¢Ò⣺×ÖÐÍ·¾¶ÓÉserverËùÕÆÎÕ£¬¶ø±»ËùÓÐʹÓøÃserverµÄclientËùÓ¦Óᣠ
 
    ×ÖÐÍ·¾¶µÄ´ÎÐòÊÇÖØÒªµÄ£¬ÎÒÃÇÔø¾­Ìá¹ý×ÖÐÍÉ趨¿ÉÒÔ¶ÔÓ¦ÖÁÒ»»ò¶à¸ö×ÖÐÍ£¬ 
server»á×ÔÐÐÑ¡Ôñ£¬µ«Èç¹û¶ÔÓ¦µÄ×ÖÐÍÊÇÔÚ²»Í¬µÄĿ¼ÖУ¬Ôòserver»áÑ¡ÔñÔÚ 
·¾¶ÖнÏÔç³öÏÖÕß¡£ 
 
    Äã¿ÉÒÔÀûÓÃÕâ¸öÔ­ÔòÀ´°²ÅÅ×îÊʺÏÄãµÄÏÔʾÆ÷½âÎö¶ÈµÄ×ÖÐÍ¡£¼ÙÉèÄãµÄÏÔ 
ʾÆ÷½âÎö¶ÈΪ100dpi£¬Ôò½«100dpi×ÖÐÍÉèÔÚ75dpi Ö®Ç°£¬ÀýÈ磺 
 
        xset fp /usr/lib/x11/fonts/100dpi/,\ 
                /usr/lib/x11/fonts/75dpi/ 
 
    Èç¹ûÄãÖ¸¶¨×ÖÐÍΪ£º 
 
        * -times-bold-r-*-120-* 
 
ËäÈ»×ÖÐÍÓÐ75dpi ºÍ100dpiÁ½ÖÖ°æ±¾£¬µ«Äã»áÓõ½100dpiµÄ×ÖÐÍ£¬ÕâÕýÊÇÄãËù 
ÐèÒªµÄ¡£ 
 
 
13.5  ·¶Àý£ºÔö¼ÓÐÂ×ÖÐÍÖÁÄãµÄserver 
 
    ÏÖÔÚÎÒÃǽ«ËµÃ÷ÈçºÎÔö¼ÓÒ»¸öеÄ×ÖÐ͵½ÄãµÄserverµÄÍêÕû·¶Àý£¬ÎªÁË 
ÕæÊµÆð¼û£¬ÎÒÃÇÒÔSunËùÌṩµÄ×ÖÐÍΪÀý£¬½«Ëüת»»ÖÁBDF £¬È»áá×°Éè(install) 
Ëü£¬×ÖÐÍ¿ªÊ¼Ê±ÔÚ£º 
 
        /usr/lib/fonts/fixedwidthfonts/screen.r.7 
 
    Óû½«Sun µÄ×ÖÐÍת»»³ÉBDF £¬ÎÒÃÇÐèʹÓÃcontrib °æµÄÈíÌå³Ìʽvtobdf£¨ 
ÆäËüϵͳҲÓÐÀàËÆµÄ¹¤¾ß£©¡£vtobdfÓÐÁ½¸öÒýÊý£¬·Ö±ðÊÇÊäÈëµµµµÃûºÍÓû½¨Á¢ 
Ö®BDF µµµµÃû£¬ÎÒÃÇ¿ÉÒÔÊÂÏÈ×Ôcontrib ´Å´øÈ¡µÃ´Ë³Ìʽ£¬±àÒëËü£¬¶øáá¼ÓÈë 
ÎÒÃÇ¿ÉÖ´ÐеÄĿ¼ÖУ¬ÎÒÃǾͿÉÒÔʹÓÃËüÁË£¬ÎÒÃǽ«»ò¶à»òÉÙÒÀ¾Ý£ØµÄ±ê×¼À´ 
ÃüÃûÕâ¸öеÄ×ÖÐÍ£¬ÎÒÃÇϲ»¶°ÑÊä³öµµµÄµµÎ²ÃûÓÃ.bdf£¬µ«ÓÉì¶vtobdf»áÔÚ×Ö 
ÐÍÃû³Æáá×Ô¶¯²úÉú.bdf£¬ËùÒÔ¿ÉÒÔÊ¡ÂÔËü£¬µ«ÔÚÉÔááÖ®ÖØ¶¨Ãû³ÆÔò²»¿ÉÊ¡ÂÔ¡£ 
 
        venus% cd/tmp 
        venus% vtobdf /usr/lib/fonts/fixedwidthfonts/screen.r.7\ 
              -sun-screen--r-normal---70-75-75-m--- 
 
ÏÖÔÚÖØÐÂÃüÃûµµ°¸£¬²¢½«Æä°áÈë×ÖÐÍĿ¼£º 
 
        venus% mv- -sun-screen--r-normal---70-75-75-m---\ 
        /usr/lib/x11/fonts/misc/-sun-screen--r-normal---70-75-75-m---.bdf 
 
×îáᣬִÐÐmkfontdir ºÍ¸æËßserverÖØÐ¶ÁÈë×ÖÐÍĿ¼ÒÔ±ãÄÜʹÓôË×ÖÐÍ£º 
 
        venus% mkfontdir 
        venus% xset fp rehash 
 
¼ì²éһϴË×ÖÐÍÊÇ·ñÕæµÄ¿ÉÓ㺠
 
        venus% xlsfonts "*-sun_screen*"\ 
        -sun-screen--r-normal---70-75-75-m--- 
 
×¢Ò⣺ÄãµÄ×ÖÐÍ¿ÉÄÜ¿ÉÒÔÈ¡´úÆäËüµÄÔ¤Éè×ÖÐÍ£¬µ«ÕâЩ×ÖÐ͵µ°¸¿ÉÄÜÒòÓб£»¤ 
¶øÎÞ·¨¸ü¸Ä£¬±ØÐëÎÊÒ»ÏÂÄãµÄϵͳ¹ÜÀíÕß¡£ 
 
 
13.6  Ê¹ÓãصÄÉ«²Ê 
 
    ÎÒÃÇÒѾ­ÓùýһЩɫ²Ê£¬µ«²¢Î´Ï¸ÊöËüÃÇ£¬Ô­ÒòÊÇ£ØÔÊÐíÄãÓÃÈÕ³£³£ÓõĠ
²ÊÉ«Ãû£¬ÔÚ±¾½ÚÎÒÃÇÃèÊöһЩÆäËüÖ¸¶¨ÑÕÉ«µÄ·½·¨£¬½âÊÍÃüÁî½á¹¹ÈçºÎ¹¤×÷ºÍ 
ÄãÈçºÎÉ趨һЩÄã×Ô¼ºÓµÓеÄÉ«²ÊÃû³Æ¡£ 
 
 
13.6.1  RGB É«²ÊÉ趨 
 
    »»Ò»ÖÖÖ¸¶¨É«²ÊµÄ·½Ê½£¬Äã¿ÉÒÔÓÃRGB (Red (ºì)¡¢Green (ÂÌ)¡¢Blue (À¶)) 
ÈýÔªËØÀ´Ö¸¶¨£¬É趨֮ÐÎʽΪ£º 
 
        #<r><g><b> 
 
±ØÐëºÏºõÒÔϵÄÔ­Ôò£º 
 
    £®É趨±ØÐèÒÔ¾®×ÖºÅ(#) ¿ªÍ·¡£ 
 
    £®ÔªËØÐèÒÀÕպ졢ÂÌ¡¢À¶µÄ´ÎÐòÒÀÐòÉ趨¡£ 
 
    £®ÈýÔªËØ¾ù±ØÐëÖ¸¶¨¡£ 
 
    £®Ã¿Ò»¸öÔªËØÎªÊ®Áù½øÎ»£¬¹²Õ¼Ò»µ½ËĸöλÊý£¬Òò´Ëffff´ú±íÉ«²ÊµÄ×î´ó 
      Ç¿¶È£¬0000´ú±íûÓиÃÉ«²Ê£¬ÀýÈ磺 
 
        #0000ffff0000 
 
      ÊÇ×îÁÁµÄÂÌÉ«£¬ºìÉ«ºÍÀ¶É«Ò»µã¶¼Ã»ÓУ¬Í¬ÑùµÄ£º 
 
        #000000000000 ºÚÉ«£¨Ê²÷áÉ«²Ê¶¼Ã»ÓУ© 
        #ffff0000ffff ×ÏÉ«£¨È«²¿µÄºìÉ«¼ÓÀ¶É«£© 
        #ffffffffffff °×É«£¨È«²¿µÄÉ«²Ê£© 
 
      ×¢Òâ#rgbºÍ#rrrgggbbb´ú±íµÄÉ«²ÊÇ¿¶ÈÊÇÏàͬµÄ£¬µ«ááÕß½ÏÁÁһЩ¡£ 
 
    £®Ã¿Ò»¸öÔªËØ¿ÉÓÉÒ»µ½ËĸöλÊý´ú±í£¬µ«Ã¿¸öÔªËØµÄλÊýÔòÏàͬ£¨ÀýÈçÄã 
      ²»¿ÉÒÔÓÃ#rrbbbbgg £©¡£ 
 
    Äã¿ÉÒÔÔÚÉ趨ɫ²Êʱֱ½ÓʹÓÃÉ«²ÊÃû³Æ£¬ÀýÈ磺 
 
        xclock -fg #3d7585 -background pink 
 
    É«²ÊÉ趨µÄÐÎʽÍùÍùºÍÄãµÄÏÔʾÆ÷·Ç³£Ïà¹Ø£¬Í¨³£Ã»ÓÐʲ÷á¿ÉЯÐÔ¡£ 
 
 
13.6.2  £ØÉ«²Ê×ÊÁÏ¿â 
 
    ÎªÁ˿˷þ#rgbÉ«²ÊÉ趨²»¿ÉЯµÄȱµã£¬¶øÇÒʹϵͳ¸üÒ×ì¶Ê¹Ó㬣ØÊ¹ÓÃÒ» 
¸ö´¢´æÉ«²ÊÃû³Æ¼°ÆäÏà¹ØÖ®rgb ÖµµÄ×ÊÁϿ⡣ 
 
    ³ý·ÇÄãµÄϵͳÔÚ×°ÉèÖ®áá×÷ÁËÃ÷ÏԵظı䣬Ӧ¸Ã»áÓÐÒ»¸ö/usr/lib/x11/rgb.txt 
µÄÎÄ×ÖµµËµÃ÷×ÊÁÏ¿âµÄÄÚÈÝ¡£Õâ¸öµµµÄǰÊýÐÐÀàËÆì¶£º 
 
        112 219 147 aquamarine            £¨ÂÌÓñÉ«¡¢±ÌÂÌÉ«£© 
        50  204 153 medium aquamarine     £¨ÖжȱÌÂÌÉ«£© 
        50  204 153 Medium Aquamarine     £¨ÖжȱÌÂÌÉ«£© 
        0   0   0   black                 £¨ºÚÉ«£© 
        0   0   255 blue                  £¨À¶É«£© 
        95  159 159 cadet blue            £¨Ñ§ÉúÀ¶£© 
 
    Ã¿Ò»ÐÐǰÈý¸öÊý×Ö±íʾrgb µÄÔªËØÖµ£¬µ«ÔÚ´ËÊýÖµÊÇ10½øÎ»µÄ£¬ÇÒÖ»´Ó0 
µ½255 £¬255 ´ú±íÉ«²Ê×î´óÇ¿¶È£¬µÚËĸö²¿·ÝΪɫ²ÊÃû³Æ£¬ÔÊÐíÃû³ÆÖмäÓпՠ
¸ñ¡£ 
 
    Äã¿ÉÒÔÓóÌʽ$TOP/rgb/rgb½«´ËÎÄ×Öµµ×ª»»ÎªÄÚ²¿µÄÐÎʽ£¬£¨µ±ÄãµÄ£ØÏµ 
ͳ½¨Á¢Ê±£¬Ëü²¢²»»á±»×°É裩¡£ËùÒÔ£¬ÒªÔÚÄãµÄ×ÊÁÏ¿âÖмÓÈëÒ»¸öеÄÉ«²Ê£¬ 
ÏÈÓÃÎÄ×ֱ༭Æ÷½«É«²ÊÊäÈërgb.txt µµ£¬È»á᣺ 
 
        venus% cd usr/lib/x11 
        venus% $TOP/rgb/rgb < rgb.txt 
 
ÊÂʵÉÏ£¬rgb ²¢²»ÐèҪÿ´Î¾ùÖØ½¨ÄÚ²¿×ÊÁϿ⣬ֻÐè¼ÓÈëÐÂÔö£¨»òÐ޸쩵ÄÏî 
Ä¿¼´¿É£¬ËùÒÔÄã¿ÉÒÔÓñê×¼ÊäÈëÀ´ÊäÈëÉ«²Ê£º 
 
        venus% $TOP/rgb/rgb 
        255  50  50  mypink 
        ¡­ 
 
ÒòΪûÓÐÈκαê×¼µÄ¹¤¾ß³Ìʽ¿ÉÒÔ²éѯÄÚ²¿×ÊÁÏ¿âµÄÄÚÈÝ£¬Òò´ËÉÏÃæµÄ×÷·¨»á 
Ôì³Érgb.txt ºÍÄÚ²¿µÄ×ÊÁϿⲻһÖ£¬ËùÒÔ»¹ÊÇÒÔÐÞ¸Ärgb.txt µÄ·½Ê½Îª¼Ñ¡£ 
 
 
13.7  ½áÂÛ 
 
    ±¾ÕÂÄãÒѾ­¿´µ½ÈçºÎÃüÃûºÍ´¢´æ×ÖÐÍ£¬ÄãÈçºÎÕÒµ½¿ÉÓõÄ×ÖÐͼ°×ÖÐ͵ÄÄÚ 
ÈÝ£¬ÔÚ£ØÓ¦ÓóÌʽÖÐÈçºÎʹÓÃ×ÖÐÍ£¬ºÍÈçºÎÔÚÄãµÄϵͳÖмÓÈëеÄ×ÖÐÍ¡£ 
 
    ×îááÒ»½ÚÔòÃèÊöÁˣصÄÉ«²ÊÃüÃûÔ­Ôò£¬É«²Ê×ÊÁÏ¿âºÍÈçºÎ¼ÓÈëÄã×Ô¼ºµÄÉ« 
²Ê¡£ 
 
    ÕâÀïËùÃèÊöµÄ¹«ÓóÌʽֻ°üº¬core°æ£¬contrib °æ°üº¬¸ü¶àµÄÈíÌ壬ÀýÈç 
ÓÐÒ»¸ö½Ð×öxcolors µÄ³Ìʽ£¬Ëü¿ÉÒÔ½¨Á¢Ò»¸öÊÓ´°£¬²¢ÔÚÆäÖÐÏÔʾÔÚÄãϵͳÉÏ 
ÒÑÃüÃûµÄÉ«²Ê¡£ 
 
    ¶àÖÖµÄ×ÖÐͺÍÉ«²ÊÔÚÄãµÄÓ©Ä»ÉϳöÏÖÊÇÒ»ÖÖ³å»÷£¬½ÓÏÂÀ´Äã»á¿´µ½¸ü¶àµÄ 
ÊÓ´°ÏµÍ³µÄ¹¦ÄÜ£¬²¢¡õÊÔµ÷ÕûʹÆäÊʺÏÄ㹤×÷µÄϰ¹ß¼°Æ·Î¶¡£ 
 
    ÏÂÒ»ÕÂÎÒÃǽ«¼ÌÐø¶¨ÖÆÕâ¸öϵͳ£¬¸æËßÄãÈçºÎÀûÓãصÄλԪӳÏñ¹«ÓóÌʽ 
À´½¨Á¢¡¢±à¼­ºÍʹÓÃÓ°Ïñ¡£ 
 
===== 
 
µÚ£±£´Õ  ¶¨ÒåºÍʹÓÃλԪӳÏñ 
 
    Ò»¸öλԪӳÏñÊÇÒ»¸öСͼ£¬ËµµÃ¸üÇå³þÒ»µã£¬Ò»¸öͼµÄÏÔÏÖÊÇÓÉÏñËØ×é³É£¬ 
¶øÏñËØÓÖÊÇÓÉÒ»¸öλԪÀ´¶ÔÓ¦£¬µ±Î»ÔªÎª¡±1 ¡±Ê±£¬ÏñËØÎª¡±ºÚÉ«¡±£¬¶øµ±Î» 
ԪΪ¡±0 ¡±Ê±£¬ÏñËØÎª¡±°×É«¡±¡££ØÓÐÐí¶àµÄ¹«ÓóÌʽÀ´¹ÜÀíλԪӳÏñ£¬Äã¿É 
ÒÔÓò»Í¬µÄ·½·¨À´½¨Á¢¡¢±à¼­ºÍ´¢´æËüÃÇ¡£ÓÐһЩʹÓÃÕß³ÌʽÔÊÐíÄãÖ±½ÓʹÓà
ËüÃÇ¡££¨ÆäËü´ó²¿·ÝµÄ³ÌʽÔòÒÔÄÚ²¿µÄÐÎʽʹÓÃËüÃÇ£¬ÕâЩ¹«ÓóÌʽ´ó¶¼·ÅÔÚ 
£Ø³Ìʽ¿âÖУ¬Ê¹µÃʹÓÃÕß׫д³ÌʽʱºÜÈÝÒ×±ã¿É¼ÓÒÔÔËÓᣣ© 
 
    ±¾Õ¿ªÊ¼ÏÈÃèÊöλԪӳÏñµÄ¹¤¾ß£¬½ÓÏÂÀ´Êµ¼ÊʹÓÃxsetroot³Ìʽ£¬Ëü¿ÉÒÔ 
ÈÃÄã¶¨ÖÆÄãµÄÓ©Ä»£¬É趨һ¸öλԪӳÏñµÄ±³¾°£¬Ñ¡ÔñÄãµÄÉ«²ÊºÍÖ¸¶¨Ò»¸öλԪ 
Ó³Ïñµ±×÷ÓαêÀ´Ê¹Óᣠ
 
 
14.1  ÏµÍ³Î»ÔªÓ³Ïñ³Ìʽ¹Ý 
 
    Î»ÔªÓ³Ïñµµ°¸µÄ³Ìʽ¹Ý±»µ±×÷ϵͳµÄÒ»²¿·ÝÌṩ¸øÄ㣬ԤÉè´¢´æÔÚÕâ¸öÄ¿ 
¼£º 
 
        /usr/include/x11/bitmaps 
 
µ«ÔÚÄãµÄ¹¤×÷Õ¾ÉÏ»òÐí²»Í¬£¬ÎÊÒ»ÏÂÄãµÄϵͳµÄ×°ÖÃÕߣ¬ÎÒÃǽ«ÒÔ´ËĿ¼Ϊ׼£¬ 
²¢ÓÃÆäÖеÄһЩµµ°¸×÷Ϊ±¾Õµķ¶Àý¡£ 
 
 
14.2  ½»Ì¸Ê½µØ±à¼­Ò»¸öλԪӳÏñ -- bitmap 
 
    bitmap³ÌʽÊÇÒ»¸öÈÃÄãÒÔ½»Ì¸Ê½½¨Á¢»ò±à¼­Î»ÔªÓ³ÏñµÄ¹¤¾ß£¬Ëü½«Î»ÔªÓ³ 
ÏñÒÔ·½¸ñ×ÓÀ´±íʾ£¬Ã¿Ò»¸ö¸ñ×Ó´ú±íÒ»¸öÏñËØ£¬Äã¿ÉÒÔÓû¬ÊóÉ趨»òÇå³ýÏñËØ¡£ 
 
 
14.2.1  Æô¶¯bitmap 
 
    Í¸¹ýbitmapÄã¿ÉÒԱ༭һ¸ö°üº¬ÓÐÒ»¸öλԪӳÏñµÄµµ°¸£¬»ò´ÓÍ·¿ªÊ¼½¨Á¢ 
Ò»¸öλԪӳÏñ²¢½«Ëü´¢´æÎªµµ°¸¡£²»ÂÛÊǺÎÕߣ¬µ±ÄãÆô¶¯bitmapʱ£¬ÄãÐèÒª¸ø 
Ò»¸öµµ°¸Ãû³Æ£¬²»ÂÛÊÇÏÖ´æµÄµµ°¸»òÊÇн¨µÄµµ°¸¡£ 
 
    µ±½¨Á¢Ò»¸öеÄλԪӳÏñʱ£¬Äã¿ÉÒÔÑ¡ÔñÐÔµØÖ¸¶¨´óС£¨¿í¶ÈX ³¤¶È¸öÏñ 
ËØ£©£¬Èç¹ûÄãδָ¶¨£¬Ô¤Éè´óСΪ16X16 ¡£¾ÙÀýÀ´Ëµ£¬¼ÙÈçÎÒÃÇÏëÒª½¨Á¢Ò»¸ö 
±È½Ï´óÒ»µãµÄÊ®×ÖÐÍÊýλӳÏñ£¬ÎÒÃÇ¿ÉÒÔÓÃÏÂÃæµÄÃüÁîÁУº 
 
        bitmap big-cross 40X50 & 
 
 
14.2.2  Ê¹ÓÃbitmap 
 
    ¼ÙÈçÎÒÃÇÒª±à¼­Ò»¸öÏÖ´æµÄµµ°¸£¬¿ÉÒÔÓÃÏÂÃæµÄÃüÁîÁÐÆô¶¯³Ìʽ£º 
 
        bitmap /usr/include/x11/bitmaps/cntr-ptr 
 
ÔòÒ»¸öÏñͼ14-1µÄÊÓ´°³öÏÖÔÚÓ©Ä»ÉÏ£¬ÓÒϽÇÒÔʵ¼Ê´óСÏÔʾ³öĿǰλԪӳÏñ 
µÄ״̬£¬ÁíÒ»¸öÔòΪ·´Ïà(reverse) µÄλԪӳÏñ£¬ÆäËüÔÚÓұߵġ±ºÐ¡±Äã¿ÉÒÔ 
ÓÃÅö´¥»¬Êó°´Å¥µÄ·½Ê½À´²Ù×÷ËüÃÇ¡£ 
 
ÓÃÈýÅ¥»¬Êó±à¼­Í¼ÐÎ×î¼òµ¥µÄ·½·¨£º 
 
    É趨ÏñËØ£ºÔÚÒ»¸öÏñËØÉÏÅö´¥»¬Êó×ó°´Å¥£¬»òÕßÊǰ´×¡×ó°´Å¥²¢ÍÏ×§Ëü£¬ 
              Ã¿Ò»¸ö¾­¹ýµÄÏñËØ·½¸ñ¾ù»á±»É趨£¬Ö±µ½ËÉ¿ª°´Å¥ÎªÖ¹¡£ 
 
    Çå³ýÏñËØ£ººÍÉÏÊöÏàͬµÄ·½·¨£¬µ«ÊÇÒÔ»¬ÊóÓÒ°´Å¥´úÌæ¡£ 
 
¡¡¡¡·´×ª(invert)ÏñËØ£ºÔÚÒ»¸öÏñËØÉÏÅö´¥»¬ÊóÖа´Å¥£¨Ò²¾ÍÊǺڵÄÏñËØ±»Çå 
              ³ý¶ø°×µÄÏñËØ±»É趨£©£¬µ±Ä㰴סÖа´Å¥²¢ÍÏ×§£¬Ëù¾­¹ýµÄÏñ 
              Ëظñ¾ù»á·´×ª¡£ 
 
 
        ©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´ 
        ©¦      p160  fig 14.1                    ©¦ 
        ©¦                                        ©¦ 
        ©¦    Í¼14-1  Î»ÔªÓ³Ïñ±à¼­Æ÷              ©¦ 
        ©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼ 
 
    bitmap»¹ÓÐÆäËüµÄÃæÃ²£ºÈç¹ûÄã¹Û²ì½Ó½ü¼ýÍ·µÄÉ϶˲¿·Ý£¨¼ûͼ14-2µÄ 
·Å´óͼ£©£¬Äã¿ÉÒÔÔÚÆäÖеÄÒ»¸ö·½¸ñÖп´µ½ÓÐÒ»¸öСÁâÐΣ¬Õâ´ú±íÁËÈȵã(hotspot) 
£¬µ±bitmap±»ÓÃÀ´½¨ÔìÒ»¸öÓαêʱ»áÓ¦Óõ½£ºÈȵãÊÇÓαêÕæÕý¶¯×÷µÄµã¡£Ö¸Ïò 
Ð͵ÄÓα꣬Èȵãͨ³£ÔÚ¶¥¶Ë£¬¶øÔ²Ðλò·½ÐεÄÓα꣬ÈȵãÔòÔÚÖÐÐÄ¡££¨Äã¿ÉÒÔ 
ÓÃSet Hot SpotºÍClear Hot SpotÁ½¸öÃüÁîÀ´¸ü¸ÄÈȵãµÄλÖûòÏûÈ¥Ëü£© 
 
    µ±Äã½áÊøÁËÄãµÄ¸ü¸Ä¶¯×÷£¬¿ÉÒÔÓÃÅö´¥Write Output½«Î»ÔªÓ³Ïñ´¢´æÖÁµµ 
°¸£¬µ«²»»áÀ뿪bitmap³Ìʽ¡£ 
 
        ©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´ 
        ©¦      p161  fig 14.2                    ©¦ 
        ©¦                                        ©¦ 
        ©¦    Í¼14-2  Ò»¸öÓαêµÄ¡±Èȵ㡱          ©¦ 
        ©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼ 
 
    À뿪³Ìʽ£¬Åö´¥Quit£¬Èç¹ûÄã±à¼­ÁËλԪӳÏñÈ´ÊÔͼÔÚδ´¢´æÇ°À뿪³Ìʽ£¬ 
Ä㽫»áµÃµ½ÌáʾÒÔÈ·¶¨ÄãÊÇ·ñÕæÒªÈç´Ë×ö¡£ 
 
 
14.2.3  »­ÐÎ×´(shapes) 
 
    bitmapÓÐÊý¸ö¹¦ÄÜʹµÃ»­Í¼¸üÈÝÒ×£º 
 
    »­Ò»ÌõÏߣºÅö´¥Line£¬Óαê»á±ä³ÉÒ»¸ö´óºÚµã£¬ÔÚËùÓû»­µÄÏßµÄÒ»¶ËÅö´¥ 
              Ò»Ï°´Å¥£¬¶øááÔÚÁíÒ»¶ËÒ²Åö´¥Ò»Ï£¬bitmap»á»­³öÕâÌõÏß¡£ 
 
    »­Ò»¸öÖпյÄÔ²£ºÅö´¥Circle£¬Í¬ÑùµØ£¬Óαê±ä³ÉÒ»¸ö´óºÚµã£¬ÔÚÄãËùÓû 
              »­Ô²µÄÔ²ÐÄÅö´¥Ò»Ï£¬¶øááÔÚËùÓû»­Ô²Ö®Ô²ÖÜÉϵÄÈÎÒ»µãÅö´¥ 
              Ò»Ï£¬bitmap½«»­³öÕâ¸öÔ²µÄÔ²ÖÜ¡£ 
 
    »­Ò»¸öÌîÂúµÄÔ²£ºÅö´¥Filled Circle £¬ÆäâÅͬÉÏ¡£ 
 
 
14.2.4  ÔÚ³¤·½ÐεÄÇøÓòÄÚ¹¤×÷ 
 
    ÃüÁîClear Area¡¢Set AreaºÍInvert Area ±ØÐëÔÚ³¤·½ÐÎÇøÓòϲÙ×÷£¬³¤ 
·½ÐÎÇøÓòµÄ¾ö¶¨·½Ê½ÊÇÄãÔÚËüµÄ×óÉϽÇÒÔ°´×¡»¬ÊóÈÎÒâ°´Å¥µÄ·½Ê½Ö¸¶¨£¬È»áá 
ÍÏ×§µ½ÓÒϽǣ¬µ±ÄãÍÏקʱ£¬Ä¿Ç°±»Ö¸¶¨µÄÇøÓò»áÒÔ¸ßÁÁ¶ÈÏÔʾ¡£ 
 
    Äã¿ÉÒÔ¿½±´¡¢Òƶ¯»òÖØµþ(overlay) Ò»¸öÇøÓò£¬ÄãÒÔÍÏ×§µÄ·½Ê½Ö¸¶¨Ô­Ê¼ 
ÇøÓò£¬¶øááÔÚÄ¿±êÇøÓòÉϵÄ×óÉϽÇÅö´¥°´Å¥£¬¸÷ÖÖÃüÁîµÄ¶¯×÷ÈçÏ£º 
 
        ¿½±´(Copy)£ºÄ¿±êÇøÓò»á±»Ïû³ý£¬¶øËùÓжÔÓ¦ì¶Ô­Ê¼ÇøÓòΪºÚÏñËØµÄ 
                    ¾ù»á±»É趨¡£ 
 
        Òƶ¯(Move)£ºÔ­Ê¼ÇøÓòºÍÄ¿±êÇøÓò¾ù±»Çå³ý£¬Ä¿±êÇøÓò¶ÔÓ¦ì¶Ô­Ê¼Çø 
                    ÓòΪºÚÏñËØµÄ¾ù»á±»É趨¡£ 
 
        Öصþ(Overlay) £ºÔÚÄ¿±êÇøÓòÖжÔÓ¦ì¶Ô­Ê¼ÇøÓò±»É趨µÄÏñËØ¾ù»á±» 
                    É趨£¬ÆäËüûÓиı䡣 
 
 
14.2.5  Ò»¸öλԪӳÏñµÄµµ°¸¸ñʽ 
 
    Ò»¸öλԪӳÏñ»áÈçͬASCII ÎÄ×ÖÒ»Ñù´¢´æµ½µµ°¸ÖУ¬Æä¸ñʽÀàËÆC ÓïÑԳ̠
ʽƬ¶Î¡£ 
 
    ÀýÈ磺µµ°¸  /usr/include/X11/bitmaps/cntr_ptr   µÄÄÚÈÝ£º 
 
          #define cntr_ptr_width  16 
          #define cntr_ptr_height 16 
          #define cntr_ptr_x_hot   7 
          #define cntr_ptr_y_hot   1 
          static char cntr_ptr_bits[]= 
          0x00, 0x00, 0x80, 0x01, 0x80, 0x01,\ 
          0xc0, 0x03, 0xc0, 0x03, 0xe0, 0x07, 
          0xe0, 0x07, 0xf0, 0x0f, 0xf0, 0x0f,\ 
          0x98, 0x19, 0x88, 0x11, 0x80, 0x01, 
          0x80, 0x01, 0x80, 0x01, 0x80, 0x01,\ 
          0x00, 0x00; 
 
    ´øÓÐ_x_hotºÍ_y_hotµÄ±äÊý½öÔÚÈȵ㱻ָ¶¨áá²Å»á°üº¬½øÀ´¡£ 
 
    ¸ü¶àµÄϸ½Ú°üº¬ÔÚbitmap(1) µÄÖ¸ÄÏÒ³ÖУ¬²»¹ýÎÞÂÛÈçºÎ£¬ÄãÎãÐèÖ±½ÓÒÔ 
´ËÖÖ¸ñʽ´¦ÀíλԪӳÏñ£¬ÈκÎÄãÏëÒª×öµÄʾùÓй¤¾ß³ÌʽÀ´´¦Àí¡£ 
 
 
14.3  ±à¼­Î»ÔªÓ³ÏñÆäËüµÄ·½·¨ 
 
    bitmap³Ìʽ¶Ôì¶Ò»¸öСµÄͼÐι¤×÷ÆðÀ´ËãÊÇÏ൱·½±ã£¬µ«ËüÓÐһЩȱµã£º 
 
    £®Ëü²»½ÓÊܽϼòµ¥¸ñʽµÄÊäÈëµµ£¬ÀýÈçÏñһЩÓÉɨÃèÏÖ´æÍ¼ÐÎËù²úÉúµÄµµ°¸¡£ 
 
    £®Ëü±ØÐèÒÔ½»Ì¸Ê½Ö´ÐУ¬¶ÔһЩ³ÌÐòÐԵı༭¶¯×÷²¢²»·½±ã¡£ 
 
    £®Äã¿ÉÄÜÏ£ÍûÓÃËü²úÉúһЩλԪӳÏñÀ´ÏÔʾ£¬µ«ËüÎÞ·¨ÔÚ·Ç£ØÏµÍ³ÉÏÖ´ÐС£ 
 
    Òª¿Ë·þÉÏÊöµÄÎÊÌ⣬ÐèÒªÒÔ×ÖԪͼ(character picture) µÄÐÎʽÀ´½¨Á¢Î» 
ÔªÓ³Ïñ£¬²¢ÌṩÕâ¸ö¸ñʽºÍbitmapµÄ¸ñʽÏ໥ת»»µÄ³Ìʽ¡£×ÖԪͼ¸ñʽÊǷdz£ 
Ã÷ÏԵģºÃ¿Ò»ÐеÄÏñËØÓÃÒ»ÐеÄ×ÖÔªÀ´±íʾ£¬ºÚµÄÏñËØÓÃÒ»¸öÖ¸¶¨µÄ×ÖÔª£¨Ô¤ 
ÉèΪ# £©¶ø°×µÄÏñËØÓÃÁíÒ»¸ö×ÖÔª£¨Ô¤ÉèΪ -£©±íʾ£¬ÒÔcntr_ptrΪÀý£¬×ÖÔª 
ͼµÄ¸ñʽÈçͼ14-3 
 
        ©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´ 
        ©¦      p164  fig 14.3                    ©¦ 
        ©¦                                        ©¦ 
        ©¦    Í¼14-3  ×ÖԪͼ¸ñʽµÄλԪӳÏñ        ©¦ 
        ©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼ 
 
    ÄãÄÜÒÔ±¾Îı༭Æ÷»òÆäËüÈκÎϵͳÉÏÈÎºÎÆäËüºÏÊʵijÌʽ±à¼­ÕâЩͼÐΣ¬ 
Ò²¿ÉÒÔÓÉɨÃèÆ÷(scanner) »òÆäËüÓ°ÏñÉ豸²úÉú¡£ 
 
 
14.3.1 ×ÖԪͼºÍ£ØÎ»ÔªÓ³Ïñ¼äµÄת»» 
 
    £ØÌṩÁËÁ½¸ö³Ìʽ×÷×ÖԪͼ¸ñʽºÍλԪӳÏñ¸ñʽ¼äµÄת»»£º 
 
    atobm : ×ª»»Ò»¸ö×ÖԪͼΪ±ê×¼µÄλԪӳÏñ¡£ 
 
    bmtoa : ×ª»»Ò»¸ö±ê×¼µÄλԪӳÏñΪ×ÖԪͼ¡£ 
 
    Á½¸ö³Ìʽ¾ùÔÊÐíÄãÖ¸¶¨ÒÔºÎ×ÖÔªÀ´´ú±íºÚºÍ°×ÏñËØ¡£ 
 
 
14.4  ¶¨ÖÆÄãµÄ¸ùÊÓ´° -- xsetroot 
 
xsetroot ÈÃÄãÉ趨ÄãµÄ¸ùÊÓ´°µÄÌØá磬Äã¿ÉÒԸıäÊÓ´°±³¾°µÄÑÕÉ«ºÍͼÑù( 
pattern) £¬ÒÔ¼°ÊÓ´°ËùʹÓõÄÓαꡣ 
 
14.4.1 É趨һ¸ö±³¾°µÄλԪͼÑù 
 
   Äã¿ÉÒÔÖ¸¶¨ÈκÎλԪӳÏñÀ´µ±×÷ÄãÓ©Ä»µÄ±³¾°£¨Ö»ÒªËüÊǣصıê×¼¸ñʽ£© 
£¬ ÔÚ xsetroot µÄÃüÁîÁÐÉÏ£¬-bitmap Ñ¡Ïî¸úËæÖøÎ»ÔªÓ³ÏñµÄµµ°¸Ãû³Æ¡£ÀýÈ磺 
 
    xsetroot -bitmap /usr/include/X11/bitmaps/mensetmanus 
 
»á³öÏÖÒ»¸ö¾«Öµı³¾°£¨¼ûͼ14-4£©(À­¶¡Óï Mens et Manus (mensetmanus) 
ÊÇ MITµÄóðÑÔ£¬Á½¸öÈËÎïµÄͼÐμòµ¥±íÏÖ³ö MITµÄ¾«Éñ¡£) 
 
             ©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´ 
             ©¦                                ©¦ 
             ©¦  P165   Fig 14.4               ©¦ 
             ©¦                                ©¦ 
             ©¦Í¼14 - 4 É趨 mensetmanusλԪ   ©¦ 
             ©¦         Ó³ÏñΪ±³¾°Í¼ÑùµÄ¸ùÊÓ´° ©¦ 
             ©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼ 
 
 
14.4.2 É趨һ¸ö±³¾°Óαê 
 
Èç¹ûÄ㲻ҪʹÓÃÔ¤ÉèµÄ "´óµÄ X "Óα꣬Äã¿ÉÒÔÓÃÑ¡Ïî -CURSOR ¼ÓÉÏ 
cursorbitmap ºÍ maskbitmapÁ½¸öÒýÊýÀ´¸Ä±äËü£¬Á½¸öÒýÊý¾ùΪλԪӳÏñ 
µµ°¸µÄÃû³Æ¡£ÀýÈ磺É趨ÓαêΪǰ½ÚËùʾµÄλԪӳÏñ£¬Ê¹ÓÃÃüÁ 
 
    xsetroot -cursor /usr/include/X11/bitmaps/cntr_ptr\ 
    /usr/include/X11/bitmaps/cntr_ptrmsk 
 
λԪӳÏñµÄ¶ÔÕÕͼ¼ûͼ14-5. 
 
             ©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´ 
             ©¦                                ©¦ 
             ©¦  P166   Fig 14.5               ©¦ 
             ©¦                                ©¦ 
             ©¦Í¼14 - 5 Óα꼰ÆäÕÚÕÖµÄλԪӳÏñ ©¦ 
             ©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼ 
 
maskbitmap¾ö¶¨ÁËcursorbitmapµÄÄÄЩÏñËØÕæÕý±»ÏÔʾ³öÀ´£ºÓαêÏñËØ 
ÖÐÖ»ÓжÔÓ¦µ½ÕÚÕÖÏñËØ(mask)ΪºÚµÄ²¿·Ý²Å»áÓõ½£¬ÓαêÆäËüµÄÏñËØ²»»á 
±»ÏÔʾ³öÀ´¡£×ܽáÀ´Ëµ£¬ÕÚÕÖ¾ö¶¨ÁËÓαêµÄÍâÐΣ¬·´Ö®£¬ÓαêλԪӳÏñÔò 
¾ö¶¨ÁËÍâÐεÄÑÕÉ«¡£ÕÚÕÖºÍÓαêµÄλԪӳÏñ±ØÐë´óСÏàͬ¡£ 
 
ÕâÖÖÕÚÕֽṹÔÚÁ½ÖÖÇé¿öÏ·dz£ÓÐÓ㺠
 
1.  ËüÔÊÐí "Ǭ¾»µØ" ÏÔʾ³ö·Ç³¤·½ÐÎÓα꣬¶ø²»ÐèÏÔʾ³ö¶àâŵĿհס£ÀýÈç 
Èç¹ûûÓÐÕÚÕÖ£¬cntr_ptr»áÏÔʾ³ÉÒ»¸ö 16 x 16°×·½ÐÎÖÐÓÐÒ»¸ö¼ýÍ·£¬µ±ÄãÓà
ËüÖ¸Îï¼þʱ£¬Îï¼þµÄÒ»²¿·Ý»á±»¾ØÐÎÍâ¿òÕÚ¸Çס¡£ 
 
2.  Êʵ±µØÉ趨ÕÚÕÖ£¬Äã¿ÉÒÔ±£Ö¤²»ÂÛ±³¾°µÄÑÕɫΪºÎ¾ùÄÜ¿´µÃµ½ÓαꡣÀýÈç 
cntr_ptrmsk ±È cntr_ptr µÄ±ß¾ù´óÒ»¸öÔªËØ£¬ËùÒÔÓαêÖÜÎ§Î§ÈÆÖøÒ»È¦°×±ß 
¡£Èç¹ûÕÚÕÖºÍÓαê´óСÏàͬµÄ»°£¬µ±ÓαêÔÚºÚÉ«µÄÇøÓò½«»áÏûʧ²»¼û¡£ 
 
    Äã¿ÉÒÔÈÃÕÚÕÖºÍÓαêʹÓÃÏàͬµÄλԪӳÏñ£ºÓαêµÄÍâÐλáÈçÄãËùÆÚÍû£¨Òò 
ΪÕÚÕÖ¾ö¶¨ÍâÐΣ¬¶øÕâÍâÐÎÕýÊÇÄãÏëÒªµÄ£©£¬ËüÃÇ¿ÉÒÔ¹¤×÷£¬µ«Êǵ±ÓÎ±ê½øÈë 
ºÍËüÏàͬÑÕÉ«µÄÇøÓòʱ£¬Äã¾ÍºÜÄÑ¿´µ½ÓαêÁË¡£Êµ¼ÊÉÏ£¬²¢·ÇËùÓÐÔÚ 
/usr/include/X11/bitmapsÖеÄλԪӳÏñ¾ùÓÐÏà¶ÔÓ¦µÄÕÚÕÖ£¬Èç¹ûÄãʹÓÃËüÃÇ 
µ±×÷Óα꣬Äã±ØÐëʹÓÃÓαêλԪӳÏñµ±×÷ÕÚÕÖ¡£ 
 
    ÓÐÐËȤµÄ»°£¬ÊÔÒ»ÊÔ°Ñmensetmanus µ±×÷ÓαêºÍÕÚÕÖ£¨ÈȵãÊÇÔÚ×óÉϽǣ©¡£ 
 
 
14.4.3  ÆäËüµÄ±³¾°É趨ѡÏî 
 
    Äã¿ÉÒÔÓÃÃüÁîÁÐÑ¡Ïî -solid colourÉ趨±³¾°Îªµ¥Ò»ÑÕÉ«£¨ÔÚµ¥É«ÏÔʾ 
Æ÷ÉÏÖ»ÓкÚÉ«ºÍ°×É«£©¡£Äã¿ÉÒÔÓà-grey»ò -grayÉ趨ÑÕÉ«µÄ»Ò¶È£¬ÄãÒ²¿ÉÒÔ 
Óà-mod x y É趨¸ñ×ÓͼÑù£¬x ºÍ yΪ 1µ½16µÄÕûÊý¡£ 
 
 
14.4.4  Öض¨Ô¤ÉèµÄ±³¾°ºÍÓαê 
 
    Èç¹ûÄ㲻ϲ»¶Äã¼ÈÓеÄÉ趨£¬Äã¿ÉÒÔÓÃÏÂÁÐÁ½ÕßÖ®Ò»»Ö¸´Ô¤ÉèµÄÓαêºÍ±³ 
¾°£º 
 
        xsetroot -def 
        xsetroot 
 
 
14.5  ×ܽá 
 
    ±¾ÕÂÖУ¬ÎÒÃÇ¿´µ½ÈçºÎÒÔ½»Ì¸µÄ·½Ê½±à¼­Î»ÔªÓ³Ïñ£¬ÈçºÎ´¢´æËüÃÇ£¬ºÍÈç 
ºÎ°ÑËüÃÇÓëÆäËü¸ñʽ֮¼ä×÷ת»»ÒÔʹËüÃÇÄܱ»ÄÇЩ·ÇÊÓ´°ÏµÍ³³Ìʽ´¦Àí¡£Äã¿Éü 
ÒÔ°ÑλԪӳÏñºÍxsetrootÁ¬½ÓÔÚÒ»Æð£¬ÒÔ¶¨ÖÆÊʺÏÄã×Ô¼º¿ÚζµÄϵͳ£ºÓò»Í¬ 
µÄ·½·¨É趨Äã¸ùÊÓ´°µÄ±³¾°ºÍ±ä¸üÓαꡣ 
 
    ÏÂÒ»Õ£¬ÎÒÃǼÌÐøÀ´¶¨ÖÆÏµÍ³£¬²¢ÇÒÀ´¿´Ò»ÏÂÄãÓÃÒÔÉ趨£Ø³ÌʽԤÉèÑ¡Ïî 
µÄ½á¹¹¡£ 
 
===== 
 
µÚ£±£µÕ  ¶¨ÒåÓ¦ÓóÌʽµÄÔ¤ÉèÑ¡Ïî -- Resources 
 
    ´ó¶àÊýµÄ£Ø³Ìʽ½ÓÊÜÃüÁîÁÐÑ¡ÏÒÔ±ãÈÃÄãÖ¸¶¨Ç°¾°ºÍ±³¾°µÄÑÕÉ«¡¢×ÖÐÍ 
¡¢ÆðʼλÖõȵȡ£ÕâÖÖÐèÇóÊÇÓбØÒªµÄ£¬ÒòΪÈç¹ûÄãÔÚ³ÌʽÄÚÓ²ÐԹ涨ʹÓÃij 
ÖÖ×ÖÐÍ£¬¶øÔÚÖ´Ðд˳ÌʽµÄ»úÆ÷Éϲ¢Ã»ÓÐÕâÖÖ×ÖÐÍ£¬Ôò½«Ê¹µÃ³ÌʽÎÞ·¨Ö´ÐУ¬ 
ËùÒÔÄã²»Ó¦Ó²ÐԹ涨ijЩ²ÎÊý¡£ 
 
    µ±Äãÿ´ÎÖ´ÐгÌʽʱ²»Ì«¿ÉÄÜÔÚÃüÁîÁÐÖÐÖ¸¶¨ËùÓÐÐèÒªµÄÑ¡ÏÒòΪÓÐÌ«¶àÖÖ 
¿ÉÄܵÄ×éºÏÁË£¬ËùÒÔ£ØÌṩÁËÒ»¸ö½Ð×öresources µÄÒ»°ãÐԽṹ£¬ÓÃÀ´´«µÝÔ¤ 
ÉèµÄÉ趨¸øÓ¦ÓóÌʽ¡£µ±ÄãÔĶÁÖ¸ÄÏҳʱ£¬Äã¿ÉÄÜÒѾ­×¢Òâµ½ÒªÄã²ÎÕÕresources 
£¬µ«È´²»ÖªµÀʲ÷áÊÇresources £¬ÎÒÃǽ«Ôڴ˽âÊÍ¡£ 
 
    ÄãÔÚϵͳÖм¸ºõËùÓе͍Öƶ¯×÷¶¼½«ÔËÓõ½resources £¬ÊÂʵÉÏÄãΪһ 
¸öÓ¦ÓóÌʽËùÑ¡ÔñµÄÿһ¸öÑ¡ÏîµÄÉ趨¶¼ÒªÓõ½resources £¬´Ó¼òµ¥µÄÏîÄ¿Àý 
ÈçÉ«²Ê»ò×ÖÐÍ£¬µ½¶¨ÖÆÄãµÄ¼üÅÌ»ò¹ÜÀíÄãµÄÏÔʾÆ÷ÈçºÎ¹¤×÷£¬Ëü·Ç³£µÄ·½±ã£¬ 
¶øÇÒÔÚϵͳÖе½´¦¶¼Óõõ½¡£ 
 
    ±¾ÕÂÎÒÃÇÃèÊöʲ÷áÊÇresources £¬¼°¹Øì¶ËüÃÇÊÇÈçºÎ·¢Õ¹µÄ×ÊѶ£¬½ÓÏÂÀ´ 
ÎÒÃÇÃèÊö£Ø Toolkit£¨¹¤¾ß£©£¬ËüÍêÈ«µØÊ¹Óõ½ÁËresources µÄ½á¹¹£»È»áá 
¸æËßÄãһЩresources ¹¤×÷µÄϸ½Ú£¬Äã¸ÃÈçºÎÉ趨ËüÃÇ£¬¼°ÄãÄÜÓÃËüÃÇÉ趨ÄÄЩ 
ÐÍ̬¡£ 
 
    ÕâÊÇÏ൱³¤µÄÒ»Õ£¬Óм¸¸öеĹÛÄî±»¼Ó½øÀ´£¬Ò»¿ªÊ¼»áÓÐЩÀ§ÄÑ£¬µ«²» 
ÐèÌ«µ£ÐÄ£¬Ô­ÔòÉÏresources ½á¹¹·Ç³£µØ¼òµ¥£¬Ö»ÊǵÚÒ»ÑÛ¿´ÆðÀ´ºÃÏñÓÐÐí¶à 
 "ħÊõ·ûºÅ" ¶øÒÑ£¬Ò²ÐíÄãÓ¦¸ÃÏÈºÜ¿ìµØä¯ÀÀÒ»±é£¬È»ááÔÙÏêϸµØÖضÁÒ»±é¡£ 
 
 
15.1  Ê²÷áÊÇresources £¿ 
 
    ÔڣصÄÎÄÏ×ÖУ¬¡±resources ¡±ÓÐÁ½ÖÖÒâÒå¡£µÚÒ»ÖÖÊÇÏ൱µÍ½×µÄ£¬ÒâÖ¸ 
±»server¹ÜÀí»ò½¨Á¢¶ø±»Ó¦ÓóÌʽʹÓõĶ«Î÷¡£ÊÓ´°¡¢Óαꡢ×ÖÐ͵ȾùÊôì¶Õâ 
ÖÖÒâÒå¡£ 
 
    ÁíÒ»ÖÖÒâÒåÒ²¾ÍÊÇͨ³£ÄãÔÚÖ¸ÄÏÒ³Öг£¿´µ½¡±resources ¡±µÄÒâÒ壺ËüÊÇ 
Ò»ÖÖ´«µÝÔ¤ÉèÉ趨¡¢²ÎÊýºÍÆäËüÖµ¸øÓ¦ÓóÌʽµÄ·½·¨¡£ÔÚ±¾ÕÂÖÐÎÒÃǾÖÏÞì¶ 
ÌÖÂÛ´ËÖÖÒâÒåÖ®resources ¡£ÔÚ½âÊÍÏÖÐÐϵͳÈçºÎ¹¤×÷ǰ£¬ÏȻعËһϣصÄÔç 
ÆÚ°æ±¾ÊÇÈçºÎÕÆÎÕÕâЩ¹¦Äܵģ¬ÒòΪÏÖÐеĽṹÓɴ˲úÉú¡£ 
 
 
15.1.1  ¡±Ô¤É衱µÄ±³¾° 
 
    ÔڣؽÏÔçµÄ°æ±¾£¬¶Ôì¶ÏñÊÓ´°±³¾°ÑÕÉ«¡¢ÊÓ´°±ß½çµÄÑÕÉ«¡¢Ó¦ÓóÌʽËùʹ 
ÓõÄ×ÖÐÍÕâÀàÏîÄ¿Äã¿ÉÒÔÇáÒ×µØÉ趨ÆäÔ¤ÉèÖµ¡£ 
 
    Ô¤ÉèÖµµÄÉ趨·½Ê½ºÜÖ±½Ó£¬ÄãÖ»ÐèÖ¸¶¨Ò»¸öÊÓ´°µÄÊôÐÔºÍËüµÄÔ¤ÉèÖµ¡£ÀýÈ磺 
 
¡¡¡¡¡¡¡¡.Border : red 
 
Òâ¼´ËùÓеÄÊÓ´°¾ùΪºìÉ«µÄ±ß£¨³ý·ÇÄãÔÚÃüÁîÁÐÖÐÖØÐÂÉ趨±ßµÄÑÕÉ«£©£¬ÄãÒ² 
¿ÉÒ԰ѳÌʽµÄÃû³Æ·ÅÔÚÊôÐÔ֮ǰ£¬ÔòÖ»Óб»Ö¸ÃûµÄ³Ìʽ²Å»á¸Ä±ä£¬ËùÒÔ°ÑÒÔÏ 
Õâ¸ö¹æ¸ñ 
 
        xclock.Border£ºblue 
 
ºÍÏÈǰµÄ¹æ¸ñ½áºÏÔÚÒ»ÆðµÄÒâÒåΪ£ºÔ¤ÉèËùÓÐÊÓ´°¾ùΪºìÉ«µÄ±ß£¬Ö»ÓÐxclock 
µÄÊÓ´°ÎªÀ¶É«µÄ±ß¡£ 
 
    Ã¿µ±ÄãÉ趨ԤÉèÖµ£¬³Ìʽ»á×Ô¶¯È¡ÓøÃÖµ£¬ËùÒÔÄã¡õÐèÿ´Î¾ùÖ¸¶¨ÄãµÄÑ¡ 
Ôñ£¬ËüÈÃÄãÒÀÕÕÊʺÏÄãµÄ¹¤×÷ϰ¹ßÀ´Ê¹ÓÃ×ÖÐÍ£¬²»ÂÛÊÇÄãÒªÓýÏСµÄ×ÖÐÍÒÔ»ñ 
µÃ¸ü¶àµÄ×ÊѶÏÔʾ£¬»òÊÇÓýϴóµÄ×ÖÐÍÒÔ±ãÔĶÁ£¬ËüÈÃÄãÎªÌØ¶¨µÄÓ¦ÓóÌʽѡ 
ÔñÑÕÉ«£¬Äã¿ÉÒÔ¶¨ÒåÓ¦ÓóÌʽµÄÆðʼλÖã¬ËùÒÔÄã¿ÉÒÔ×ÔÐÐÉè¼ÆÒ»Ð©Æôʼө 
Ä»µÄ²¼Öã¬ÒòΪÐí¶àµÄÔ¤ÉèÖµ£¨×ÖÐÍ¡¢É«²ÊµÈ£©Êµ¼ÊÉϾ«È·µÄÒâÒåΪ¡±resources¡± 
£¬ËùÒÔ¡±resources ¡±µÄÒâÒåÖð½¥À©ÔöΪ¡±Ô¤ÉèÖµÉ趨(default setting) ¡± 
»ò¡±É趨ԤÉèÑ¡Ïî(setting default options) ¡±¡£ 
 
 
15.1.2 Resources ´«µÝ×ÊѶµ½Ó¦ÓóÌʽ 
 
ËæÖø£ØµÄ·¢Õ¹£¬Ó¦ÓóÌÊ½Ò²ËæÖ®À©Ôö£¬ÐèÒªÓÐÒ»¸öÉèÊ©´«µÝ´óÁ¿µÄ×ÊѶµ½Ó¦ 
ÓóÌʽÒÔ¶¨ÖÆ»òÖ¸¶¨ËüÃǵÄÐÐΪ£¬¶ø²»ÔÙÖ»ÊÇÓйØÉ«²ÊºÍ×ÖÐ͵Ä×ÊѶ¶øÒÑ£¬ 
ÀýÈçÄã¿ÉÒÔ¸æËß xbiff¼ì²éÐżþµÄƵÂÊ£¬»ò¶¨Òå xtermµÄ¹¦Äܼü(function-key) 
12Ϊ²åÈëÄ³Ò»ÌØ¶¨µÄ×Ö´®£¬»òÔÚ xeditÖÐÁ¬ÐøÅö´¥Á½´Î»¬ÊóÖа´Å¥´ú±íÑ¡ÔñÄ¿ 
ǰÕâ¶Î±¾Îĵȵȡ£ 
 
    ËùÒÔÖ𽥵أ¬resource¼°Ô¤ÉèÉèÊ©ÒÑËìÒ»±»·¢Õ¹³öÀ´£¬Ö±µ½Ä¿Ç°¶Ôì¶´«µÝ 
ÈκÎ×ÊѶµ½Ò»¸öÓ¦ÓóÌʽÒÑÊÇÒ»¸öÒ»°ãÐԵĽṹ¡£Äã¿ÉÒÔÏñÎÄ×Ö´®Ò»ÑùµØÖ¸¶¨ 
×ÊѶ£¬Ó¦ÓóÌʽ»áÔÚÄÚ²¿½âÊÍËü£ºÀýÈç°ÑÕâ×Ö´®µ±×÷Ò»¸ö»¬Êó°´Å¥µÄÃû³Æ£¬»òÒ»ÖÖÑÕ 
É«£¬»òÓÉÓ¦ÓóÌʽËù·¢³öµÄÒ»¸ö¹¦Äܺ͠"resources"ÊÇÈçºÎÖ¸¶¨µÄ¡£ 
 
    Õâ¸ö½á¹¹Ò²Ö𽥵ظ´ÔÓÆðÀ´ÒÔ±ãÈÃÄãÄÜÕýÈ·µØÖ¸¶¨Ôںδ¦Ó¦ÓÃÔ¤ÉèÖµ¡£ÔÚ 
ÒÔǰ£¬ÄãÖ»ÄÜÖ¸¶¨ËùÓеijÌʽ»òijһ¸öÌØ¶¨µÄ³Ìʽ¡£ÏÖÔÚµÄϵͳÄã¿ÉÒÔÉ趨µÄ 
Ô¤ÉèÖµÈ磺¡±ÖÕ¶Ë»úÊÓ´°µÄÑ¡µ¥Ñ¡Ï»ò¡±ÔÚËùÓÐÊÓ´°µÄ±êÇ©¡±»òÉõÖÁ¡±³ýÁË 
xtermÒÔÍâµÄËùÓб༭Æ÷ÊÓ´°°´Å¥ºÐÖеŦÄܰ´Å¥¡±¡£ 
 
    £Ø Toolkit, Ê¹µÃresourcesÔÚʹÓÃÉÏÓкܴóµÄ°üÈÝÐÔ²¢ÇÒÔö½øÁËÓ¦ÓõĠ
¾«È·¶È¡£ÄãÐèÒªÏÈÁ˽â ToolkitÊÇʲ÷ᣬ²ÅÄÜÊʵ±µØÊ¹ÓÃresource ½á¹¹£¬ÎÒ 
Ãǽ«ÔÚÏÂÒ»½ÚÌÖÂÛ¡£ 
 
 
15.2  £Ø Toolkit 
 
    ÎÒÃÇÏÈÇ°ÔøÌá¹ý£¬£Ø²¢²»¾ö¶¨Ê¹ÓÃÕß½éÃæ£¬ËüÖ»ÊÇÌṩһЩ½á¹¹£¬ÈÃÓ¦Óà
³ÌʽÉè¼ÆÕßÄÜ×éºÏ³ÉÈκÎÐÎʽµÄ½éÃæ¡£ÀíÂÛÉÏÕâÊǷdz£ºÏºõÐèÇóµÄ -- ËüʹµÃ 
ϵͳӵÓÐÒ»¸öÒ»°ãÐÔÄ¿µÄµÄ¹¤¾ßÇÒûÓÐʹÓÃÉϵÄÏÞÖÆ£¬µ«´ÓÁíÍâµÄ½Ç¶ÈÀ´¿´£¬ 
ËüÓкܴóµÄȱµã£º 
 
    £®¶ÔÒ»¸öʹÓÃÕß¶øÑÔ£¬²»Í¬µÄÓ¦ÓóÌʽÓв»Í¬µÄ½éÃæ£¬²»Ö»ÊÇÄÑѧÄѼǣ¬ 
      ÇÒÓ¦ÓóÌʽÎÞ·¨Æ½Ë³µØ (smoothly) Ï໥Эµ÷¹¤×÷£¨ÀýÈçÎÞ·¨ÔÚÊÓ´°Ö®¼ä 
      ×ö¼ôÌù£©£¬ÄãµÃµ½µÄÊÇһȺ¸ö±ðµÄ¡¢¶ÀÁ¢µÄ³Ìʽ£¬¶ø²»ÊÇÒ»¸öÒ»Öµġ¢ 
      ºÏ×÷ÎÞ¼äµÄϵͳ¡£ 
 
    £®´Ó³ÌʽÉè¼ÆÊ¦µÄÁ¢³¡£¬ÒâÎ¶Öø»ù±¾ÊÓ´°ÏµÍ³ÉϵÄÿһ¼þʾùÐè´ÓÍ·×öÆð£¬ 
      Ñ¡µ¥¡¢¾í¶¯°ô¡¢Ê±ÖÓ¡¢¹¦ÄÜÅ¥µÈµÈ¶¼±ØÐëÒ»Ò»Éú²ú¡£ÉõÖÁÔÚµ¥Ò»µÄ²úÆ·£¬ 
      ²»Í¬µÄ³Ìʽʦ×öÁËÒ»µãÉÔÓв»Í¬µÄÊ£¬±ã»áµ¼ÖÂÐí¶à²»ÏàÈݵÄÇé¿ö¡£ 
 
ΪÁ˿˷þÉÏÊöµÄÎÊÌ⣬Toolkit(¹¤¾ß)µÄ·½Ê½Ó¦Ô˶øÉú¡£ 
 
    ÔÚijЩ·¶Î§£¬Toolkit »á¾ö¶¨Ê¹ÓÃÕß½éÃæµÄÐÎʽ£¬µ«ÊÇÎÞÂÛÈçºÎ£¬Ëü»á¾¡ 
Á¿¼õÉÙÕâÖÖÓ°Ï죬²¢ÈÃʹÓÃÕß½éÃæ·¢Õ¹ÕßÓиü¶àÑ¡ÔñµÄ¿ÉÄÜÐÔ£¬Toolkit ±»·Ö 
ΪÁ½¸ö²¿·Ý£º 
 
    1£® Ò»×é»ù±¾µÄ½á¹¹ºÍº¯ÊýÓÃÒÔ½¨¹¹Ê¹ÓÃÕß½éÃæµÄÔªËØ£¬±»³ÆÎªToolkit 
        Intrinsics£¨ÄÚ²¿µÄ¹¤¾ß£©¡£²»ÂÛÊÇʲ÷áÑùµÄ½éÃæ£¬Èκι¤¾ß¾ùÐèʹ 
        Óõ½Ëü£¬ËùÒÔÎÒÃÇ¿ÉÒÔ°ÑToolkit IntrinsicsÊÓΪ¡±¹Ì¶¨µÄ¡±£¬Ò²¾Í 
        ÊÇÎÞ¿ÉÌæ´úµÄ¡£ 
 
    2£® Ò»×éÌá¹©ÌØ¶¨µÄʹÓÃÕß½éÃæ£¨»ò½éÃæµÄÐÎʽ£©µÄÔªËØ£¬ÕâÐ©ÔªËØ±»³Æ 
        Îª widgets (С¹¤¾ß)£¬¶øToolkit µÄµÚ¶þ²¿·Ý³ÆÎª widget set (С 
        ¹¤¾ß×é)£¬ÎÒÃÇÈÏΪÕâÊÇ¿ÉÒÔÌæ»»µÄ£¬²»Í¬µÄ½éÃæÌṩ²»Í¬µÄWidget 
        Sets £¬ÉõÖÁËüÃǶ¼Ê¹ÓÃIntrinsics¡£ 
 
ÏÂÃæÁ½¸öС½Ú¸üÏêϸµØËµÃ÷ÕâÁ½¸ö²¿·Ý¡£ 
 
 
15.2.1  Toolkit µÄµÚÒ»¸ö²¿·Ý -- Intrinsics 
 
    Intrinsics¶¨ÒåµÄʵÌå³ÆÎªwidgets£¬²¢ÌṩÁËËùÓн¨Á¢¡¢¹ÜÀíºÍ»Ù»µwidget 
ËùÐèµÄÉèÊ©¡£ÀíÂÛÉÏ£¬Ò»¸öwidgetÊÇÒ»¸ö´¦ÀíÌØ¶¨¶¯×÷µÄʹÓÃÕß½éÃæµÄÔªËØ£¬Êµ¼Ê 
ÉÏÒ»¸öwidgetÊÇ£ØÊÓ´°¼ÓÉϹæÔòºÍ¹¦ÄÜÒÔ¾ö¶¨ËüµÄÊäÈëºÍÊä³öµÄ¶¯×÷£¬Ò²¾ÍÊÇ 
˵£¬ËüÈçºÎ¶ÔʹÓÃÕßÓÐËù·´Ó¦¡£ 
 
    ÎªÁ˰ïÖú½âÊÍwidgetµÄ¹ÛÄÎÒÃǽ«¸øÒ»µã·¶Àý£¬µ«ÊÇÇë×¢Ò⣡ËüÃDz¢²» 
ÊÇIntrinsicsµÄÒ»²¿·Ý£¬¶øÊÇÎÒÃǽ«ì¶ÏÂһС½ÚÌÖÂÛµÄÒ»¸öÌØ¶¨µÄwidget×éµÄ 
Ò»²¿·Ý£¬ÔÚ´ËÌá³öÄ¿µÄÖ»ÊÇΪÁË·½±ã¡£ 
 
    Command Widget£¨ÃüÁîwidget£©£ºÕâÊÇÒ»¸öÔÚÓ©Ä»ÉϺ¬ÓÐһЩÎÄ×ֵij¤·½ 
ÐΡ±°´Å¥¡±£¨Ò²¾ÍÊÇÒ»¸öСÊÓ´°£©¡£µ±Ö¸±êÔÚÕâ¸ö°´Å¥Ö®ÉÏʱ£¬ËüµÄ±ß»á³ÊÏÖ 
¸ßÁÁ¶È£¬µ±Ò»¸ö»¬Êó°´Å¥ÔÚÕâ¸öwidget±»Åö´¥Ê±£¬Ò»¸ö±»³Ìʽʦָ¶¨µÄÈíÌå³£ 
ʽ(routine) ±ã»á±»Ö´ÐС£ 
 
    ÄãÒѾ­Ê¹Óùýcommand widgetºÃ¼¸´ÎÁË£ºÔÚxedit µÄÃüÁîÑ¡µ¥ºÍÔÚxmanµÄ 
Ö÷Ñ¡ÏîÊÓ´°¡£ 
 
    Scrollbar Widget£¨¾í¶¯°ôwidget£©£ºÍ¬ÑùµÄ£¬ÄãÒ²ÒѾ­Ê¹ÓùýÁ˺ü¸´Î£¬ 
ÔÚxterm ºÍxedit ÖÐ¾í¶¯±¾ÎÄ£¬ÔÚxmanÖÐ¾í¶¯±¾ÎĺÍĿ¼ÁС£ 
 
    Intrinsic ÌṩÁË»ù±¾µÄ½á¹¹£¬ÈκÎÒ»¸öÌṩ½éÃæµÄ½Ï¸ß½×ÈíÌå¾ùÐèҪʹ 
Óõ½Ëü£¬ËüÌṩÁËÒÔÏµĹ¦ÄÜ£º 
 
    £®½¨Á¢ºÍ»Ù»µwidget¡£ 
 
    £®°ÑһȺwidgetµ±³ÉÒ»¸öµ¥Ôª(unit)À´¹ÜÀí¡£ 
 
    £®ÕÆÎÕgeometry£¬Ò²¾ÍÊÇ˵λÖ㬰üÀ¨´Ó×î¸ß½×£¨Ò²¾ÍÊÇÓ¦ÓóÌʽµÄ -geometry 
      Ñ¡Ïµ½×îµÍ½×£¨¹ÜÀíÓ¦ÓóÌʽÓõ½µÄsub-widgetµÄλÖã¨ÀýÈçÑ¡µ¥°´Å¥ 
      µÄλÖã©£©¡£ 
 
    £®ÕÆÎÕ¡±Ê¼þ¡±£¬ÀýÈçÔÚÒ»¸öwidgetÖÐ, µ±»¬Êó°´Å¥±»Åö´¥Ê±ºô½ÐÊʵ±µÄ³Ì 
      Ðò¡¢¹ÜÀíÊÓ´°µÄÆØ¹â (exposure)ºÍÕÆÎÕ¼üÅ̵ÄÊäÈë¡£ 
 
    £®¹ÜÀí¸øresources ºÍÔ¤ÉèµÄÿһ¸öwidget¡£ 
 
 
15.2.2  Toolkit µÄµÚ¶þ²¿·Ý -- Widget Sets 
 
    ¹ãÒåÀ´Ëµ£¬IntrinsicsÖ»ÌṩÄ㽨ÔìÒ»¸öʹÓÃÕß½éÃæµÄ¹Ç¼Ü£¬Widget SetÔò 
ʵ¼ÊµØÌṩÁËÒ»¸ö¼È¶¨µÄ½éÃæ£¬ÇÒ²»Í¬µÄwidget×éÌṩ²»Í¬ÐÎʽµÄ½éÃæ£¬ËäÈ» 
¶ÔÈκη¶Î§µÄÐèÇó²¢ÎÞ·¨Ô¤·À»ìÓÃwidget£¬µ«Ò»°ãÈÔÏ£ÍûÒ»¸öϵͳ¹Ì¶¨ÔÚ 
Ò»ÖÂÐÔµÄwidget setÉÏ¡£ 
 
    Ôڣؠcore °æÉÏÖ»ÓÐÒ»¸öwidget setÌṩ£¬ÎÒÃÇÃèÊöì¶Ï£º 
 
Athena Widget Set £¨ÑŵäÄÈwidget set£© 
 
    ´ó²¿·ÝµÄMIT core°æµÄÓ¦ÓóÌʽʹÓÃToolkit ºÍAthena Widget Set.£¨Ãû 
³ÆµÄÀ´Ô´ÊÇ£ØÓÉMIT µÄAthena¼Æ»­²úÉú³öÀ´£©¡£ÕâЩwidgetµÄ¶¨ÒåÄãÒÑÔÚÐí¶à 
µÄÓ¦ÓóÌʽÓùý¡£ 
 
    ÎÒÃÇÔÚǰ½ÚÌá¹ýÁËCommand WidgetºÍScrollbar Widget£¬ÖÁì¶Athena Widget 
Set µÄÆäËü²¿·Ý°üº¬£º 
 
    Label Widget£ºÕâ¸öÄã¿ÉÒÔÏëÏñ -- ÔÚÊÓ´°ÖÐÏÔʾµÄÒ»¸ö×Ö´®»òͼ¡££¨Àý 
                  ÈçÔÚxmanÖ÷Ñ¡ÏîÑ¡µ¥Öеġ±Manual Browser¡±µÄ±êÌ⣩ 
 
    Text Widget £ºÎÒÃÇÔÚµÚ£±£°ÕÂÃèÊöxedit Ê±Ìá¹ýµÄ¡±building block¡±¡£ 
                  ËüÌṩÎÒÃÇËùʹÓõı༭¹¦ÄÜ¡£ 
 
    Viewport Widget £ºÒ»¸ö¾ßÓÐ¾í¶¯°ôµÄÊÓ´°£¬ÈÃÄã¿ÉÒÔ¾í¶¯ÊÓ²º(viewport) 
                  µÄÄÚÈÝ£¬xmanʹÓÃÆäÖÐÖ®Ò»ÓÃÒÔÏÔʾָÄÏҳ֮Ŀ¼¡£ 
 
    Box Widget£ºËüÒÔÒ»¸öÖ¸¶¨´óСµÄºÐ¹ÜÀísub-widgetµÄ²¼Öã¬ÇÒÊÔÖø½« sub- 
                widget¾¡Á¿¼¯ÖÐÔÚÒ»Æð£¬ÀýÈçxmh µÄReply ¡¢Forward µÈÃü 
                ÁîÅ¥¼´ÊÇÓÉBox Widget²¼Öᣠ
 
    VPaned Widget £ºËü¹ÜÀísub-widget£¬½«ËüÃDZ£´æÔÚ´¹Ö±¶ÑµþÖУ¬ÇÒÏÔʾÁË 
                  ÔÚÁ½¸ösub-widgetÖ®¼äµÄ·Ö¸ôÏßÉϵġ±°ÑÊÖ¡±(grip)£¬°ÑÊÖ 
                  ¿ÉÒÔÑ¡ÔñÐÔµÄÈÃÄã¸Ä±äÒ»¸öwidgetµÄ´óС£¬¶øÇÒÁíÒ»¸öÏà 
                  ¹ØµÄwidget´óСÒà°éËæ±ä»¯£¬ÀýÈçÎÒÃÇÔÚͼ10-12 ¿´µ½µÄ 
                  xmanµÄÊÓ´°µÄÖ÷ÒªµÄÔªËØÊDZ»VPaned Widget ¹ÜÀíµÄ¡£ 
 
    Form Widget £ºÁíÒ»ÖÖ¹ÜÀíÒ»×ésub-widgetµÄ·½·¨£¬µ«¶ÔλÖõÄÑ¡ÔñÓиü¶à 
                  µÄµ¯ÐÔ¡£ 
 
    List Widget £ºËü¹ÜÀíһȺ×Ö´®£¬½«ËüÃǰ²ÅÅÔÚÐÐÁÐÖУ¬ÈκεÄ×Ö´®½å 
                  Öøì¶ÆäÉÏÅö´¥µÄ¶¯×÷¶ø±»Ñ¡Ôñ£º×Ö´®»áתΪ¸ßÁÁ¶È£¬ÇÒºô½Ð 
                  Ò»¸öÖ¸¶¨µÄº¯ÊýÒÔÍê³ÉÌØ¶¨µÄ¶¯×÷¡£xmanʹÓÃÒ»¸öList 
                  WidgetÀ´ÕÆÎÕÔÚÒ»¸öÖ¸ÄÏÕ½ÚÖÐÖ¸ÄÏÒ³µÄ±íÁС£ 
 
    ÎÒÃÇÏÖÔÚÀ´¿´Ò»ÏÂÈçºÎ×éºÏwidgetÒÔ»ñµÃËùÐèÒª¹¦ÄÜ£¬ÎÒÃÇÈÔÈ»ÒÔxmanΪ 
Àý¡£xmanµÄÖ¸ÄÏҳ֮Ŀ¼ÔÚËüµÄµÍ½×ÊÇlist widget £¬¹ÜÀíĿ¼ҳÃû³ÆµÄ±íÁР
ÒÔ¼°Ëü±¾ÉíµÄÄÚÈÝÊÇÓÃviewport widget £¨ÈÃʹÓÃÕß¾í¶¯ÖÁ±íÁÐÖÐËùÐèµÄλÖà
£©£¬½«Ö¸ÄÏÒ³µÄwidget¾Û¼¯ÔÚÒ»Æð£¬ËüÃÇÊǰüº¬ÔÚÒ»¸öVPaned Widget ÖУ¬Ëù 
ÒÔÊÂʵÉÏÕâÊÇÒ»¸ö½×²ã×´(hierarchy) µÄwidget£¬Ã¿Ò»¸ö¿ÉÒÔÍê³ÉËüµÄרÃÅ 
¹¦ÄÜ£¬¶øËùÓеÄÓ¦ÓóÌʽËùʹÓõÄToolkit ¾ùº¬ÓÐÕâÈý¸öwidget½á¹¹¡£ 
 
 
 
15.2.3  widget£ºÃû³ÆºÍÀà±ð (Names and Classes) 
 
    resourceºÍÔ¤Éè½á¹¹ÊÇÔÚwidgetÃû³ÆµÄ»ù´¡Ï¹¤×÷£¬ËùÒÔÎÒÃǽ«ÒÔ¶ÔÃû³Æ 
µÄ´¦Àí×öÒ»¸ö¸Å¹Û·½Ê½À´½áÊø¶ÔToolkit µÄ¹Û²ì£¬²¢»Øµ½ÏÈǰÌÖÂÛµÄresource¡£ 
 
    Toolkit Ìṩһ¸öÎï¼þµ¼Ïò³Ìʽϵͳ(object-oriented programming system) 
¸ø³ÌʽÉè¼ÆÊ¦¡£Ëü¶¨ÒåÎï¼þµÄÀà±ð(class) £¬Ò²¾ÍÊÇÖ¸¶¨ºÎʱÎï¼þ±»½¨Á¢»òÈç 
ºÎ²Ù×÷µÈµÈµÄÎï¼þÐÔÖÊ¡£ÕâЩÎï¼þ¼´ÊÇwidget£¬ÏµÍ³½«È·±£ËüÃÇºÍÆäËüµÄwidget 
ÒÔ¼°ÆäËü²¿·ÝµÄÓ¦ÓÃÈíÌåÒÔ¶¨ÒåÃ÷È·µÄ·½Ê½½»Ì¸¡£ 
 
    µ±Ò»¸ö³ÌʽÉè¼ÆÊ¦½¨Á¢Ò»¸öÌØ¶¨Àà±ðµÄwidget£¬Ëü±»³ÆÎª¸ÃÀà±ðµÄ³ÉÔ± 
(instance)£¨¸ÅÀ¨µÄ˵£¬Ò»¸öÀà±ðÊÇÒ»¸ö³éÏóµÄ¶¨Ò壬¶øÒ»¸ö³ÉÔ±ÔÚijЩµØ·½ 
ʵ¼ÊµØ·ûºÏÕâЩ¶¨Òå¡££©½¨Á¢widgetÓбØÐëÒ»¸öÃû³Æ£¬ÓɳÌʽÉè¼ÆÊ¦Ö¸¶¨£¬£¨ 
ÀýÈ磺³ÌʽÂëµÄʵ¼ÊÐÍʽΪ¡±Creat a widget, of the class Box Widget, 
and call it topBox ¡±£©ÔÚijЩ»·¾³ÏÂwidgetµÄÀà±ðÃû³ÆÒ²»á±»²Î¿¼µ½¡£×Ü 
½áÀ´Ëµ£¬Ò»¸öwidgetÓÐÒ»¸ö³ÉÔ±Ãû³ÆºÍÀà±ðÃû³Æ£»¸ü¼òµ¥µÄ˵£¬Ò»¸öÃû³ÆºÍÒ» 
¸öÀà±ð¡£ 
 
 
 
15.3  Resources ÈçºÎ±»¹ÜÀí -- Resource¹ÜÀíÆ÷ 
 
    ÈÃÎÒÃÇÌáÐÑ×Ô¼ºÒ»ÏÂÎÒÃÇÊÔͼÓÃresourceÀ´×öʲ÷᣿ÎÒÃÇÒªÄÜ´«µÝ×ÊѶ¸ø 
Ò»¸öÓ¦ÓóÌʽ£¬¸æËßËüÒÔijЩ·½Ê½¸Ä±äËüµÄÒ»°ãÐÔ¶¯×÷£¬ÀýÈ磬½«ÊÓ´°µÄ±ß 
ÒÔ·Ûºìɫȡ´úÔ­À´µÄºÚÉ«£¬»òʹÓÃÒ»Ð©ÌØ±ðµÄ×ÖÐÍ¡£ 
 
    £ØÓÃÏÂÊöµÄ·½Ê½ÕÆÎÕÕâЩÐèÇó¡£ÄãÉ趨һ¸ö°üº¬Ðí¶àÏîresource¹æ¸ñµÄ×Ê 
ÁϿ⣬ÿһ¸öresource¹æ¸ñÒÔÒ»¸öÓ¦ÓóÌʽµÄÄ³Ð©ÌØáçÃüÃû£¬ÇÒÉ趨һ¸öÖµ¸ø 
Õâ¸öÌØáçµ±Ô¤ÉèÖµ£¬Ò²¾ÍÊÇ˵£¬Ò»¸ö¹æ¸ñ (spec) µÄÐÎʽΪ£º 
 
        characteristic : value    £¨ÌØá磺ֵ£© 
 
    µ±Ó¦ÓóÌʽ¿ªÊ¼Ö´ÐÐʱ£¬Ëü»áÏÈѯÎÊ×ÊÁÏ¿âÊÇ·ñÓÐÈκÎÌØáç·ûºÏ×Ô¼ºËùÒª 
µÄÉ趨£¬»òʹÓÃÏà¹ØµÄÖµ£¬ÀýÈ磺 
 
        xclock*foreground:blue 
 
    ÒâΪ½«ÖµblueÉ趨¸øÌØáçxclock*foreground ¡£ÓÃÒÔ¾ö¶¨Ò»¸ö³ÌʽµÄÐèÇó 
ÊÇ·ñ·ûºÏÔÚ×ÊÁÏ¿âÖÐÖ®¹æ¸ñµÄϵͳ²¿·Ý£¬±»³Æ×÷Resource¹ÜÀíÆ÷¡£ 
 
    ResourceÔ¤ÉèÖµÄܱ»Ó¦Óõ½Ò»¸öÓ¦ÓóÌʽÖеÄÎï¼þ£¨Í¨³£ÊÇwidget£©£¬¾Í 
ÈçͬÉè¼ÆÕû¸ö³Ìʽһ°ã£¬£¨ÀýÈçÄã¿ÉÒÔ¶ÔÒ»¸öÌØ¶¨µÄ×ÓÊÓ´°ÔÚijһ¸öÃüÁî°´Å¥ 
µÄ±³¾°É«É趨ԤÉèÖµ£¬¶ø²»ÊÇÖ»ÄÜÕë¶ÔËùÓÐÓ¦ÓóÌʽµÄÊÓ´°±³¾°£©¡£ÎªÁËÄÜ´ï 
µ½ÕâÒ»µã£¬ÎÒÃÇÐèҪһЩÑϽ÷µÄÃüÃû·½·¨£¬ÒÔÉ趨Îï¼þÓ¦ÓÃÔ¤ÉèÖµ¡£ 
 
 
15.3.1  Ö¸¶¨Ò»¸öResourceÔ¤¶¨Ó¦Óõ½ºÎ´¦ 
 
    Resource¹ÜÀíÆ÷¸ù¾ÝÌØáçÖµ(characteristic)¾ö¶¨Ò»¸öÔ¤Éè¹æ¸ñÊÇ·ñÄÜÓ¦ 
ÓÃÔÚÌØ±ðµÄÇé¿ö£¬ÎÒÃǿɽ«ÌØáçÖµ·ÖΪÈý¸ö²¿·Ý¡£ 
 
    1.  ÄãÓÃÒÔÉ趨ԤÉèÖµµÄ³ÌʽÊôÐÔ£¬ÀýÈ磺±³¾°É«¡¢×ÖÐ͵ȡ£ 
 
        Äã±ØÐèÖ¸¶¨ÊôÐÔ (attribute) -- Òâ¼´ÄãÉ趨ʲ÷áÖµ¸øËü¡£¸ø¶¨Ò»¸ö 
        resourceµÄ¹æ¸ñ ¶ø²»ËµÃ÷ËüµÄÖµÊÇÎÞÒâÒåµÄ¡£ 
 
        ×¢Ò⣺ÔڣصÄÎÄÏ׺ÍÊÖ²áÖУ¬ÊôÐÔͨ³£±»³ÆÎª¡±resource¡±»ò 
        ¡±resource name¡±,¡±Resource¡±Ò²Í¨³£±»ÓÃÀ´µ±×÷ÎÒÃdzÆÎªÌØáçÖµ¡£ 
 
        ÌØáçÖµµÄÆäËüÁ½¸ö²¿·ÝÖ¸¶¨Ô¤ÉèÖµÔںδ¦Ê¹Óá£ÀýÈçÖ»ÔÚÌØ¶¨µÄ³Ìʽ 
        Ê¹ÓûòÔÚÌØ¶¨ÐÍ̬µÄÎï¼þ£¬»òÁ½Õß¾ùÊÇ¡£ 
 
    2.  Ó¦Óõ½Õâ¸ö¹æ¸ñµÄÓ¦ÓóÌʽµÄÃû³Æ£¬Èç¹ûÄãÊ¡ÂÔËü£¬¹æ¸ñ½«Ó¦Óõ½ 
        ËùÓеÄÓ¦ÓóÌʽ¡£ 
 
    3.  Ò»Á¬´®µÄÏÞ¶¨(restrictions)Ìõ¼þ£ºµ±Îï¼þ·ûºÏÏÞ¶¨Ìõ¼þʱ£¬²Å»á²ú 
        ÉúÖ¸¶¨µÄÓ¦Óá£ÏÞ¶¨Í¨³£ÎªwidgetµÄÃû³Æ£¬Äã¿ÉÒÔÖ¸¶¨´ÓÁ㿪ʼÈκΠ
        ÊýÄ¿µÄÏÞ¶¨¡£ÀýÈ磺 
 
          xclock*foreground:blue 
          xedit*row1*Command*Cursor:Cntr_ptr 
 
        µÚÒ»¸öÀý×ÓûÓÐÈκÎÏÞ¶¨£¬µÚ¶þ¸öÀý×ÓÓÐÁ½¸öÏÞ¶¨(row1 ºÍCommand) 
 
        Èý¸ö²¿·ÝÒÀÐòÅÅÁР
 
        [<program name>] [<restrictions>] <attribute> 
 
        ²¢ÒÔÌØÊâµÄ·Ö¸ô·ûºÅ·Ö¿ª£¬ÎÒÃǽ«ì¶ÉÔáá˵Ã÷·Ö¸ô·ûºÅµÄϸ½Ú£¬µ«ÎÒ 
        ÃÇÏÈ¿´Ò»Ð©ÌØáçÖµµÄ·¶Àý£¨ÎªÁ˼òµ¥Æð¼û£¬ÎÒÃÇÔÚ·¶ÀýÖÐÖ»Óõ½ÑÕÉ« 
        ÊôÐÔ£©¡£ 
 
 
һЩ˵Ã÷Resource¹æ¸ñµÄ·¶Àý 
 
    £®Ö¸¶¨ÔÚÈκεط½ÖеÄǰ¾°É«Ô¤ÉèֵΪ»ÆÉ«¡£ 
 
          *foreground:yellow 
 
    ÎÒÃÇδָ¶¨ÈκÎÓ¦ÓóÌʽµÄÃû³Æ£¬ËùÒԴ˹æ¸ñ¿ÉÓ¦Óõ½ËùÓеÄÓ¦ÓóÌʽ£» 
ÎÒÃÇҲδָ¶¨ÈκÎÏÞÖÆ£¬ËùÒÔ¶ÔÒ»¸öÓ¦ÓóÌʽÔÚÈκεط½¶¼ÊÊÓᣣ¨"*" Õâ¸ö 
·ûºÅ¾ÍÊÇÎÒÃÇ·½²ÅÌá¼°µÄÌØÊâ·Ö¸ôºÅµÄÒ»ÖÖ£© 
 
    £®Ö¸¶¨Ö»ÓÐÔÚxclockÓ¦ÓóÌʽÖеÄǰ¾°É«Ô¤ÉèֵΪ·ÛºìÉ«¡£ 
 
          xclock*foreground:pink 
 
      Õâ¸ö¹æ¸ñ½öÄÜÔÚxclockÊÊÓ㬵«ÊÇÖ»ÒªÏîÄ¿ÖеÄÊôÐÔ½Ð×ö 
¡±foreground¡±µÄ¾ùÊÊÓᣠ
 
    £®ÏÖÔÚ£¬Õë¶ÔÒ»¸öÌØ¶¨Ó¦ÓóÌʽµÄÌØ¶¨µØ·½£º 
 
          xman*topBox*foreground:blue 
 
      Õâ¸ö¹æ¸ñ½öÄÜÔÚxmanÊÊÓ㬶øÇÒÖ»ÄÜÔÚxmanÖ÷Ñ¡ÏîÑ¡µ¥ÖÐÃûΪtopBoxµÄ 
Îï¼þÊÊÓᣣ¨Ó¦¸ÃÊÊÓÃì¶xmanÖÐËùÓнÐtopBoxµÄÎï¼þ£¬µ«Êµ¼ÊÉÏÖ»ÓÐÒ»¸ö 
topBoxÎï¼þ£© 
 
    £®ÔÚµÚ¶þ¸ö·¶Àý£¨·ÛºìÉ«£©ÖÐÎÒÃǰüº¬ÁËÓ¦ÓóÌʽÃû³Æ£¬µ«ºöÂÔÁËÈκÎÏÞ 
      ÖÆ£¬ÏÖÔÚÎÒÃÇ·´¹ýÀ´£º 
 
          *command*foreground:green 
 
      Ò²¾ÍÊÇ˵£¬ÎÒÃÇÖ¸¶¨ÔÚÈκÎÓ¦ÓóÌʽÖÐÎï¼þÃû³ÆÎªcommand µÄǰ¾°É«Ô¤ 
ÉèֵΪÂÌÉ«¡£ 
 
 
 
15.3.2  ÓÃÀà±ðÃû³ÆÒ»°ã»¯¹æ¸ñ˵Ã÷ 
 
    Ç°ÊöµÄÀý×Ó˵Ã÷ÁËÎÒÃǶÔÔ¤ÉèÖµ½á¹¹ËùÐèµÄ´ó²¿·Ý¹¦ÄÜ£¬µ«ËüÃÇÓÐÒ»¸öÏÞ 
ÖÆ£ºÄã±ØÐëÖªµÀÓ¦ÓóÌʽÉè¼ÆÊ¦Éè¼ÆÔÚÿһ¸öÓ¦ÓóÌʽÖеÄwidgetÃû³Æ£¬Õâ 
Щ×ÊѶÓÐʱ°üº¬ÔÚ³ÌʽµÄÖ¸ÄÏÒ³ÖеÄÒ»²¿·Ý£¬µ«Í¨³£±»Ê¡ÂÔ¡£ 
 
    ÎÞÂÛÈçºÎ£¬Resource¹ÜÀíÆ÷ÓÐÒ»¸ö¾¡Á¿¼õµÍÕâ¸öÎÊÌâµÄ·½Ê½£ºµ±ÄãÔÚÌØáç 
Öв»Âۺδ¦Óõ½Ò»¸öÓ¦ÓóÌʽÃû³Æ¡¢ÏÞÖÆ»òÊôÐÔÃû³Æ£¬Äã¾ù¿ÉÀà±ðÃû³Æ(class 
name)À´´úÌæËü¡£ 
 
    Ó¦ÓóÌʽÀà±ðÃû³Æ(Application class name)£ºÃèÊö³ÌʽµÄÐÍ̬£¬ÀýÈç 
        xterm ¿ÉÒÔÊÇTerm Emul £¨ÖÕ¶Ë»úÄ£ÄâÆ÷£©µÄÀà±ð£¬xedit ºÍemacs 
        ÊÇEditor£¨±à¼­Æ÷£©µÄÀà±ð¡££¨µ«Èç¹ûxterm ÊÇxterm µÄÀà±ð£¬xedit 
        ÊÇxedit µÄÀà±ðÔòʧȥÒâÒå¡££© 
 
    ÏÞ¶¨Àà±ðÃû³Æ (Restriction class name)£ºÏÞ¶¨¼¸ºõÊÇÒ»¶¨²»±äµÄwidget 
        Ãû³Æ£¬ËùÒÔÔڴ˵ØÄã¿ÉÒÔÓÃwidgetÀà±ðÃû³Æ¡£ 
 
    ÊôÐÔÀà±ðÃû³Æ (Attribute class name) £ºÊôÐÔÊÇÈçͬwidgetÒ»°ãµÄÒ»¸ö 
        ÐÍ̬»òÀà±ðµÄ³ÉÔ±(instance)¡£ 
 
    ´«Í³ÉÏ£¬ËùÓеÄÀà±ðÃû³ÆÒÔÒ»¸ö´óдµÄ×Öĸ¿ªÍ·£¬ÆäááÔòΪСд×Öĸ£¬Àý 
ÈçÊôÐÔ¡±foreground¡±ÊÇÊôì¶¡±Foreground¡±Àà±ð£¬ÎÒÃǽ«¼òµ¥µÄ½âÊÍÄãÈçºÎ 
È¥·¢ÏÖÄãÐèÒªÓÃÀ´Ö¸¶¨ÏîÄ¿µÄÀà±ðÃû³Æ¡£Ê×ÏÈ£¬ÎÒÃǽ«¿´Ò»Ð©¸ü¶àµÄ·¶Àý£¬Õâ 
´ÎÓõ½ÁËÀà±ð»òÒ»¸ö»ìºÏÁËÀà±ðºÍ³ÉÔ±µÄ·¶Àý¡£ 
 
 
º¬ÓÐÀà±ðÃû³ÆµÄResource¹æ¸ñ˵Ã÷·¶Àý 
 
    ÕâЩ·¶Àýչʾ³öÄãÈçºÎÔÚResource¹æ¸ñÖÐʹÓÃÀà±ð£¬¶ø½ÏǰÊöÒÔ¸üÒ»°ãÐÔ 
µÄ·½Ê½É趨ԤÉèÖµ£¬ËüÃÇÒ²½âÊÍÁËÄãÈçºÎÄÜʹÓÃÒ»¸öÀà±ðÀ´É趨һ¸öÔ¤ÉèÖµ¸ø 
½Ï´ó·¶Î§µÄÇé¿ö£¬ºÍ½«Àà±ðÓë³ÉÔ±½áºÏÆðÀ´ÒԾܾøÔ¤ÉèÖµÔÚÄ³Ð©ÌØÊâÇé¿öÏÂÉè 
¶¨¡£ 
 
    £®Ö¸¶¨ÔÚÈκεط½Ç°¾°É«µÄÔ¤ÉèֵΪ»ÆÉ« 
 
          *Foreground:yellow 
 
    Õâ¸ö·¶ÀýºÍÏÈǰ·¶ÀýµÄÇø±ðÔÚì¶ÎÒÃÇÊǶÔForegroundÀà±ðÖ¸¶¨Ô¤ÉèÖµ¡£Õâ 
¸öÇø±ðÖ®ËùÒÔÖØÒª£¬ÊÇÒòΪ²¢·ÇËùÓÐÔÚÀà±ðForegroundµÄÊôÐÔ£¬ËüµÄ³ÉÔ±Ãû³Æ 
¶¼ÊǽÐforeground¡£ÀýÈ磬xclockµÄÖ¸ÕëµÄÑÕÉ«¿ÉÓÉÀà±ðForegroundµÄÊôÐÔÀ´ 
¾ö¶¨£¬µ«ËüµÄ³ÉÔ±Ãû³Æ²»½Ðforeground¶ø½Ðhand¡£ 
 
    £®ÎÒÃÇ¿ÉÒÔÓÃÕâÖֽṹÀ´°ïÖúÎÒÃÇÔÚÎļþ²»Çå³þµÄÇé¿öÏ£¬½åÖøÒÔÇ¿ÁÒ¶Ô 
      ±ÈµÄ×éºÏÉ趨ԤÉèÖµÀ´·Ö±æÎï¼þµÄÀà±ð£º 
 
          xmh*Command*Foreground:khaki        £¨ÍÁ»ÆÉ«£© 
          xmh*Command*Background:maroon       £¨ËÚÉ«£© 
 
      Èç´Ë½«Ê¹ËùÓеÄÃüÁîwidget(command widget)³ÊÏÖÐÑÄ¿¶øÃÀÀöµÄÑÕÉ«¡£ 
 
    £®¶ÔËùÓеı¾ÎÄwidget(text widget) ÊÓ´°É趨һ¸öÔ¤ÉèÖµ£¬³ýÁËxedit 
      ÊÓ´°ÒÔÍ⣺ 
 
          *Text*Background:pink 
          xedit*Text*Background:navy 
 
    £®ºÍÉÏÀýÔ­ÀíÏàͬ£º 
 
          *Command*Backgrond:green 
          xman*Command*Backgrond:white 
          xman*manualBrowser*Command*Background:orange 
 
 
ÈçºÎ·¢ÏÖ³ÉÔ±ºÍÀà±ðÃû³Æ 
 
    ÕâºÜÀ§ÄÑ£¬ÒòΪûÓмòµ¥ºÍÒ»ÖµÄwidgetÃû³Æ¡¢Àà±ð¡¢ÊôÐԵȵȵÄÎļþ£¬ 
ÎÒÃÇÖ»ÄÜÁгöÿһ¸ö×îºÃµÄÀ´Ô´£¬²¢ÇÒÌáʾÄãÈçºÎ»ñµÃ¸ü¶àµÄ×ÊѶ¡£ 
 
    Ó¦ÓóÌʽ³ÉÔ±Ãû³Æ(Application instance name) £ºÕâºÜÈÝÒ×--Ëü¾ÍÊÇÄã 
Ö´ÐеÄÓ¦ÓóÌʽÃû³Æ¡£Èç¹û´Ë³ÌʽʹÓÃToolkit £¬ÄãÄÜÔÚÃüÁîÁÐÒÔÑ¡Ïî-name 
stringÃ÷È·µØÖ¸¶¨Ò»¸ö²»Í¬µÄÓ¦ÓóÌʽÃû³Æ£¬ÎªºÎÄãÐèÈç´Ë×÷£¿ÒòΪËüÈÃÄãÔÚ 
µ¥Ò»Ó¦ÓóÌʽÖж¨Ò峬¹ýÒ»×éµÄÔ¤ÉèÖµ£¬¶øÄã¿ÉÒÔʹÓÃ-name ÔÚÆä¼äÇл»¡£Àý 
È磬Äã¿ÉÒÔ¶¨ÒåÒ»¸öxterm µÄÕý³£Ô¤ÉèÖµ£¬µ«¶ÔÃûΪdemoµÄÓ¦ÓóÌʽ¶¨ÒåÒ»¸ö 
ºÜ´óµÄÊÓ´°³ß´çºÍ´ó³ß´çµÄ×ÖÐÍ£¬Äã¿ÉÒÔÓ㺠
 
          xterm -name demo 
 
¸øÄãÒ»¸öÓÃÀ´Õ¹Ê¾»ò½ÌѧµÄxterm¡£ 
 
    Ó¦ÓóÌʽÀà±ðÃû³Æ£¨Application class name£©£ºÕâûÓÐÎļþ˵Ã÷£¬×î¼ò 
µ¥ÕÒѰËüµÄ·½·¨ÊÇÆô¶¯Ó¦ÓóÌʽ²¢ÔÚÊÓ´°ÖÐʹÓÃxprop £¬ÐÔÖÊ (property)µ±ÖР
µÄWM_CLASS»á¸øÄãÓ¦ÓóÌʽ³ÉÔ±¼°Àà±ðµÄÃû³Æ£¬ÀýÈ磬¶Ôxterm Äã»áµÃµ½£º 
 
          WM_CLASS(STRING) = "xterm","XTerm" 
 
    Restriction/Object/Widget ³ÉÔ±Ãû³Æ£º³ÌʽµÄÖ¸ÄÏÒ³»áÁгöÄã×îÏëÒª´æ 
È¡µÄÎï¼þÃû³Æ£¬ÀýÈ磺xmanÁгötopBox£¬help£¬manualBrowser µÈµÈ£¬Èç¹ûÖ¸ 
ÄÏÒ³²¢Î´¸øÄã³ÉÔ±Ãû³Æ£¬ÔòΨһµÄ·½·¨ÊÇÈç¹û¿ÉÄÜ£¬Ö±½Ó¿´ËüÃǵÄԭʼ³ÌʽÂë 
¡££¨ÕâÖÖ·½·¨Í¨³£ÎÞ·¨ÁîÈËÂúÒ⣩ 
 
    Restriction/Object/Widget Àà±ðÃû³Æ£ºÕâÈÝÒ×Щ£¬´ó²¿·ÝµÄÖ¸ÄÏÒ³»á¸æ 
ËßÄãÓÐÐËȤµÄÎï¼þÀà±ð£¬¼´Ê¹Ã»Óеϰ£¬´ó²¿·ÝµÄÎï¼þÒ²ÊDZê×¼¼¯ºÏÖеĠ
widget£¬µ±Äã´ÓϵͳÖÐʹÓÃËüÃÇʱ£¬Äãͨ³£Äܲ³öËüÃÇÊôì¶ÄÄÒ»¸öÀà±ð¡££¨Àý 
È磺Äã´Óδ±»¸æÖªscrollbar µÄ³ÉÔ±Ãû³Æ£¬µ«Ëü99.9% µÄ»ú»áÊÇÀà±ðScrollbar 
µÄwidget (³ÉÔ±)¡££© 
 
    ÊôÐÔÃû³ÆºÍÀà±ð£º´ó¶àÊýµÄÖ¸ÄÏÒ³»áÁгöÃû³Æ£¬Í¨³£Ò²»áÓÐÀà±ð£¬xclock 
µÄÖ¸ÄÏÒ³±ãÊǷdz£Çå³þµÄ·¶Àý¡£ 
 
    ÎÞÂÛÈçºÎ£¬ÀûÓÃToolkit Ð´µÄ³Ìʽͨ³£Ê¹Óñê×¼µÄwidget£¬ËüµÄÊôÐÔ²¢²» 
»áÔÚÖ¸ÄÏÒ³ÖÐÁгö£¬µ«Í¨³£ÓÉÒ»×éÈ«²¿»ò²¿·ÝµÄÊôÐÔ×é³É£¬ÒªÕÒµ½ÕâЩÊôÐÔ£¬ 
Äã±ØÐëÔÚToolkit ÎļþÖÐѰÕÒ£º 
 
     £® "X Toolkit Intrinsics" ÊÖ²áÖеĸ½Â¼E ÁгöËùÓбê×¼µÄ"resource" 
        £¨Ò²¾ÍÊÇÊôÐÔ£©Ãû³ÆºÍÀà±ð¡£³ÉÔ±Ãû³ÆÏîÄ¿¿´ÆðÀ´ÀàËÆ£º 
 
          #define XtNborderWidth "borderWidth" 
 
        ËùÓеÄÃû³Æ¾ùÒÔXtN ¿ªÍ·£¬¸úËæÆäááµÄÃû³ÆÔòÒÔСд×Öĸ¿ªÍ·£¬¶øÀà 
        ±ðµÄÃû³ÆÔòÒÔXtC ¿ªÍ·£¬Àà±ðµÄÏîÄ¿¿´ÆðÀ´Ïñ£º 
 
          #define XtCBorderWidth "BorderWidth" 
 
        ÔÚË«ÒýºÅÖеıãÊÇÃû³Æ£¬Ò²¾ÍÊÇ˵£¬borderWidth ÊdzÉÔ±Ãû³Æ£¬ 
        BorderWidth ÊÇÀà±ðÃû³Æ¡£ 
 
     £® ²é¿´"X Toolkit Athena Widgets"ÊÖ²áµÄ2.3 ½Ú("Common Arguments 
        in the Widget Argument list")£¬¿É¿´µ½±»ËùÓÐwidgetʹÓõ½µÄ 
        resourceÃûµ¥£¬°üÀ¨Ãû³Æ¡¢ÐÍ̬¡¢Ô¤ÉèÖµºÍÒ»¶ÎÎÄ×ÖÐðÊö¡£Ãû³ÆµÄ 
        ¶¨·¨ÈçÉÏËùÊö£¬Ò²¾ÍÊÇÒÔXtN ¿ªÍ·£¬XtN Ö®ááÔòΪÊôÐÔÃû³Æ¡£ 
 
     £® ²é¿´"X Toolkit Athena Widgets"ÊÖ²áÖжÔwidgetµÄÃèÊö£¬Ã¿Ò»¸ö»á 
        ÁгöËüËùʹÓõÄ"resource"£¬ºÍÉÏÊöÏàͬ¡£ 
 
     £® Èç¹ûÒÔÉϾùÐв»Í¨Ê±£¬Äã¿ÉÒԲ鿴 widget µÄԭʼ³Ìʽ (source code), 
        resources ¿ÉÓõ½µÄ²¿·ÝÁÐÔÚ XtResource ×ÊÁϽṹÖС£ÀýÈ磬Athena 
        Scrollbar WidgetµÄ³ÌʽÄÚ°üº¬£º 
 
          static XtResource resource[]= 
          {XtNwidth, XtCWidth,...}, 
          {XtNheight, XtCHeight,...}. 
 
    ¸½Â¼£ÁÖС±ÎļþÖ¸Òý¡±ÖÐ»á¸æËßÄãÈçºÎÕÒµ½ÀàËÆÏñÕâ¸öÏîÄ¿µÄԭʼ³Ìʽ¡£ 
 
    ×¢Ò⣺Resource Manager¶ÔÉ趨µÄ¹æ¸ñ(spec)²¢ÎÞÏÞÖÆ£¬¾ùÄܽÓÊÜ£¬¶Ôì¶Êô 
          ÐÔ¡¢ÔªËØÃû³Æ»òÀà±ð²¢ÎÞÊÂÏȶ¨ÒåµÄÇåµ¥¡£ÄãËù¸ø¶¨µÄ¹æ¸ñ¿ÉÄܺÁ 
          ÎÞÒâÒ壬µ«ÎãÐè½éÒ⣬Ëü½«´æÔÚ×ÊÁÏ¿âÖУ¬ËùÒÔÊÂʵÉÏÒ»¸öresource 
          ¹æ¸ñ±»½ÓÊܲ¢²»ÒâζÄãÒѾ­µÃµ½ÕýÈ·µÄ¹æ¸ñºÍÕýÈ·µÄÊôÐÔ»òÎï¼þ»òÓ¦ 
          ÓóÌʽ£»ÎÞÂÛÈçºÎ£¬ËüµÄÒ»¸öÖØÒªµÄÓÃ;ΪÔÚÊôÐÔδ±»É趨ǰÄã¿ÉÏÈ 
          É趨ÆäÔ¤ÉèÖµ¡£ 
 
 
15.3.3  Resource¹æ¸ñÖ®·Ö¸ôºÅ¸Å¹Û 
 
    Äã¿ÉÒÔÓÃÐǺŠ(*)»òµãºÅ (.)À´·Ö¸ôresource¹æ¸ñµÄÔªËØ£¬ÐǺűȽÏͨÓà
һЩ£¬ËüÈÃÄãÖ¸¶¨ÄÇЩ·ûºÏ·¶Î§µÄ°¸ÀýµÄÌØáç¡£ÎÒÃÇ¿´µ½ 
 
          xclock*foreground:pink 
 
ÓÃÀ´Ö¸¶¨xclockÖÐÈκζ«Î÷¾ùʹÓÃforegroundÊôÐÔ£¬ËùÒÔÔÚ´Ë·¶ÀýÖпÉÒÔ¿´³ö 
£»ÐǺžßÓÐͨÓÃ×ÖÔªµÄЧ¹û£¬ÉõÖÁ¿ÉÒÔÔÙÒ»°ã»¯Ò»µã£º 
 
          *Foreground:yellow 
 
Ëü½«ÊʺÏÈκÎÓ¦ÓóÌʽ£¬¶ø¾äµãÖ»ÊÇ·Ö¸ô×é¼þ£¬Ëü±íʾÿ¸ö×é¼þ¶¼±ØÐëÒ»Ò»¶Ô 
Ó¦£¬ËùÒÔ¹æ¸ñ£º 
 
          xman.Manual Browser.Help.background:black 
 
²¢²»»áÊÊÓÃì¶ÃüÁî°´Å¥£¬»òº¬ÓÐxmanµÄÊÓ´°µÄ²»Í¬widget¡£ÔÚÎÒÃǶÔÕâÁ½ÖÖ·Ö 
¸ôºÅ×÷¸ü¾«È·ÃèÊöǰ£¬ÎÒÃÇÐèÒª¸üÏêϸµÄ¿´Ò»ÏÂResource ManegerµÄ²Ù×÷¡£ 
 
 
Resource ManagerÈçºÎÔË×÷ 
 
    ÉÔÔ磬ÎÒÃÇÔøËµ¹ýÒ»¸öÓ¦ÓóÌʽ»á²éѯresourceÔ¤Éè¹æ¸ñµÄ×ÊÁϿ⿴ÊÇ·ñ 
·ûºÏ£¬ÏÖÔÚÎÒÃÇÃèÊö²éѯÈçºÎÕÆÎÕÕâЩ¹æ¸ñ¡£ 
 
    Resource±»Ó¦ÓóÌʽÖеĸö±ðÎï¼þ£¨Í¨³£ÊÇwidget£©ËùʹÓ㬶øÎï¼þÔò±» 
ÔÚÓ¦ÓóÌʽÉ϶Ëhierarchicallyixwidget + hierarchy°²ÅÅ£¬È»áá¿ÉÄÜÓÉÒ»¸ö 
widget¹ÜÀíÆäËüµÄwidgetÅäÖã¬ÀýÈç±¾ÎÄÊÓ´°¡¢ÃüÁîÑ¡µ¥µÈµÈ¡£ÀýÈçÓ¦ÓóÌʽ 
xeditixwidget ÔÚ+ xprognxxeditÖеĽײã½á¹¹Èçͼ15-1£¨Ã¿Ò»ÐÐÎï¼þÃû³ÆÖ® 
ááÀ¨»¡ÄÚΪÀà±ðÃû³Æ£©¡£ 
 
        ©°¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©´ 
        ©¦      p181  fig 15.1                    ©¦ 
        ©¦                                        ©¦ 
        ©¦    Í¼15-1 xeditÖÐÎï¼þ(widget)µÄ½×²ã    ©¦ 
        ©¸¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª©¼ 
 
 
    ¶Ôÿһ¸öÎï¼þ£¬Ó¦ÓóÌʽÓû²éѯResource×ÊÁÏ¿âʱ£¬Ëü±ØÐë´«µÝÎï¼þµÄ³É 
ԱȫÃûºÍÀà±ðÈ«Ãû¸øResource Manager£¬ºÍÎï¼þËùÓõÄһȺÊôÐÔ£¬ºÍÀà±ðÃû³Æ 
µÄһȺÊôÐÔ£¬ÀýÈç¶ÔSAVE°´Å¥£¬Ó¦ÓóÌʽָ¶¨£º 
 
          full instance name    xedit.vpaned.row1.Save 
          full class name       Xedit.VPaned.Box.Command 
          attribute instance-names borderWidth,cursor,font,label,... 
          attribute class-names    BorderWidth,Cursor,Font,Label,... 
 
    ¶øááResource Manager¼ì²éÿһ¸öÔÚ×ÊÁÏ¿âÖеĹæ¸ñ£¬¿´ËüÊÇ·ñºÍÓ¦Óó̠
ʽËù´«À´µÄÊôÐÔºÍÎï¼þÃû³ÆÏà·û¡£Èç¹ûÏà·û·¢Éú£¬ÔÚ×ÊÁÏ¿âÖйæ¸ñÖµµÄ²¿·Ý»á 
´«»ØÓ¦ÓóÌʽ¡£ 
 
    ÔÚÕâÖÖÏà·ûµÄ²Ù×÷ÖУ¬ÐǺź;äºÅµÄÇø±ð·Ç³£ÖØÒª¡£¼òµ¥À´Ëµ£¬ÎÒÃÇ¿ÉÒÔ 
Ïëµ½Resource ManagerÖ»ÊÇÒÔµ¥×ÖΪ»ù×¼À´¶ÔÓ¦ÎÄ×Ö´®£¬¾äºÅÕýÊÇÿһ¸öµ¥×Ö 
µÄÇø¸ôºÅ£¬ÐǺÅÒ²ÊÇ·Ö¸ôºÅ£¬µ«²»Í¬µÄÊÇËü¿ÉÒÔͨÓÃ×ÖÔªµÄ·½Ê½´ú±í´ÓÁãµ½ÈΠ
ÒâÊýÄ¿µÄµ¥×Ö£¬¶Ôì¶¶ÔӦΨһµÄÏÞÖÆÊÇÔÚ×ÊÁÏ¿âÖйæ¸ñµÄÊôÐÔ±ØÐè¶ÔÓ¦²éѯӦ 
ÓóÌʽËù´«À´µÄÊôÐÔ£¬Äã²»¿É¶ÔÊôÐÔÓÃͨÓÃ×ÖÔª¡£ 
 
    ÏÖÔÚÄã¿ÉÒÔ¿´µ½²»Í¬µÄ¹æ¸ñÈçºÎ¹¤×÷£º 
 
          *foreground:yellow 
 
¿ÉÒÔÓ¦ÓÃì¶ÈκÎÓ¦ÓóÌʽÖеÄÈκÎÎï¼þ¡£ÒòΪÐǺŶÔÓ¦µ½ËùÓеÄÓ¦ÓóÌʽºÍËù 
ÓеÄÏÞ¶¨ºÍÎï¼þÃû³Æ¡£ 
 
          *Command.Foreground:violet 
 
Ó¦ÓÃì¶ÈκÎÓ¦ÓóÌʽÖÐÈκÎCommand ÐÍ̬ÖÐForegroundÀà±ðµÄÈκÎÊôÐÔº 

BBSˮľÇ廪վ¡Ã¾«»ªÇø