スポンサードリンク


Warning: Illegal string offset 'cache_time' in /home/fumi/public_html/wp-content/plugins/tweetable/tweetable.php on line 404

clipboard-yank

elisp に clip2emacsce-yank なんて名前つけたから、この関数あることに気付いた。今までのが無駄ーーーと思いつつ、M-x clipboard-yank を実行。……しかし、……。ただの yank やん。

ということで、無駄にはならずに済みました。

Wanderlust のサブジェクトが同じ記事をマークする elisp

Shimbun のダウンロードに失敗したりなんかして、記事が重複してて、そこのファイルを Namazu でインデクス化すると重複してて気持ち悪い。なので、↓こんな elisp を作ってた。Summery モードで M-x my-wl-summery-uniq とかやってね。

(defun my-wl-summery-uniq ()
  (interactive)
  (let ((p)
        (list ())
        (subject))
    (while (< (point) (point-max))
      (goto-char (- (search-forward "
") 1))
      (setq p (point))
      (setq subject (buffer-substring (+ 1 (search-backward "]")) p))
      (if (member subject list)
          (let (num)
            (beginning-of-line)
            (setq num (buffer-substring (point) (+ (point) 5)))
            (message num)
            (wl-summary-target-mark (string-to-number num)))
        (setq list (cons subject list)))
      (next-line 1)
      )))

こんなののために、睡眠時間を削るのはどうか。

elisp むずいなー。

X-Now-Playing

x-now-doing.el の導入と使い方(ここ。これも新堂さんの日記さんね) に書いてあったので簡単に触発される。まぁ、mpg123 とか使ってると自動でそのタグを入力できるんだろうけど、Windows で Meadow 、mp3 プレイヤーとしてlilithを使っているわたしは……

X-Now-Playing:を、手書き?
そんなのはかなり嫌なので、適当にタイトルを得るプログラムを Lilith に付いてたソースを書き換えて作ってみる。そして、以下の関数を作る。

(defun lilith-get-title ()
  (save-excursion
    (let ((nbuf (get-buffer-create "*lilith title*"))
          (title)
          (ret 0))
      (setq ret (call-process "lilithtitle" nil nbuf))
      (set-buffer nbuf)
      (setq title (if (and (eq ret 0) (>= (point-max) 10))
                      (buffer-substring 9 (- (point-max) 1))
                    "not playing"))
      (kill-buffer nbuf)
      title
      )))

さらに、wanderlust 使いなら、

(setq wl-draft-config-alist
      '(
        (t
         ("X-Now-Playing" . (lilith-get-title))
         )))

と追加するだけ(って長いな)。

で、問題の lilithtitle のソースはこれ