ºìÁªLinuxÃÅ»§
Linux°ïÖú

X Window ϵͳʹÓÃÖ¸ÄÏ--19

·¢²¼Ê±¼ä:2006-07-30 10:15:19À´Ô´:ºìÁª×÷Õß:bear10214
µÚ£±£¹Õ ½øÒ»²½½éÉÜ uwm ºÍÈçºÎ¶¨ÖÆËü
ÔÚµÚ£¶Õ£¬Äãѧµ½ÈçºÎʹÓÃuwm À´Íê³É»ù´¡µÄÊÓ´°½¨¹¹¹¤×÷ÐèÇ󣬶øÄÜÒÔÒ»¸ö
Êæ·þµÄ·½Ê½Ê¹ÓÃÊÓ´°¡£ÏÖÔÚÎÒÃǼÌÐø̸ÊÓ´°£¬¼¯ÖÐì¶Á½¸öÖ÷ÒªµÄ¡õΧ£º
1.´Ë³ÌʽËùÌṩµÄһЩÌرðµÄÌØÉ«£¬ÌرðÊÇ£º
£®²»Ê¹ÓÃÑ¡µ¥£¬Ö±½ÓʹÓû¬Ê󽨹¹ÊÓ´°¡£
£®ÎÒÃÇÉÐδÃèÊö¹ýµÄһЩѡµ¥Ñ¡Ôñ¡£
£®±à¼­ÏÖ´æ±íáçͼµÄ±êÌâ¡£
2.ÈçºÎ¶¨ÖÆuwm £¬°üº¬£º
£®¶ÔÈκÎÄãËùÐèµÄÃüÁÒåÄã×Ô¼ºµÄÑ¡µ¥¡£
£®½«¸÷ÖÖ²»Í¬µÄÊÓ´°¹ÜÀíÆ÷¹¦ÄÜϵ½áµ½»¬Êó°´Å¥ºÍÐÞÊμü (SHIFT£¬
CONTROL µÈµÈ)¡£
19.1 uwm µÄÐÂÌØÉ«
ÏÖÔÚÎÒÃÇÀ´ÌÖÂÛһЩÔÚÏÈÇ°½éÉÜÊÓ´°¹ÜÀíÆ÷ʱ£¬ÎªÁ˱£³Ö¾¡Á¿µØ¼òµ¥£¬¶øÊ¡ÂÔ
µÄ±ê×¼µÄuwm ¹¦ÄÜ¡£
19.1.1 ²»Ê¹ÓÃuwm µÄÑ¡µ¥À´¹ÜÀíÊÓ´°
Ö±µ½Ä¿Ç°£¬ÄãÈÔÈ»ÒÀÀµÖøuwm µÄÑ¡µ¥À´½¨¹¹ÄãµÄÊÓ´° -- Òƶ¯ËüÃÇ¡¢¶ÔËüÃÇÖØ
¶¨´óСµÈµÈ¡£Èç¹ûËùÓеÄÇé¿ö¶¼Ê¹ÓÃÑ¡µ¥£¬ÊÇÏ൱ÂýµÄ£¬ËùÒÔuwm ÌṩÄã¿ÉÖ±
½ÓÍê³ÉËüÈκÎÃüÁîµÄÑ¡Ïî¡£
Äã¿ÉÒÔʹÓû¬Êó°´Å¥ºÍÐÞÊμü£¬À´Ö¸¶¨ÄãÒªÖ´ÐеŦÄÜ£¬ºÍËùÒª²Ù×÷µÄÊÓ
´°¡£ÄãÏÖÔÚÓ¦¸ÃÒѷdz£ÊìϤ¸÷ÖÖ²»Í¬µÄÊÓ´°¹ÜÀíÆ÷¹¦ÄܺÍËüÃÇÈçºÎ¹¤×÷£¬ËùÒÔ
ÎÒÃǽ«ºÜ¿ìµØ˵Ã÷ÈçºÎ²»Ê¹ÓÃÑ¡µ¥À´Ñ¡ÔñÕâЩ¹¦ÄÜ¡£
Move£ºÒƶ¯Ò»¸öÊÓ´°
1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.Ö¸±êλÖÃËùÔÚµÄÊÓ´°½«±»Òƶ¯¡£
3.ÓÃÓÒ°´Å¥£¬ÍÏקÊÓ´°µ½ÐµÄλÖá£
Resize£ºÖض¨Ò»¸öÊÓ´°µÄ´óС
1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.Ö¸±êλÖÃËùÔÚµÄÊÓ´°½«±»Öض¨´óС¡£
3.ÓÃÖа´Å¥£¬ÍÏקÊÓ´°µÄÍâ¿òµ½ÐµĴóС¡£
Lower£º½«Ò»¸öÊÓ´°Ë͵½¶ÑµþµÄµ×²¿
1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.½«Óû±»Ë͵½¶ÑµþµÄµ×²¿µÄÊÓ´°£¬Åö´¥Ò»ÏÂ×ó°´Å¥¡£
Raise£º½«Ò»¸öÊÓ´°Éýµ½¶ÑµþµÄ¶¥¶Ë¡£
1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.½«Óû±»Ë͵½¶ÑµþµÄ¶¥¶ËµÄÊÓ´°£¬Åö´¥Ò»ÏÂÓÒ°´Å¥¡£
Circulate up£º½«×îµ×²ã±»ÕڱεÄÊÓ´°Éýµ½×îÉϲ㣬ÄãÓÐÁ½ÖÖÑ¡Ôñ£º
1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.ÔÚ¸ùÊÓ´°ÉÏ£¬Åö´¥Ò»ÏÂÓÒ°´Å¥¡£
»ò
1.ͬʱ°´ÏÂMETAºÍSHIFT ¼ü£¬±£³Ö°´×¡¡£
2.ÔÚÓ©Ä»ÉϵÄÈκεط½£¬Åö´¥Ò»ÏÂÓÒ°´Å¥¡£
Circulate Down£º½«×îÉϲãµÄÊÓ´°ÒƵ½×îµ×²ã£¬×÷·¨Í¬Circulate Up£¬µ«
¸ÄΪ×ó°´Å¥¡£
Iconify£ºÖ®Ç°ÎÒÃÇÔøÌá¹ýÁ½ÖÖÐÎʽµÄ±íáçͼ»¯£¬Ò»ÖÖÊÇÊÓ´°Ôø¾­±íáçͼ
»¯¹ý(ÒѶ¨Òå¹ý±íáçͼµÄλÖÃ) £¬ÁíÒ»ÖÖΪ¶Ô "ÐÂ" µÄÊÓ´°±íáçͼ»¯
¡£
±íáçͼ»¯Ò»¸öеÄÊÓ´°£º
1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.½«Ö¸±êλÖÃÒÆÖÁÓû±»±íáçͼ»¯µÄÊÓ´°¡£
3.°´ÏÂLEFT°´Å¥£¬±£³Ö°´×¡...
4. ... ÍÏק±íáçͼµÄÍâ¿òµ½ÄãËùÐèµÄλÖá£
5.ËÉ¿ª°´Å¥ºÍMETA¼ü¡£
×¢ÒâËüºÍLower ²Ù×÷³ÌÐòµÄ²»Í¬µã£¬ÔÚ´ËÄãÊÇ°´ÏÂ... ÍÏק... ËÉ¿ª»¬
Êó°´Å¥£¬¶ø¶ÔLower £¬ÄãÖ»ÊÇÅö´¥Ò»Ï°´Å¥¡£
±íáçͼ»¯Ò»¸öÔø¾­±íáçͼ»¯¹ýµÄµÄÊÓ´°£º
1.ͬʱ°´ÏÂMETAºÍCTRL¼ü£¬±£³Ö°´×¡¡£
2.ÔÚÄãÓû±íáçͼ»¯µÄÊÓ´°ÉÏ£¬Åö´¥Ò»ÏÂ×ó°´Å¥¡£
(Èç¹ûÄã¶ÔÏÈÇ°²¢Î´±íáçͼ»¯µÄÊÓ´°×÷Õâ¸ö²Ù×÷£¬»ò¾­ÓÉresource½á¹¹
ÎÞ·¨È¡µÃ±íáçͼµÄλÖ㬱íáçͼ½«³öÏÖÔÚÖ¸±êËùÔÚµÄλÖÃ)¡£
De-Iconify£º½«±íáçͼ»¹Ô­ÎªËüµÄÊÓ´° (ÔÚÊÓ´°Ô­À´µÄλÖÃ)£º
1.°´ÏÂMETA¼ü£¬±£³Ö°´×¡¡£
2.ÔÚ±íáçͼÉÏ£¬Åö´¥Ò»ÏÂÖа´Å¥¡£
Èç¹ûÄã¾õµÃÕâЩ¶Ô»¬Êó°´Å¥¹¦ÄܵĽáºÏÊ®·Ö±¿×¾ÇÒ²»Ò×¼ÇÒ䣬±ðµ£ÐÄ£¬ºÜ
¶àÈ˶¼ÊÇÈç´Ë¡£ÓиüºÃµÄ·¨×Ó£¬¸Õ²ÅÄÇЩֻÊÇÔ¤ÉèµÄÉ趨£¬Äã¿ÉÒÔÍêÈ«ÓÉ×Ô¼º
À´½¨¹¹¡£ÔÚ±¾ÕµÄáá°ë²¿£¬ÎÒÃǽ«¸æËßÄãÈçºÎ×ö¡£ÏÖÔÚÎÒÃÇÏÈÀ´¿´Ò»¿´£¬ÔÚ±ê
׼ѡµ¥µÄһЩ¹¦ÄܺÍËüÃÇÄÜ×öЩʲ÷á¡£
19.1.2 һЩ¸ü¶àµÄÑ¡µ¥Ñ¡Ôñ
ÕâÊÇһЩÎÒÃÇÔÚµÚ£¶ÕÂÖÐûÓнâÊ͵ıê×¼µÄÑ¡µ¥Ñ¡Ôñ¡£
Focus£ºÈÃÄãÉ趨¼üÅ̵Ľ¹µã(focus)£¬Ò²¾ÍÊÇ˵£¬½«¼üÅ̸½Êôì¶Ò»¸öÊÓ´°
£¬ËùÒÔ²»ÂÛÓ©Ä»ÉϵÄÖ¸±êÔں䦣¬¼üÅ̵ÄÊäÈë×ÜÊÇÔÚͬһ¸öÊÓ´°¡£Ò»
°ã¼üÅ̵ÄÊäÈë×ÜÊÇÖ¸ÏòÄ¿Ç°Ö¸±êËùÔÚµÄÊÓ´°¡£
É趨½¹µãµ½Ò»¸öÌض¨µÄÊÓ´°£ºÑ¡Ôñfocus £¬³öÏÖÊÖÖ¸ÐÎÓα꣬ÔÚÄãËù
ÓûÖ¸¶¨µÄÊÓ´°Åö´¥Ò»Ï°´Å¥¡£
»Ö¸´Õý³££ºÑ¡Ôñfocus £¬ÔÚ±³¾°ÊÓ´°ÉÏÅö´¥Ò»Ï¡£
Restart£ºÍ£Ö¹uwm £¬ÖØÐÂÆô¶¯Ëü£¬ÖØжÁÈ뽨¹¹µµ (ϽÚ˵Ã÷) ÇÒÖ´ÐÐËü
¡£ÔÚÄã¸Ä±ä½¨¹¹µµÇÒÏ£ÍûÂíÉÏÖ´ÐÐеÄÉ趨ʱ (·ñÔò½«µÈµ½ÄãÖØÐÂÆô
¶¯Ò»¸öеÄÖÜÆÚ) ʹÓôËÑ¡Ôñ¡£
Freeze£ºÔÝÍ£Ó©Ä»ÉÏËùÓеÄÏÔʾ£¬µ±ÄãÒª¶ÔÄãµÄÓ©Ä»ÉãӰʱ¿ÉÒÔʹÓÃÕâ¸ö
Ñ¡Ôñ¡£ÓûÖØлָ´ÏÔʾ£¬Ê¹Óà ...
Unfreeze£ºÖØлָ´ÏÔʾ£¬ËùÓеÄÊÓ´°»áÁ¢¼´¸üС£
Exit£ºÖÐÖ¹uwm ¡£µ±ÄãҪɱµôuwm ʱʹÓã¬ÀýÈçÔÚÆô¶¯Ò»¸ö²»Í¬µÄÊÓ´°¹Ü
ÀíÆ÷֮ǰ¡£
Perferences Ñ¡µ¥
ÎÒÃÇÔÚµÚ£¶ÕÂÌá¹ý£¬ÓÐÁ½ÖÖ·½·¨½ÐÓÃuwm µÄWindowOpsÑ¡µ¥ -- ÔÚ±³¾°ÊÓ
´°ÉÏ°´ÏÂÖа´Å¥£¬»òÔÚ°´×¡METAºÍSHIFT Á½¸ö¼üµÄÇé¿öÏ£¬ÔÚÈκεط½Åö´¥Ò»
ÏÂÖа´Å¥¡£ÓõڶþÖÖ·½·¨ÈÃÄãºô½Ð³öµÚ¶þ¸öÑ¡µ¥£¬Ö»Òª½«Ö¸±êÒƵ½WindowOps
Ñ¡µ¥µÄÍâ±ß£¬±êͷΪPreferences µÄÊÓ´°¾Í»á³öÏÖ¡£
ÔÚPreferenceÖеÄÑ¡Ôñ£¬Ö»ÊÇһЩxset³ÌʽÖÐÉ趨»¬ÊóºÍ¼üÅ̵ÄÑ¡Ïî¶øÒÑ¡£
×¢Ò⣺Lock On ºÍ Lock OffÑ¡ÔñÊǺͼǼÓйصģ¬¿ÉÄܻᵼÖÂÒ»¸ö´íÎó
µÄѶϢÔÚÄãµÄÖ÷¿Ø̨ÊÓ´°Ó¡³ö¡£
19.1.3 ¸Ä±äÏÖ´æ±íáçͼÉϵıêÌâ
uwm µÄÔ¤Éè±íáçͼ -- »ÒÉ«µÄºÐÖÐÓÐÒ»¸öÃû³Æ -- Èç¹ûÄã¶Ôͬһ¸öÓ¦ÓóÌʽִ
ÐÐÊý´Î¿½±´áá»áÓÐȱµã£¬ÀýÈçÓÐÈý¸öxterm µÄ±íáçͼ£¬ÄãÎÞ·¨Ã÷È·µÄÇø·ÖËüÃÇ
¡£ÎªÁË¿Ë·þÕâµã£¬uwm ÔÊÐíÄã¿ÉÒԱ༭±íáçͼÖеÄ×Ö´®ÎªÄãËùÐèµÄÈκÎ×Ö´®¡£
(ÕâÖ»ÄÜÔÚuwm ×Ô¼ºÔ¤ÉèµÄ±íáçͼʹÓã¬ÀýÈçÄãÎÞ·¨±à¼­ÔÚxclockµÄÌض¨±íáç
ͼÖеÄ×Ö´®)¡£
Óû±à¼­ÔÚÒ»¸ö±íáçͼÖеÄÃû³Æ£º
1.½«Ö¸±êÒÆÖÁËùÓû±à¼­µÄ±íáçͼ¡£
2.¼üÈëÄãËùÏ£ÍûµÄÈκÎÎÄ×Ö¡£
3.Äã¿ÉÒÔÈ¥µôÎÄ×Ö£¬²»ÂÛÊÇÏÈÇ°´æÔÚ»ò·½²Å²ÅÊäÈëµÄ£¬·½·¨ÈçÏ£º
È¥µôÇ°Ò»¸ö×ÖÔª£º°´DELETE¡£
È¥µôÕû¸öÃû³Æ£º°´ctl-U¡£
19.2 ¶¨ÖÆuwm
uwm ¾ßÓи߶ȵĿɽ¨¹¹ÐÔ¡£Äã¿ÉÒÔ½«Õû¸ö¡õΧµÄ²ÎÊýºÍ¶¨Òå´¢´æÔÚÒ»¸ö½¨¹¹µµ
ÖУ¬µ±uwm Æôʼʱ»á½«Ö®¶ÁÈë¡£ÎÒÃÇÇ°½ÚÔø¾­Ìá¹ý£¬Äã¿ÉÒÔÔÚÖÐ;¸Ä±ä½¨¹¹µµ
£¬½åÖøÔÚWindowOpsÑ¡µ¥ÖÐRestartÑ¡Ï¸æËßuwm ÖØжÁÈëËü¡£
uwm µÄ½¨¹¹µµ
Ô¤Éèuwm ÓÐÁ½¸ö½¨¹¹µµ£¬ÆäÖÐ֮һΪ
/usr/lib/X11/uwm/system.uwmrc
ͨ³£ÓÉϵͳ¹ÜÀíÕßÉ趨£¬ÇÒµÚÒ»¸ö±»¶ÁÈë¡£ÁíÒ»¸ö
$HOME/.uwmrc
ÊÇÄã×Ô¼ºµÄ½¨¹¹µµ¡£Á½¸öµµ°¸¾ùÐèÒª´æÔÚ£¬uwm Ó²ÐԹ涨ÁËÔ¤ÉèÉ趨¡£
×¢Ò⣺Èç¹ûÄãÓò»ÕýÈ·µÄÓï·¨É趨һ¸ö½¨¹¹µµ£¬µ±uwm ¶ÁÈëʱ£¬Äã»áµÃµ½
Ò»¸ö´íÎóѶϢÏñ£º
uwm: /usr/nmm/.uwmrc: 38: syntax error
uwm: Bad .uwmrc file...aborting
uwm ½«²»»áÆô¶¯¡£µ±ÔÚÒ»¸öеÄÖÜÆÚÆô¶¯Ê±£¬ÕâûÓÐʲ÷á´óÎÊÌ⡣Ȼ¶ø£¬Èç¹û
ÄãÊÇÔÚÖÐ;ÖØÐÂÉ趨uwm £¬Äã¿ÉÒÔ½áÊøµ«Ã»ÓÐÊÓ´°¹ÜÀíÆ÷£¬ÇÒûÓÐxterm £¬Ã»
Óб༭ÊÓ´°À´±à¼­Õâ¸ö´íÎóµÄµµ°¸£¬ÎÞ·¨ÆôʼÆäËüµÄÊÓ´°¡£Èç¹û´ËÖÖÇé¿ö·¢Éú
£¬Äã±ØÐè´ÓÆäËüµÄÖն˻ú»ò»úÆ÷¹Ø±Õ£Ø£¬»ò»Ù»µ (crash)ÄãµÄϵͳ¡£
uwm µÄÃüÁîÁÐÑ¡Ïî
Èç¹ûÄã²»ÐèҪϵͳ½¨¹¹µµ°¸£¬Ò²²»ÐèÒªÈκÎÔ¤ÉèµÄÉ趨£¬Äã¿ÉÒÔ½åÖøuwm µÄÃü
ÁîÁÐÑ¡Ïî -b ÒÖÖÆËüÃÇ¡£
Èç¹ûÄãҪʹÓÃÆäËüµÄµµ°¸£¬¾ÍÏñÁ½¸öÔ¤ÉèµÄ½¨¹¹µµÒ»°ã£¬Äã¿ÉÒÔÓÃ
-f filename À´Ö¸¶¨Ëü¡£
19.2.1 ϵ½á¹¦Äܵ½¼üºÍ°´Å¥
uwm ÈÃÄ㶨Òåµ±Ò»¸öÌض¨µÄ»¬Êó°´Å¥°´ÏÂʱ£¬ÓÐij¸ö¹¦ÄÜ»á×÷Óã¬ÀýÈçµ±ÄãÔÚ
Ò»¸öÊÓ´°ÖÐÅö´¥Ò»ÏÂÖа´Å¥£¬Ëü½«±»Éýµ½¶ÑµþµÄ¶¥²ã¡£ÕâÖÖϵ½á½á¹¹ºÍToolkit
תÒ벢ûÓÐÇ£Á¬£¬ËüÍêÈ«ÓÉuwm ±¾ÉíÀ´Íê³É¡£
ΪÁËÈÃÕâЩ½á¹¹¸üÓÐÓã¬Äã¿ÉÒÔÖ¸¶¨ÆäËüµÄÌõ¼þÀ´ÔËÓøü¶àµÄ¹¦ÄÜ£¬»òÐíÒ»¸ö
ÐÞÊμü (ÏñMETA) Ðè±»°´Ï£¬»òÐí×÷ÓÃÖ»·¢ÉúÔÚÖ¸±êλì¶Ò»¸ö±íáçͼÉ϶ø·ÇÓ¦
ÓóÌʽÊÓ´°»ò±³¾°ÊÓ´°¡£ÎÒÃÇÒÑʵ¼ÊµÄ¿´¹ýÕâЩÀý×Ó£º
´Ë¹¦ÄÜ·¢Éú ... Ö»ÓÐÔÚÕâЩ ... Ö»ÓÐÖ¸±êÔÚ ... µ±Õâ¸ö
ì¶... ÐÞÊμü±»°´Ï£¬ ´ËÖÖÐÍ̬µÄÊÓ´° »¬Êóʼþ·¢
¶øÇÒ... £¬¶øÇÒ... Éúʱ
Resize META Ò»°ãÊÓ´° °´×¡Öа´Å¥
ÇÒÒƶ¯
WindowOps ûÓÐ ±³¾°ÊÓ´° °´×¡Öа´Å¥
Ñ¡µ¥
WindowOps META ºÍ ûÓйØϵ °´×¡Öа´Å¥
Ñ¡µ¥ SHIFT
Äã½åÖøÄãµÄ .uwmrc(»òÆäËüµÄ½¨¹¹µµ)Ëù°üº¬µÄϵ½á¹æ¸ñÀ´Ö¸¶¨Ïµ½á¡£¹æ¸ñ
µÄ¸ñʽºÍÉÏÃæµÄ±í¸ñÀàËÆ£¬¾ÍÏñ£º
uwm-function = modifiers : window context : mouse events
( uwm ¹¦ÄÜ = ÐÞÊμü : ÊÓ´°µÄ»·¾³ : »¬Êóʼþ )
ÕâЩԪËØΪ£º
uwm ¹¦ÄÜ£ºuwm µÄÄÚ½¨¹¦ÄÜÖ®Ò»µÄÃû³Æ¡£ÀýÈ繦ÄÜf.move¼´ÊÇÄãÓÃÒÔÒƶ¯ÊÓ
´°µÄ¹¦ÄÜ£¬f.lower ½«ÊÓ´°½µµÍÒ»²ãµÈµÈ¡£ÕâЩ¹¦Äܽ«ì¶Ï¸üÍêÕûµØÃè
Êö¡£
¹¦ÄÜÃû³Æ±ØÐè¸úËæÖøÒ»¸öµÈºÅ(=)¡£
ÐÞÊμü£ºÔÚÔËÓÃÉÏÊö¹¦ÄÜʱ£¬µ±Ö¸¶¨µÄ»¬Êóʼþ·¢Éúʱ£¬±ØÐè±»°´ÏµÄÐÞÊμü
±íÁС£ÕýÈ·µÄÐÞÊμüÃû³ÆΪ£º
ctrl(»òc)£¬¶ÔCONTROL¼ü¡£
meta(»òm»òmod1)£¬¶ÔMETA¼ü¡£
shift(»òs)£¬¶ÔSHIFT¼ü¡£
lock(»òl)£¬¶ÔCAPSLOCK¼ü¡£
ÕâЩÃû³Æ±ØÐèÕýÈ·µÄÁгö¡£Äã¿ÉÒÔʹÓÃÒ»»ò¶þ¸öÐÞÊμü£¬Èç¹ûÄãʹÓÃÁ½¸ö
¼ü£¬ÓÃÒ»¸ö "|"·ûºÅÀ´·Ö¿ªËüÃÇ¡£
Äã¿ÉÒÔÊ¡ÂÔÕû¸öÐÞÊμü±íÁÐ (¼´´Ë¹¦ÄܶÔӦ춻¬Êóʼþ·¢Éúʱ²¢Ã»ÓÐÐÞÊÎ
¼ü±»°´ÏÂ)£¬µ«Î²¶ËµÄðºÅ ":" ²»¿ÉÊ¡ÂÔ¡£
ÊÓ´°µÄ»·¾³£ºÏÞÖÆÖ»ÓÐÖ¸±êÔÚÓ©Ä»ÉÏÖ¸¶¨Î»ÖõÄÐÍ̬·ûºÏÌض¨Ìõ¼þʱ£¬¹¦ÄÜ
²Å»á·¢Éú¡£ÕýÈ·µÄ»·¾³ÈçÏ£º
window(»òw)£ºÖ¸±ê±ØÐèλì¶Ò»¸öÓ¦ÓÃÊÓ´°ÖС£
icon(»òi)£ºÖ¸±ê±ØÐèλì¶Ò»¸ö±íáçͼÖС£
root(»òr)£ºÖ¸±ê±ØÐèλ춸ùÊÓ´°»ò±³¾°ÊÓ´°ÖС£
Äã¿ÉÒÔÖ¸¶¨ÈκÎÊýÄ¿µÄ»·¾³£¬Óà "|" À´Çø¸ôËüÃÇ¡£Èç¹ûÄãûÓÐÖ¸¶¨£¬Ôò¹¦ÄÜ
µÄ·¢ÉúÓëÖ¸±êλÖÃÎ޹ء£
»¬Êóʼþ£ººÎÖÖ»¬Êóʼþ¶ÔÓ¦µ½´Ë¹¦ÄÜ¡£Ö¸¶¨µÄʼþΪһ¸ö°´Å¥Ãû³Æ -- ÈκεÄ
left(»òl)
middle(»òm)
right(»òr)
¸úËæÖøÒ»¸ö¶¯×÷£º
down : µ±°´Å¥±»°´ÏÂʱ»á·ûºÏ¡£
up : µ±°´Å¥±»ËÉ¿ªÊ±»á·ûºÏ¡£
delta : µ±°´Å¥±»°´ÏÂÇÒÒƶ¯³¬¹ýÒ»¶¨ÊýÄ¿µÄÏñËØʱ»á·ûºÏ¡£
ËùÓеÄÕâЩÄãÒÑʵ¼ÊʹÓùýËüÃÇ£¬ÔÚ±¾Õ¿ªÍ·ËùÃèÊöµÄһЩ×÷ÓõÄϵ½áΪ£º
f.resize = meta : window : middle delta
f.iconify = meta : icon : middle up
f.raise = meta : window|icon : right down
uwm µÄÔ¤Éèϵ½áÔÚµµ°¸ $TOP/clients/uwm/default.uwmrc£¬¼ûͼ19 - 1¡£
©°----------------------------------------©´
©¦ p242-243 fig 19.1 ©¦
©¦ ©¦
©¦ ͼ19-1 Ô¤ÉèµÄ .uwmrc ½¨¹¹µµ ©¦
©¸----------------------------------------©¼
uwm µÄÄÚ½¨¹¦ÄÜ
uwm µÄÖ¸ÄÏÒ³Áгö¿ÉÓ¦ÓõŦÄÜ¡£ÄãÒѾ­´Óͼ19 - 1¼û¹ýÆäÖд󲿷ݣ¬Äã¿ÉÒÔ
¿´³ö£¬¹¦ÄÜÊǺÍWindowOps¼°PreferencesÖеÄÑ¡ÏîÏà¹Ø¡£
È»¶ø£¬ÓÐÒ»¸öÓйØpushingÊÓ´°(f.pushleft, f.pushupµÈµÈ)µÄ¹¦Äܼ¯ºÏÄã
´Óδ¼û¹ý¡£pushingµÄÒâ˼Ϊ£ºÄ㳯һ¸öÌض¨µÄ·½ÏòÒƶ¯Ò»¸öÊÓ´°£¬Òƶ¯µÄ¾àÀë
¹Ì¶¨¡£ÕâºÍf.move²»Í¬µÄÊÇ£¬ááÕßÒÔ½»Ì¸µÄ·½Ê½£¬Ö¸¶¨ÊÓ´°Òƶ¯µÄ·½ÏòºÍ¾àÀë¡£
Ô¤Éèf.pushdownϵ½áµ½Í¬Ê±°´ÏÂCONTROLºÍMETA¼ü£¬ÇÒ°´×¡Öа´Å¥¡£ÊÔËü¼¸
´Î£¬Ä㽫·¢ÏÖÄãµÄÊÓ´°ÉÔ΢Òƶ¯ÁËÒ»µã -- push ¹¦ÄܶÔϸ²¿Òƶ¯ÊÓ´°·Ç³£ÓÐÓá£
ÁíÒ»¸ö¹¦ÄÜΪf.moveopaque¡£ËüÒ²Òƶ¯Ò»¸öÊÓ´°£¬µ«²»Ïñf.move£¬Ëü²¢²»»á
¸øÄãÒ»¸öָʾÊÓ´°ÐµÄλÖõķ½¸ñ£¬ÄãÖ±½ÓÍÏקÕû¸öÊÓ´°±¾Éí¡£Õâ¿ÉÒÔÈÃÕû¸öÓ©
Ä»ÇåˬЩ£¬µ«±È½ÏÂý£¬ÇÒÒ»°ãÊÓ´°Òƶ¯Ê±»áÓ涶¯µÄÏÖÏñ¡£
19.2.2 ¶¨ÒåÄã×Ô¼ºµÄÑ¡µ¥
Óõ½uwm ±¾ÉíµÄ¹¦ÄÜ£¬»òÈκεÄshell ÃüÁ»òÒ»¸öÌض¨µÄ¶¯×÷£¬ÏñÊÇÔÚÒ»¸ö
¼ô»º³åÇø²åÈë±¾ÎÄ¡£
ÔÚÄãµÄ½¨¹¹µµÖж¨ÒåÒ»¸öÑ¡µ¥¹²ÓÐÁ½¸ö²½Öè¡£Ê×ÏÈÄ㶨ÒåÑ¡µ¥ÉÏËùÐèµÄ
ϵ½á£¬Æä´ÎÄ㶨ÒåÑ¡µ¥±¾ÉíµÄÄÚÈÝ¡£Ïµ½áµÄ²¿·ÝÏñÎÒÃÇÏÈÇ°ËùÓùýµÄ£¬µ«ÔÚβ
¶ËÔö¼ÓÁËÒ»À¸Ñ¡µ¥Ãû³Æ¡£ÀýÈçWindowOps Ñ¡µ¥ (½åÖøÔÚ±³¾°ÊÓ´°Öа´ÏÂÖа´Å¥
À´ºô½Ð)µÄϵ½áÊÇ£º
ÔÚ´Ë£¬Ñ¡µ¥Ãû³Æ¼ÈÊÇÓÃÒÔÏÔʾѡµ¥³öÏÖʱµÄÃû³Æ£¬Ò²Á¬½áµ½½¨¹¹µµÖеÄÑ¡µ¥ÄÚ
Èݹæ¸ñ¡£
Ñ¡µ¥ÄÚÈݵĸñʽºÜ¼òµ¥£º¶Ôÿһ¸öÑ¡ÔñÏ°üº¬ÁËÒ»Áе±Ñ¡ÔñÏî³öÏÖÔÚÑ¡
µ¥µÄ "Ãû³Æ" £¬ºÍµ±Ëü±»Ñ¡Ôñµ½Ê±Ëù×öµÄ¶¯×÷¡£ÈÃÎÒÃǹ۲ìÒ»¸öËõË®µÄWindowOps
¶¨Ò壺
menu = "WindowOps" {
New Window : !"xterm &"
RefreshScreen : f.refresh
Redraw : f.redraw
Move : f.move
}
´ÓÕâÀÎÒÃÇ¿ÉÒÔ¿´µ½ÆäÓ﷨Ϊ£º
menu = "menu name" {
...
selection lines
...
}
Ñ¡µ¥Ãû³ÆºÍϵ½áËùÖ¸¶¨µÄÏàͬ¡£Ñ¡ÔñÏîÁаüº¬ÁËÑ¡ÔñÏîÃû³Æ£¬·Ö¸ôµÄðºÅ£¬ºÍ
¸ºÔðµÄ¶¯×÷¡£ÕâЩ¶¯×÷ΪÏÂÁÐÈýÕßÖ®Ò»£º
1.Ò»¸öuwm µÄ¹¦ÄÜ£ºÖ»Óõ½ËüÃǵÄÃû³Æ£¬ÔÚÉÏÀýΪmoveÄÇÒ»ÁС£
2.Ò»¸öshell ÃüÁÃüÁî°üº¬ÔÚË«ÒýºÅÖмä (ÓÃshell µÄ& Ó﷨ʹÆäÔÚ±³
¾°ÊÓ´°ÖÐÖ´ÐÐ) ÇÒÔÚÇ°Ãæ¼ÓÒ»¸ö¾ªÌ¾ºÅ¡£ÔÚÉÏÀýΪxterm ÄÇÒ»ÁС£ (Èç
¹ûÄãÊ¡& £¬uwm ½«±»ÐüÖà (hang) ÆðÀ´£¬µÈ´ýÃüÁîµÄÍê³É£¬Èç¹û´Ë³Ìʽ
Ϊ£ØµÄÓ¦ÓóÌʽ£¬ËüÐèÒªuwm À´°²ÅÅËüµÄÊÓ´°£¬Õ⽫»áÕÐÖÂÂé·³)¡£
3.Ò»¸ö±¾ÎÄ×Ö´®£ºÕ⽫²åÈëµ½Ò»¸ö "¼ô" µÄ»º³åÇø£¬¶øááÄã¿ÉÒÔÏñƽ³£Ò»
ÑùµÄ "Ìù" Ëü¡£
¶àÖÖµÄÑ¡µ¥Á¬½áµ½Í¬Ò»¸ö¼üϵ½á
ͨ³£Äã¶ÔÒ»¸öÌض¨µÄ¼ü/°´Å¥µÄ×éºÏ£¬Ö»»áϵ½áµ½Ò»¸öÑ¡µ¥£¬µ«Äã¿ÉÒÔ¶Ôͬһ¸ö
ϵ½áÓжàÖÖÑ¡µ¥£ºÈç¹ûÄãÔÚÒ»¸öÑ¡µ¥Öв»Ñ¡ÔñÈκÎÏîÄ¿ÇÒ°ÑÖ¸±êÒƶ¯µ½Ñ¡µ¥µÄ
±ßÉÏ£¬Ä㽫µÃµ½ÏÂÒ»¸öÑ¡µ¥¡£ÄãÒѾ­Êµ¼ÊµØ¿´¹ýÕâÖÖÀý×Ó£ºÔÚͬʱ°´ÏÂMETAºÍ
SHIFT ¼üµÄÇé¿öÏ°´ÏÂÖа´Å¥£¬Äã¿ÉÒԵõ½WindowOps Ñ¡µ¥£¬È»ááÊÇPreferences
Ñ¡µ¥¡£
ϵ½á¶àÖÖÑ¡µ¥·Ç³£µÄÈÝÒ×£¬Ö»ÒªÔÚ¶¨Òåÿһ¸öϵ½áʱµ±×÷ÆäËüµÄϵ½á²¢²»
´æÔÚ£¬¶øÔÚ¶¨ÒåÑ¡µ¥µÄÄÚÈÝʱÓñê×¼µÄ·½Ê½¼´¿É¡£ÀýÈçuwm µÄÔ¤ÉèÉ趨°üº¬ÁË
ϵ½á£º
×¢ÒâÒ»¸öÑ¡µ¥Ö»Äܶ¨ÒåÒ»´Î£¬µ«Äã¿ÉÒÔÓÃËüÀ´×öÈÎÒâ¶à´ÎµÄϵ½á¡£ (²é¿´Ô¤Éè
É趨£¬Ä㽫¿´µ½WindowOps Ñ¡µ¥±»¶¨ÒåÁËÒ»´Îµ«Ê¹Óõ½Á½´Î)¡£
Ö¸¶¨Ñ¡µ¥µÄÑÕÉ«
Äã¿ÉÒÔÖ¸¶¨ÔÚÒ»¸öÑ¡µ¥ÖÐËùÓõÄÉ«²Ê¡£¶ÔÑ¡µ¥Ãû³Æ±êÌ⡢ÿһ¸öÑ¡ÔñÏî¡¢Ö¸±ê
ËùÔڵĸßÁÁ¶ÈÑ¡ÔñÏÄ㶼¿ÉÒÔÖ¸¶¨Ò»¸öÇ°¾°ºÍ±³¾°É«²Ê¡£Ò»¸öÓÐÉ«²ÊµÄÑ¡µ¥
µÄ¸ñʽÈçÏ£º
menu = "menu name" (head-fg : head-bg : hilite-bg : hilite-fg) {
...
selection-name : (item-fg : item-bg) : action
...
}
ÒÔÏÂΪһ¸ö»ìºÏµÄ¡õÀý£¬Ê¹ÄãµÄWindowOps ÄÜÓµÓиü¶àµÄÉ«²Ê£º
menu = "WindowOps" (yellow : blue : red : green) {
New Window : !"xterm &"
RefreshScreen : f.refresh
Redraw : (navy : magenta) : f.redraw
Move : f.move
}
´ËÑ¡µ¥±êÌâΪÀ¶µ×»Æ×Ö£¬´ó¶àÊýµÄÑ¡ÔñÏîΪ°×µ×ºÚ×Ö (Ô¤ÉèÖµ)£¬Ö»ÓÐ "Move"
Ñ¡ÔñÏîΪ×ϺìÉ«µ×º£À¶É«×Ö£¬¶øÄ¿Ç°Ö¸±êËùÔÚµÄÑ¡ÔñÏîΪÂ̵׺ì×Ö¡£
19.2.3 ¿ØÖÆuwm µÄ²ÎÊý±äÊý
µ½Ä¿Ç°ÎªÖ¹£¬Äã¿ÉÒÔÓÃÖ¸¶¨»¬ÊóºÍ¼üµÄÇ°áá¹Øϵ£¬À´¸Ä±äËùÖ¸¶¨µÄ¹¦ÄÜ¡£ÔÚ´Ë
ÓÐÒ»¸öÁíÒ»ÖÖÐÍ̬µÄuwm µÄ¶¨ÖÆ£ºÄã¿ÉÒÔ½å´Ë¸Ä±äÐí¶àÄÚ½¨¹¦ÄܲÙ×÷µÄ×÷·¨ (
mode) ºÍ·ç¸ñ (style)£¬ÀýÈçÄã¿ÉÒÔÖ¸¶¨ÔÚresize»òmove²Ù×÷Ï£¬Ö¸Ê¾ÊÓ´°ÐÂ
µÄλÖõľŹ¬¸ñ£¬¸Ä±äΪֻÊÇÒ»¸öÍâ¿ò¶øÒÑ¡£ÔÚÖ¸ÄÏÒ³ÖÐÓÐÁгöËùÓеıäÊýºÍ
ËüµÄÒâÒ壬ÔÚ´ËÎÒÃÇÖ»ÌáһЩÌرðÓÐÓõģ¬ºÍ½âÊÍһЩ±È½ÏÄ£ºýµÄ¡£
ÈÃÔ¤É轨¹¹µµÖеÄÉ趨ÎÞЧ£ºuwm ²¢Ã»ÓнṹÒÖÖƶÁȡϵͳºÍʹÓÃÕß½¨¹¹
µµ¡£(-b ²»»áÓ°Ïì $HOME/.uwmrc)¡£ÓûÈ¡ÏûÔçÏȵµ°¸ÖеÄÉ趨£¬¿ÉÒÔº¬Èëuwm
µÄ±äÊýresetbinding¡¢resetmenusºÍresetvariables£¬½«»á·Ö±ðµÄÈ¡ÏûÔçÏȶ¨
ÒåµÄϵ½á¡¢Ñ¡µ¥ºÍ±äÊý¡£ (È·¶¨Ä㽫ÕâЩ±äÊý·ÅÔÚµµ°¸µÄ¶¥¶Ë£¬·ñÔòËü½«È¡Ïû
ÔÚµµ°¸ÖÐËùÓÐÔÚËü֮ǰµÄ¶¨Òå)¡£
ÏÞÖÆÊÓ´°ºÍ±íáçͼÔÚÓ©Ä»µÄ¡õΧÒÔÄÚ£º£ØÔÊÐíÄãÖ¸¶¨ÄãµÄÊÓ´°Î»ì¶Ó©Ä»µÄ
ÈκÎλÖã¬ÉõÖÁ²¿·Ý»òÈ«²¿ÔÚөĻ֮Í⣬ÕâÑùÓÐʱ»áÒýÆðÂé·³¡£µ±Ä㽨Á¢Ò»¸ö
ÊÓ´°£¬uwm ²¢Î´ÌṩÈκεİïÖú¡£µ«µ±ÄãʹÓÃf.newiconify¶ÔÒ»¸ö±íáçͼ×÷½â
³ý±íáçͼ»¯£¬Èç¹û±äÊýnormalw ±»É趨£¬ÔòÊÓ´°»á±»ÍêÕûµÄ·ÅÔÚÓ©Ä»ÖУ¬ÇÒ¾¡
Á¿½Ó½üÄãÓÃÖ¸±êÖ¸¶¨µÄλÖᣠ(Èç¹ûÄã°üº¬ÁËnormali ±äÊý£¬Í¬Ñù¿ÉÓÃ춱íáç
ͼ)¡£
¿ØÖÆpush×÷ÓãºÔ¤Éèf.pushxxx ¹¦Äܽ«Ò»¸öÊÓ´°ÍùÊʵ±µÄ·½ÏòÍƶ¯Ò»¸öÏñ
ËصľàÀë¡£Äã¿ÉÒÔ½åÖøÖ¸¶¨ push=num À´Íƶ¯num ¸öÏñËØ¡£ÄãÒ²¿ÉÒÔÍêÈ«µØ¸Ä
±ä²Ù×÷µÄ×÷·¨£ºÈ¡´úͨ³£µÄÍƶ¯¹Ì¶¨ÊýÄ¿µÄÏñËصÄ×÷·¨ (½Ð×öpushabsolute)
£¬Äã¿ÉÒÔÖ¸¶¨pushrelative£ºÕâÖÖÇé¿öÊÓ´°»á±»Íƶ¯num ·ÖÖ®Ò»´óСµÄÊÓ´°¡£
ÀýÈçÈç¹ûÄãÖ¸¶¨
push=5
pushrelative
ÔòÒ»¸öf.pushup½«°ÑÊÓ´°ÏòÉÏÍƶ¯ÊÓ´°±¾Éí¸ß¶ÈÎå·ÖÖ®Ò»µÄ¾àÀë¡£
·ÀÖ¹uwm ¹¦ÄÜËø¶¨Ó¦ÓóÌʽ£ºÔ¤ÉèһЩuwm µÄ²Ù×÷£¬ÏñresizeºÍmove»áµ¼
ÖÂËùÓÐÆäËüµÄclientÓ¦ÓóÌʽ±»¶³½á£¬Ò²¾ÍÊÇ˵£¬·ÀÖ¹ËüÃÇÊä³öµ½ËüÃǵÄÊÓ´°
¡£Äã¿ÉÒÔ½åÖøÖ¸¶¨nofreezeÈ¡ÏûËü¡£
Èç¹ûÄãÐèÒª»ñµÃһЩuwm ËùÊô¶ÌÔÝÊÓ´°µÄÊÓ´°ÇãÓ¡£¬ÔòÕâÊDZØÐèµÄ (ÈçÔÚ
ͼ6 - 6 µÄresizeºÐ)¡£ ËüµÄ¸±×÷ÓÃΪµ±Ê¹ÓÃresizeºÍmoveʱ£¬Íâ¿ò¸ñ»á´óÁ¿
µÄÉÁ¶¯£¬ÒÔÖÂÄÑÒÔ¿´µ½¡£
19.3 ½áÂÛ
±¾Õ¸æËßÄãÈçºÎʹÓÃһЩ¸ü¶àµÄuwm µÄ¹¦ÄÜ£¬ÏÖÔÚÄã¶ÔϵͳÓиü¶àµÄ¾­ÑéÇÒ¿É
ÒÔÀûÓÃËüÃÇ¡£ÌرðÊÇ¿´µ½²»ÓÃÔ¤ÉèÑ¡µ¥ÈçºÎ½¨¹¹ÊÓ´°£¬ËüʹÄ㹤×÷µÄ¸üѸËÙ¡£
±¾Õµĵڶþ¸ö²¿·Ý£¬ÁгöÄãÈçºÎÄܶ¨ÖÆuwm £ºÈçºÎ¸½Êôuwm µÄÄÚ½¨¹¦Äܵ½
Ö¸¶¨ÐÞÊμüºÍ»¬Êó¶¯×÷µÄ×éºÏ£¬ÈçºÎ¶¨ÒåÒ»°ãÐÔµÄÑ¡µ¥£¬ÈçºÎʹÓÃuwm µÄ²ÎÊý
±äÊýÐ޸IJÙ×÷µÄ×÷·¨¡£
ÔÚ½áÊø֮ǰ˵һµãÌâÍâ»°£¬uwm ºÍ xterm¡¢xclock¡¢xeditµÈÒ»Ñù£¬Ö»ÊÇserver
µÄÒ»¸öclient³Ìʽ¶øÒÑ¡£ËùÒÔ£¬Ô¶¶ËµØÖ´ÐÐuwm ÊÇ¿ÉÄܵģ¬ÀýÈçÔÚsaturnÖ´ÐÐ
uwm £¬µ«ÊÇÖ¸¶¨ -display venus:0£¬ËùÒÔËüÊÇvenus µÄÊÓ´°¹ÜÀíÆ÷¡£Õâ½âÊÍ
ÁËÍø·ԪËØÉîÖ³ì¶ÏµÍ³£¬ÔÚÒ»°ã¹¤×÷Õ¾£¬ÕâÖ»ÊǺÃÆ棬µ«ÔÚ£ØÖն˻ú (Ëü²»Ìá
¹©Ò»°ãÐÔÄ¿µÄµÄ´¦Àí (processes)) Ëüʵ¼ÊµØÐèÒª¡£
ÎÒÃÇÏÖÔÚ½Ó½üβÉù£ºÄãÒÑÓÐËùÓÐÄãÖ´ÐÐÊÓ´°ÏµÍ³µÄËùÐèµÄ¹¦ÄÜ¡£ÄãÓÐÊÓ´°¹ÜÀí
Æ÷¡¢Ó¦ÓóÌʽ¡¢±ãÀûµÄ¹¤¾ß¡¢ÊÓ´°ÓйصĹ«ÓóÌʽ¡¢´ó¡õΧµÄÉèÊ©ËùÒÔ¿ÉÒÔÐÞ
¸ÄÒÔÊʺÏÄãµÄÏÔʾÆ÷¡¢ÄãÍø·ÉϵĽ¨¹¹ºÍÄã±È½Ïϲ»¶µÄ¹¤×÷¡£ÏÂÒ»Õ£¬ÎÒÃǽ«
»á°ÑÄ¿Ç°ËùѧµÄ·ÅÔÚÒ»Æ𣬸æËßÄãÈçºÎ¹ÜÀíÄãÍêÕûµÄ¹¤×÷ÖÜÆÚ£¬ÇÒÎÒÃǽ«°üº¬
¶¨Òåuwm Ñ¡µ¥ºÍperferencesµÄʵ¼ÊµÄ¡õÀý¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ