티스토리 툴바

BLOG main image
분류 전체보기 (33)
잡담 (4)
활용 (16)
language (1)
project (10)
design (2)
자료정리 (0)
7,740 Visitors up to today!
Today 4 hit, Yesterday 15 hit
daisy rss
tistory 티스토리 가입하기!
'2012/03'에 해당되는 글 1건
2012/03/22 19:51
나는 org 모드에 거의 모든 내용을 기록해 놓는다. 그리고 아주 자주 검색하기 때문에 지금 프레임이나 창에 영향 받지 않고 검색한 다음에 바로 닫고 싶었다. (뭐 org 에서 검색 기능을 이미 제공할 것 같기도 하지만..)
그래서 새프레임을 열고 함수를 호출하는 기능이 필요하다.
 
일단 쉽게 생각할 수 있는 방법은 아래와 같을 것이다. 

(defun foo ()
  (interactive)
  (make-frame)
  (next-frame)
  (do some thing...)
)
프레임을 만들고 프레임을 옮기고 뭔가 동작하기. 그런데 그게 쉽지 않다. 커서는 저 함수가 끝날 때까지 원래 프레임에 계속 머무른다.
 
방법은 뭘까? 좀 복잡해질지도 모르지만 훅을 이용하면 된다.
make-frame 에는 after-make-frame-functions 라는 훅이 존재한다. 해당 훅에 프레임을 옮긴 후 해야 할 일을 기술해 놓으면 된다.


(defun make-frame-and-org-find ()
  (interactive)
  (add-hook 'after-make-frame-functions 'finish-make-frame-and-find-org)
  (make-frame)
)

(defun finish-make-frame-and-find-org (frame)
  (remove-hook 'after-make-frame-functions 'finish-make-frame-and-find-org)
  (select-frame frame)
  (let ((query (read-from-minibuffer "org-string : " (concat (thing-at-point 'symbol) "") nil nil))) 
    (find-grep 
     (concat "find ~/org/job -type f -name *.org -print0 | xargs -0 -e grep -nH -e " query)))
)
Trackback Address :: http://beonit2.tistory.com/trackback/53 관련글 쓰기
Name
Password
Homepage
Secret
prev"" #1 next