µ±Ç°Î»ÖãºLinux½Ì³Ì - Linux - £Ø £×£É£Î£Ä£Ï£×£Ó ϵͳʹÓÃÖ¸ÄÏ(Ê®Æß)

£Ø £×£É£Î£Ä£Ï£×£Ó ϵͳʹÓÃÖ¸ÄÏ(Ê®Æß)

µÚ£±£¹Õ ½øÒ»²½½éÉÜ 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 ¶¨ÒåÄã×Ô¼ºµÄÑ¡µ¥

f.menuÊÇÒ»¸ö·Ç³£Ç¿´óµÄuwm µÄ¹¦ÄÜ£ºËüÈÃÄ㶨ÒåÄã×Ô¼ºµÄÑ¡µ¥¡£´ËÑ¡µ¥¿ÉÑ¡
Óõ½uwm ±¾ÉíµÄ¹¦ÄÜ£¬»òÈκεÄshell ÃüÁ»òÒ»¸öÌض¨µÄ¶¯×÷£¬ÏñÊÇÔÚÒ»¸ö
¼ô»º³åÇø¡¡Èë±¾ÎÄ¡£

ÔÚÄãµÄ½¨¹¹µµÖж¨ÒåÒ»¸öÑ¡µ¥¹²ÓÐÁ½¸ö²½Öè¡£Ê×ÏÈÄ㶨ÒåÑ¡µ¥ÉÏËùÐèµÄ
ϵ½á£¬Æä´ÎÄ㶨ÒåÑ¡µ¥±¾ÉíµÄÄÚÈÝ¡£Ïµ½áµÄ²¿·ÝÏñÎÒÃÇÏÈÇ°ËùÓùýµÄ£¬µ«ÔÚβ
¶ËÔö¼ÓÁËÒ»À¸Ñ¡µ¥Ãû³Æ¡£ÀýÈçWindowOps Ñ¡µ¥ (½å×ÅÔÚ±³¾°ÊÓ´°Öа´ÏÂÖа´Å¥
À´ºô½Ð)µÄϵ½áÊÇ£º

f.menu = : root : middle down : ""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 µÄÔ¤ÉèÉ趨°üº¬ÁË
ϵ½á£º

f.menu = meta | shift : : middle down : ""WindowOps""
f.menu = meta | shift : : middle down : ""Preferences""

×¢ÒâÒ»¸öÑ¡µ¥Ö»Äܶ¨ÒåÒ»´Î£¬µ«Äã¿ÉÒÔÓÃËüÀ´×öÈÎÒâ¶à´ÎµÄϵ½á¡£ (²é¿´Ô¤Éè
É趨£¬Ä㽫¿´µ½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µÄʵ¼ÊµÄ·¶Àý¡£