Skip to content

Instantly share code, notes, and snippets.

@rummelonp
Created November 1, 2010 14:33
Show Gist options
  • Save rummelonp/658256 to your computer and use it in GitHub Desktop.
Save rummelonp/658256 to your computer and use it in GitHub Desktop.
Emacs用TwitterクライアントTwitterModeの設定
;; growl
(setq growl-program "/usr/local/bin/growlnotify")
(defun growl (title message &optional app)
(start-process "Growl" "*Growl*" growl-program
"-t" title
"-m" message
"-a" app))
;; twittering mode
;; (install-elisp "http://github.com/hayamiz/twittering-mode/raw/master/twittering-mode.el")
(require 'twittering-mode)
(setq twittering-username "mitukiii")
(setq twittering-status-format "%i @%s / %S %p: \n %T\n [%@]%r %R %f%L\n")
(setq twittering-retweet-format " RT @%s: %t")
(setq twittering-use-ssl nil)
(setq twittering-icon-mode nil)
(setq twittering-scroll-mode nil)
(setq twittering-convert-fix-size 48)
(setq twittering-timer-interval 60)
(setq twittering-update-status-function 'twittering-update-status-from-pop-up-buffer)
;; 起動時に読み込むタイムライン
(setq twittering-initial-timeline-spec-string
'(":home"
":replies"
"mitukiii/must"))
;; 認証情報
(setq twittering-auth-method 'oauth)
(setq twittering-account-authorization 'authorized)
(setq twittering-oauth-consumer-key "*** oauth consume key ***")
(setq twittering-oauth-consumer-secret "*** oauth consumer secret ***")
(setq twittering-oauth-access-token-alist
'(("screen_name" . "mitukiii")
("user_id" . "60032150")
("oauth_token" . "*** oauth token ***")
("oauth_token_secret" . "*** oauth token secret ***")))
;; 短縮URLにbit.lyを使用
(add-to-list 'twittering-tinyurl-services-map
'(bitly . "http://api.bit.ly/shorten?version=2.0.1&login=*** login ***&apiKey=*** api key ***&format=text&longUrl="))
(setq twittering-tinyurl-service 'bitly)
;; キーを設定
(add-hook 'twittering-mode-hook
'(lambda ()
(define-key twittering-mode-map (kbd "F") 'twittering-favorite)
(define-key twittering-mode-map (kbd "R") 'twittering-reply-to-user)
(define-key twittering-mode-map (kbd "Q") 'twittering-organic-retweet)
(define-key twittering-mode-map (kbd "T") 'twittering-native-retweet)
(define-key twittering-mode-map (kbd "M") 'twittering-direct-message)
(define-key twittering-mode-map (kbd "N") 'twittering-update-status-interactive)
(define-key twittering-mode-map (kbd "C-c C-f") 'twittering-home-timeline)))
;; replyとdmをgrowlで出す
(add-hook 'twittering-new-tweets-hook
'(lambda ()
(let ((spec (car twittering-new-tweets-spec))
(title-format nil))
(cond ((eq spec 'replies)
(setq title-format "%sから関連ツイート"))
((eq spec 'direct_messages)
(setq title-format "%sから新規メッセージ")))
(unless (eq title-format nil)
(dolist (el (reverse twittering-new-tweets-statuses))
(growl (format title-format (cdr (assoc 'user-screen-name el)))
(format "%s" (cdr (assoc 'text el)))
"Emacs")
(sleep-for 0 50))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment