w3m ¤Î¥á¥Ë¥å¡¼¤Ë¤Ä¤¤¤Æ (2002/11/27) ºäËÜ ¹À§ hsaka@mth.biglobe.ne.jp [1] ¥¡¼Áàºî ¡¦°ìÈÌŪ¤Ê¤â¤Î HELP, INS ¥¡¼ : ¥á¥Ë¥å¡¼¤ÎΩ¤Á¾å¤² HELP, INS ¥¡¼, C-c, : ¥á¥Ë¥å¡¼¤Î¾Ãµî RET(C-m, C-j), SPC, ¢ª¥¡¼ : ÁªÂò BS(C-h), DEL(C-?), ¢«¥¡¼ : Ìá¤ë C-n, j, ¢¥¡¼ : ²¼¤Î¹àÌÜ¤Ø C-p, k, ¢¬¥¡¼ : ¾å¤Î¹àÌÜ¤Ø J : ¹àÌܤò¾å¤Ë¥¹¥¯¥í¡¼¥ë K : ¹àÌܤò²¼¤Ë¥¹¥¯¥í¡¼¥ë C-a : ÀèƬ¤Î¹àÌÜ¤Ø C-e : ºÇ¸å¤Î¹àÌÜ¤Ø C-f, C-v : ¼¡¥Ú¡¼¥¸¤Î¹àÌÜ¤Ø C-b, M-v : Á°¥Ú¡¼¥¸¤Î¹àÌÜ¤Ø C-s, / : ¹àÌܤò²¼¤Ë¸þ¤«¤Ã¤Æ¸¡º÷ C-r, ? : ¹àÌܤò¾å¤Ë¸þ¤«¤Ã¤Æ¸¡º÷ n : ¼¡¤Î¹àÌܤò¸¡º÷ N : Á°¤Î¹àÌܤò¸¡º÷ C-z : ¥µ¥¹¥Ú¥ó¥É # INS ¤ÏÄ̾ï ^[[2~ ¤Ç¤¹¤¬ ^[[L(¥³¥ó¥½¡¼¥ë), ^[[E(PocketBSD) ¤Ë¤â ¥Ð¥¤¥ó¥É¤·¤Æ¤¢¤ê¤Þ¤¹¡£ MenuKeymap, MenuEscKeymap, MenuEscBKeymap, MenuEscDKeymap (menu.c) ¤ÇÄêµÁ ¡¦¸ÄÊ̤Υá¥Ë¥å¡¼ÍÑ MenuItem ¹½Â¤ÂÎ (menu.h) ¤Î char *keys ¤ËÀßÄê(Ê£¿ô²Äǽ) ¾åµ¤Î¥¡¼Áàºî¤Ë¾å½ñ¤¤µ¤ì¤Þ¤¹¡£ [2] ¥Þ¥¦¥¹ ¥Ü¥¿¥ó£³ : ¥á¥Ë¥å¡¼¤ÎΩ¤Á¾å¤² Ω¤Á¾å¤²¸å ¥Ü¥¿¥ó£±/£³ (¹àÌÜ) : ÁªÂò ¡í (ÏÈ,MENU_NOP) : ²¿¤â¤·¤Ê¤¤ ¡í (Ïȳ°) : Ìá¤ë(¥á¥Ë¥å¡¼¤Î¾Ãµî) ¡í ( : ) : ¼¡¥Ú¡¼¥¸¤Þ¤¿¤ÏÁ°¥Ú¡¼¥¸¤Î¹àÌÜ¤Ø (Ť¤¥á¥Ë¥å¡¼¤Î¾ì¹ç) ¡í (¥É¥é¥Ã¥°) : ¥¹¥¯¥í¡¼¥ë [3] ¥á¥Ë¥å¡¼¤Î¥«¥¹¥¿¥Þ¥¤¥º ~/.w3m/menu ¤Ë¥á¥Ë¥å¡¼¤òÄêµÁ¤Ç¤¤Þ¤¹¡£ ¥á¥Ë¥å¡¼¤Ï¡¢ menu MENU_ID ¹àÌÜ : end ¤È¤·¤ÆÀßÄꤷ¤Þ¤¹¡£³Æ¹àÌܤˤϡ¢ func LABEL FUNCTION KEYS [DATA] ¥³¥Þ¥ó¥É¼Â¹Ô popup LABEL MENU_ID KEYS ¥µ¥Ö¥á¥Ë¥å¡¼Î©¤Á¾å¤² nop LABEL ²¿¤â¤·¤Ê¤¤(¥»¥Ñ¥ì¡¼¥¿¤ä¥¿¥¤¥È¥ë) ¤òÀßÄê²Äǽ¤Ç¤¹¡£ Îã¤Ï menu.default ¤ä menu.submenu ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ ÀßÄê¤Ç¤¤ë¥³¥Þ¥ó¥É(FUNCTION)¤Ï README.func ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£ MENU_ID ¤È¤·¤Æ "Main" ¤Ï¥á¥¤¥ó¥á¥Ë¥å¡¼¤Ë¡¢"Select" ¤Ï¥Ð¥Ã¥Õ¥¡ÁªÂò ¥á¥Ë¥å¡¼¤Ë¡¢"SelectTab" ¤Ï¥¿¥ÖÁªÂò¥á¥Ë¥å¡¼¤ËͽÌ󤵤ì¤Æ¤¤¤Þ¤¹¡£ KEYS ¤Ï¥Ð¥¤¥ó¥É¤¹¤ë¥¡¼¤ÇÊ£¿ô»ØÄê²Äǽ¤Ç¤¹¡£ DATA ¤¬ÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð¥³¥Þ¥ó¥É(FUNCTION)¤Î°ú¿ô¤È¤·¤Æ»È¤ï¤ì¤Þ¤¹¡£ [4] ³«È¯¤Ë¤Ä¤¤¤Æ ¥á¥Ë¥å¡¼¥ë¡¼¥Á¥ó¤ÎÎã¤Ï mainMenu(), optionMenu() ¤ò¸«¤ì¤Ðʬ¤«¤ë¤È»×¤¤¤Þ¤¹¡£ ¤³¤Î¥ë¡¼¥Á¥ó¤È°Ê²¼¤Î MenuItem ¹½Â¤ÂΤòÄêµÁ¤¹¤ì¤Ð¡¢¤Û¤È¤ó¤É¤Î¥á¥Ë¥å¡¼¤Ï¡¢ ÀßÄê¤Ç¤¤ë¤È»×¤¤¤Þ¤¹¡£ MenuItem ¹½Â¤ÂÎ (menu.h) struct { int type; /* ¥¿¥¤¥× */ char *label; /* ¥é¥Ù¥ë */ int *variable; /* VALUE_MENU ¤Î¾ì¹ç¤ËÀßÄꤹ¤ëÊÑ¿ô */ int value; /* VALUE_MENU ¤Î¾ì¹ç¤ËÀßÄꤹ¤ëÃÍ */ void (*func)(); /* ÁªÂò¤µ¤ì¤¿»þ¤Ë¼Â¹Ô¤¹¤ë´Ø¿ô */ struct _Menu *popup; /* ¥µ¥Ö¥á¥Ë¥å¡¼ */ char *keys; /* ¥Ð¥¤¥ó¥É¤¹¤ë¥¡¼(Ê£¿ô²Äǽ) */ } MenuItem; ¥¿¥¤¥× type ¤Ï°Ê²¼¤Î¤â¤Î¤¬»ÈÍѤǤ¤Þ¤¹¡£ MENU_NOP (1) : ¤Ê¤Ë¤â¤·¤Ê¤¤¡£ÁªÂò¤â¤Ç¤¤Ê¤¤¡£ (¥¿¥¤¥È¥ë¤ä¥»¥Ñ¥ì¡¼¥¿ÍÑ) MENU_FUNC (2) : ´Ø¿ô¤ò¼Â¹Ô MENU_VALUE (4) : ÊÑ¿ô(*variable)¤ËÃÍ(value)¤òÀßÄê MENU_POPUP (8) : ¥µ¥Ö¥á¥Ë¥å¡¼¤òΩ¤Á¾å¤²¤ë MENU_FUNC ¤È MENU_VALUE ¤Ï (MENU_FUNC | MENU_VALUE) ¤È ÀßÄꤹ¤ë¤³¤È¤ÇξÊý¤ÎÆ°ºî¤ò¤·¤Þ¤¹¡£(ÊÑ¿ôÀßÄ꤬Àè¤Ç¤¹) ÀßÄêÎã¤Ï¡¢MainMenuItem (menu.c) ¤ä new_option_menu() ¤ò¸«¤Æ¤¯¤À¤µ¤¤¡£