Next: Not Intervals, Previous: Lazy Properties, Up: Text Properties [Contents][Index]
¥Ð¥Ã¥Õ¥¡Æâ¤Ë¥¯¥ê¥Ã¥¯²Äǽ¤Ê¥Æ¥¥¹¥È¡Êclickable text¡Ë¤òÀßÄꤹ¤ë¤Ë¤Ï 2¤Ä¤ÎÊýË¡¤¬¤¢¤ê¤Þ¤¹¡£ ¤³¤ì¤Ïŵ·¿Åª¤Ë¤Ï2¤Ä¤ÎÉôʬ¤«¤éÀ®¤ê¤Þ¤¹¡£ ¤Ä¤Þ¤ê¡¢¥Þ¥¦¥¹¤¬½Å¤Ê¤ë¤È¥Æ¥¥¹¥È¤ò¶¯Ä´É½¼¨¤·¡¢ ¥Æ¥¥¹¥È¤Î¤½¤ÎÉôʬ¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤È ¥Þ¥¦¥¹¥Ü¥¿¥ó¤¬¤Ê¤ó¤é¤«¤Î½èÍý¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤¹¡£
¶¯Ä´É½¼¨¤Ï¥Æ¥¥¹¥È°Àmouse-face
¤Ç¹Ô¤¤¤Þ¤¹¡£
dired¤Ç¤ÎÊýË¡¤òÎã¤È¤·¤Æ¼¨¤·¤Þ¤¹¡£
(condition-case nil (if (dired-move-to-filename) (put-text-property (point) (save-excursion (dired-move-to-end-of-filename) (point)) 'mouse-face 'highlight)) (error nil))
put-text-property
¤ÎºÇ½é¤Î2¤Ä¤Î°ú¿ô¤Ï¡¢
¥Æ¥¥¹¥È¤ÎÀèÆ¬¤ÈËöÈø¤ò»ØÄꤷ¤Þ¤¹¡£
¤³¤Î¥Æ¥¥¹¥È¤ò¥¯¥ê¥Ã¥¯¤·¤¿¤È¤¤Ë¥Þ¥¦¥¹¤Ë¤Ê¤Ë¤«¤ò¤µ¤»¤ë¤è¤¦¤Ë¤¹¤ë
ÉáÄ̤ÎÊýË¡¤Ï¡¢¥á¥¸¥ã¡¼¥â¡¼¥É¤Î¥¡¼¥Þ¥Ã¥×¤Çmouse-2
¤òÄêµÁ¤¹¤ë¤³¤È¤Ç¤¹¡£
¥¯¥ê¥Ã¥¯²Äǽ¤Ê¥Æ¥¥¹¥È¤ò¥¯¥ê¥Ã¥¯¤·¤¿¤«¤É¤¦¤«¤Î¸¡ºº¤Ï¡¢
¥³¥Þ¥ó¥ÉÄêµÁ¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£
dired¤Ç¤Ï¤Ä¤®¤Î¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
(defun dired-mouse-find-file-other-window (event) "In dired, visit the file or directory name you click on." (interactive "e") (let (file) (save-excursion (set-buffer (window-buffer (posn-window (event-end event)))) (save-excursion (goto-char (posn-point (event-end event))) (setq file (dired-get-filename)))) (select-window (posn-window (event-end event))) (find-file-other-window (file-name-sans-versions file t))))
³°Â¦¤Îsave-excursion
¤Ï¡¢¥«¥ì¥ó¥È¥Ð¥Ã¥Õ¥¡¤¬ÊѤï¤ë¤³¤È¤òËɤ®¤Þ¤¹¡£
Æâ¦¤Î¤Ï¡¢¥¯¥ê¥Ã¥¯¤·¤¿¥Ð¥Ã¥Õ¥¡¤Î¥Ý¥¤¥ó¥È¤ò¹±µ×Ū¤ËÊѹ¹¤¹¤ë¤³¤È¤òËɤ®¤Þ¤¹¡£
¤³¤ÎÎã¤Ç¤Ï¡¢dired¤Ï´Ø¿ôdired-get-filename
¤òÍѤ¤¤Æ¡¢
¥¤¥Ù¥ó¥È¤Î°ÌÃ֤˴ð¤Å¤¤¤ÆË¬Ì䤹¤Ù¤¥Õ¥¡¥¤¥ë¤ò·èÄꤷ¤Þ¤¹¡£
¥á¥¸¥ã¡¼¥â¡¼¥É¤Î¥Þ¥¦¥¹¥³¥Þ¥ó¥É¤òÄêµÁ¤¹¤ë¤«¤ï¤ê¤Ë¡¢
¥Æ¥¥¹¥È°Àlocal-map
¤ò»È¤Ã¤Æ¡¢
¥¯¥ê¥Ã¥¯²Äǽ¤Ê¥Æ¥¥¹¥È¤½¤Î¤â¤Î¤Ë¥¡¼¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤òÄêµÁ¤¹¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£
(let ((map (make-sparse-keymap))) (define-key-binding map [mouse-2] 'operate-this-button) (put-text-property (point) (save-excursion (dired-move-to-end-of-filename) (point)) 'local-map map))
¤³¤ÎÊýË¡¤Ç¤Ï¡¢¥Æ¥¥¹¥È¤Î¤µ¤Þ¤¶¤Þ¤Ê¥¯¥ê¥Ã¥¯²Äǽ¤ÊÉôʬ¤Ë °Û¤Ê¤ë¥³¥Þ¥ó¥É¤òÄêµÁ¤Ç¤¤Þ¤¹¡£ ¤µ¤é¤Ë¡¢¥Ð¥Ã¥Õ¥¡¤Î»Ä¤ê¤ÎÉôʬ¤ËÂФ·¤Æ¤Ï¡¢ ¥á¥¸¥ã¡¼¥â¡¼¥É¤ÎÄêµÁ¡Ê¤ä¥°¥í¡¼¥Ð¥ë¤ÊÄêµÁ¡Ë¤¬¤½¤Î¤Þ¤Þ͸ú¤Ç¤¹¡£