読者です 読者をやめる 読者になる 読者になる

Twittering-modeの設定

Twittering-modeをご存知だろうか.これはEmacs上で動くtwitterクライアントである.
一応,公式ページは

である.またインストール方法やキー操作は

が詳しい.
偉大な先人がすでに設定やインストール手順を分かりやすく記事にしておられるのでそちらを参考にしてもよいだろう.
ちなみにソースコードはGithubから取得するのが吉.
個人的な設定は以下の通りである.大したことはやっていない.

(lazyload (twit revive:twittering) "twittering-mode" nil
  (setq twittering-use-master-password t)

  ;; icon is always displayed in X Window System
  (if (not window-system)
      (setq twittering-icon-mode nil)
    (setq twittering-icon-mode t))

  ;; interval of time line update (seconds)
  (setq twittering-timer-interval 180)

  ;; URI shorting
  (setq twittering-tinyurl-service 'goo.gl)

  ;; max number of tweets in retriving at once
  (setq twittering-max-number-of-tweets-on-retrieval 150)

  ;; reply to all
  (setq twittering-edit-skelton 'inherit-mensions)

  (setq twittering-pop-to-buffer-function 'pop-to-buffer)

  ;; initial timeline
  ;; 'f' and 'b' key can be used to change timeline.
  (setq twittering-initial-timeline-spec-string
        '(":home"
          ":mentions"
          "hogehoge" ; your twitter ID
          ":favorites"
          ":retweets_of_me"
          ":retweeted_by_me"
          "(:search/twittering-mode/+:search/twmode/)"
          ))

  (define-key twittering-mode-map (kbd "O")
    'twittering-push-tweet-onto-kill-ring)

  ;; register tweet as favorite
  (define-key twittering-mode-map (kbd "F") 'twittering-favorite)

  ;; to open pdf, ppt, etc.
  (define-key twittering-mode-map (kbd "P") 'w3m-view-url-with-external-browser)

  ;; replace url under the cursor into the shorten one
  (define-key twittering-edit-mode-map (kbd "C-c C-s")
    'twittering-edit-replace-at-point)

  ;; browse html via w3m (new tab)
  (defun my-w3m-goto-url-new-session ()
    (interactive)
    (let ((uri (get-text-property (point) 'uri)))
      (if uri
          (w3m-goto-url-new-session uri))))
  (define-key twittering-mode-map (kbd "H")
    'my-w3m-goto-url-new-session)

  ;; display unread replies in mode line
  ;; (twittering-enable-unread-status-notifier)

  ;; display remaining API limit in mode line
  (setq twittering-display-remaining t)
  )

;; change major mode name
;; twittering-mode -> twmode
(add-hook-fn 'twittering-mode-hook (setq mode-name "twmode"))

lazyload, add-hook-fnは以前の記事id:1347688961に掲載したマクロである.
トリガーにtwitとrevive:twitteringを指定しているが,revive:twitteringはrevive.elという別パッケージのコマンドであり,本記事では説明を割愛する.
また以下のコード

  (defun my-w3m-goto-url-new-session ()
    (interactive)
    (let ((uri (get-text-property (point) 'uri)))
      (if uri
          (w3m-goto-url-new-session uri))))
  (define-key twittering-mode-map (kbd "H")
    'my-w3m-goto-url-new-session)

はツイート内のURLをw3m(Emacs上のWebブラウザ)の新規タブで開くためのものである.
w3mをインストールされていない諸氏はこの部分を削除したほうがよいだろう.
タイムラインのフォーマット指定や特定語句のフィルタリング機能などもカスタマイズ可能でありぜひ試みられたい.

以上.