2011年10月30日日曜日

simplenote.el

Emacs でクラウド上のメモを編集できないか探してみると simplenote.el なるものを発見。
こういうのをパパパっと作れる人を尊敬します。

使ってみた感想ですが

  • シンプル。
  • Web UI と違って同期させるためには明示的に操作が必要。
  • ノート一覧で見出しが一行におさまらないときがある。

自動で同期する方法は他の人が書かれていますが、
個人的には見た目に関わる 3 番目がとても気になる!

原因はよくあるマルチバイトを考慮していないために起こる現象。

アドバイスを使って修正してみました。

  ;; 見出しの長さの調整をマルチバイト文字に対応させる
  (defadvice simplenote-note-headline
    (after truncate-multibyte-headline activate)
    "Truncate headline contains multibyte characters."
    (let ((width simplenote-note-head-size))
      (setq ad-return-value
            (format (format "%%.%ds" width) ad-return-value))
      ))

  ;; 見出しの長さの調整をマルチバイト文字に対応させる
  (defadvice simplenote-note-headrest
    (after truncate-multibyte-headrest activate)
    "Truncate headrest contains multibyte characters."
    (let* ((headline (simplenote-note-headline text))
           (width (- simplenote-note-head-size (string-width headline))))
      (setq ad-return-value
            (format (format "%%.%ds" width)  ad-return-value))
      ))