2011년 3월 22일 화요일

[Emacs] Twitter for Emacs: twittering-mode


OS와 맞먹는 분위기(?)의 Emacs인 만큼 역시나 트위터 클라이언트로 이용하는 것도 가능하다. 다음 URL에서 Emacs용 Twitter extension 에 대해 확인할 수 있다.

http://www.emacswiki.org/emacs/Twitter

처음에는 TwIt을 시도해 봤는데 로그인 과정에 문제가 있는건지 잘 안되었다. 그래서 대중적(?)인 twittering-mode를 시도해 봤다.

http://www.emacswiki.org/emacs/TwitteringMode

twittering-mode 패키지는 좀 큰 편이다. (하지만 대부분은 거의 안쓰는 파일들 ;ㅅ;) auto-install 같은 걸로 설치하기에는 좀 무리고 github.com의 저장소를 이용해 직접 다운받는 것을 추천한다.
git clone git://github.com/hayamiz/twittering-mode.git
혹은 해당  저장소 사이트 https://github.com/hayamiz/twittering-mode 에서 직접 다운로드 받아도 되니 편한대로 고르면 되겠다.

설치방법은 역시 단순한 방법. InitPath 혹은 load-path 등에 잡혀있는 디렉토리로 twittering-mode를 통채로 복사하거나 아무데나 옮긴 후 load-path를 잡아주면 된다. 이 후는 익숙한 (require 'twittering-mode) 한 줄을 설정파일 등에 넣으면 된다.

혹시나 해서 이야기하는데, 문서상에도 나와있지만 필요한 유틸리티가 제법 있다.

  • curl
  • gnutls
  • openssl

없다면 설치해 주자. (윈도우 사용자는... 알아서 해결할 것 -_- 윈도우 싫어!)

공식매뉴얼은 EmacsWiki에 정리된 문서(위 URL참고)가 전부다. 설정 및 사용방법에 관해서는 위키를 참조하는게 좋겠지만 여기서는 일부분만 언급하고자 한다.

1. 실행

최초 M-x twit 를 입력하면 OAuth 로그인 단계로 넘어간다. 브라우저를 뛰울것인지 물어보는데 당연히 yes를 선택해 줘야 한다. 브라우저가 뜨면서 트위터 인증 단계가 되고 반드시 Allow를 선택해 줘야 한다. 그러면 PIN번호를 알려주는데 이 PIN번호를 twit 버퍼에 입력해준다.

2. 사용

단축키를 잘 알아야 쓸만 하겠지만 일단 보기만 할 때는 마우스로 휙휙 굴려봐도 된다. -_-;; 좀 부족하니 약간의 단축키를 소개하겠다...;;

  • j/k: 아래/윗 트윗으로 이동(사랑스러운 vim 키맵이다 히히)
  • n/p: 특정 사용자의 아래/윗 트윗으로 이동
  • u: 트윗 쓰기
  • Enter: 현재 커서가 위치하는 트위에 Reply 한다.
  • r: 대화 표시

3. 설정

(setq twittering-icon-mode t) ;; 기본적으로 아이콘 표시
(setq twittering-timer-interval 60) ;; 타임라인 갱신 주기(초단위)
(setq twittering-use-native-retweet t) ;; 공식리트윗 사용(수동RT는 좀 자제합시다!)
(setq twittering-scroll-mode t) ;; 타임라인 갱신 시 화면이 스크롤 되지 않게 막아준다.

4. 인증 관련 설정

여기까지 설정한 상태로 Emacs를 껏다 켜면 다시 twittering-mode를 사용할 때 또 인증 과정을 거쳐야 한다. 매우 귀찮다. 따라서 발급받은 Oauth token을 저장할 수 있도록 설정하자.
(setq twittering-use-master-password t)
이 설정을 해 둔 채로 로그인을 하면 패스워드를 따로 물어본다. 발급받은 키를 암호화 하기 위한 키 이므로 적당히 입력해 주자. 단, 잊어먹으면 다시 못 쓰는 키가 되니 주의 -_-. 이 패스워드는 다음 번 인증 과정에서 물어보므로 그 때 입력해주면 OAuth 인증을 거치지 않아도 된다.

이 기능은 gpg를 이용하기 때문에 GNUpg가 설치되어 있어야 한다.

5. 단축키 설정

(add-hook 'twittering-mode-hook
          (lambda ()
            (mapc (lambda (pair)
                    (let ((key (car pair))
                          (func (cdr pair)))
                      (define-key twittering-mode-map
                        (read-kbd-macro key) func)))
                  '(("1" . twittering-home-timeline)
                    ("2" . twittering-replies-timeline)
                    ("3" . twittering-direct-messages-timeline)
                    ("t" . twittering-retweet)))))
개인적으로 사용하는 설정인 만큼 따라할 필요는 없다. Emacswiki에도 나와있는 내용인 만큼 신기한 것도 아니니 -_-;;;;

1, 2, 3키는 홈/멘션/DM 타임라인으로 바꿔주는 키 이고 t키는 리트윗을 하기 위한 키 이다. 이것만 설정해 두니 그럭저럭 쓸 만 한 것 같다. 필요하다면 위키의 문서에 관련 함수 이름들이 적혀있으니 원하는 단축키로 등록하면 된다.

댓글 없음 :