2009-06 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
2009-06-14 (日)
■ skype.el を試してみた [Emacs]
ひょんな(?)ことから、Skype の ID を取得してしまいました。
最初に Linux 版の Skype を使ってみましたが、日本語入力が出来ないた
め(※対策は後述)他のアプリからコピペする必要があり、非常に面倒でした。
やっぱり、Emacs で Skype できちゃったりするのかなあと思って、調べて
みたら skype.el というのがありました。(相変わらず、Emacs で何でもで
きちゃうのね。^^;) うまく動いたので方法をまとめておきます。
▼今回の環境
Debian GNU/Linux squeeze (testing)
Emacs 23.0.94 (← Emacs23 以上じゃないとダメっぽい)
▼技術的な仕組み
skype.el は Skype の Emacs フロントエンド。Skype を起動したあとに、
skype.el を起動して使う。両者のやりとりは、D-Bus を介して行われると
のこと。D-Bus というのは、プロセス間通信の実装の一つらしい。
→ Wikipedia - D-Bus
▼設置手順
1. Linux 用の Skype をインストールした。
公式サイトから deb パッケージをダウンロードしてもよいが、
/etc/apt/sources.list に apt-line を追加する方がスマートなので、
こちらをお勧めする。
deb http://download.skype.com/linux/repos/debian/ stable non-free
追加したら、いつものように aptitude でインストールする。
# aptitude update # aptitude install skype
インストールできたら、Skype 単体でチャットや通話が出来ることを確認すべし。
2. skype.el 一式をダウンロードした。
% svn co http://svn.codecheck.in/lang/elisp/skype/trunk skype
/usr/local/share/emacs/site-lisp から、ダウンロードした skype ディ
レクトリにシンボリックリンクを張った。
3. ~/.emacs に以下を追加した。
(defun my-skype () (interactive) (require 'skype) (setq skype--my-user-handle "私のSkypeID") (skype--init) (skype--open-all-users-buffer-command))
4. Skype 自動起動の設定をした。
「GNOME メインメニュー」→「システム」→「設定」→「自動起動するア
プリ」に skype を追加し、ログイン時に自動起動するようにした。
Skype を起動し、「Skype のオプション」→「一般」→「システムトレイ
内で最小化した Skype を開始」にチェック。こうすると起動時に邪魔にな
らない。
※ システムトレイは、GNOME の「パネルに追加」から「通知スペース」を
追加していかないと表示されない。
▼使い方
Emacs を起動し、M-x my-skype する。
キーバインドは「skype.el を Debian でインストールしてみた」が詳しい。
▼スクリーンショット

なかなかの見栄えだと思う。あと、Linux 版の Skype がシステムトレイに
収まっているので、誰かからのメッセージは右下にポップアップし、すぐ
に分かる。
▼Linux 版 Skype の日本語入力について
日本語入力は uim-qt をインストールし、~/.xprofile に以下を記載する
必要がある。
QT_IM_MODULE=uim export QT_IM_MODULE
Skype は (GTK ではなく) QT アプリなので、GNOME 向けの下記の設定は効
かなかった。
GTK_IM_MODULE=uim export GTK_IM_MODULE
▼他に参考にしたページ
http://slashdot.jp/~kawa-t/journal/466769
http://wiki.debian.org/skype
http://d.hatena.ne.jp/authorNari/20090226/1235580841
■ ElScreen のススメ [Emacs]
私は ElScreen-Mew の作者なのに、このブログで ElScreen について一度
も言及していないことに気づきました。^^;
ElScreen は Emacs で多くの作業をする人にお薦めです!
私の場合は、ざっとこれだけありました。
- Mew でメール送受信する。
- navi2ch で2ちゃんねるを見る。
- mpg123.el で音楽を聴く。
- twittering-mode.el で Twitter する。
- skype.el でチャットする。
- ChangeLog メモを書く(→chalow でこのブログに変換)。
- 他、さまざまなテキストファイルを編集する。
もちろん、Emacs は個々の作業ごとに起動しません。全て1つの Emacs 上
で行います。
でも、さすがにこれだけいろんなことをやっていると、バッファを切り替
えるのが面倒です。一時期はフレームを立ち上げて(C-x 5 2)いましたが、
これも複数あると邪魔です。
ここで、Web ブラウザのウィンドウとタブを思い出して下さい。Emacs で
前者はフレームに相当します。しかし、後者はありません。Emacs でもタ
ブが使えたら便利だと思いませんか?
そこで登場するのが ElScreen です!!
ElScreen は Emacs にタブ機能を提供します。メニューバーからの
ElScreen->Create Screen または、"C-z C-c" で新しいタブを作れます。
もちろん、マウスでタブを選択することも出来ます。
キーバインドは GNU Screen ライクなので、GNU Screen ユーザはすんなり
使えると思います。ダウンロードやインストール方法等の詳細は
ElScreen の Web site をご覧下さい。
Mew を使っている方は、ElScreen-Mew もどうぞ。今は単に不具合を解消す
るためだけのツールですが、現在、メールの新規作成や返信、転送をする
時は "Create Screen" する機能を実装中です!
他に似たツールとして、windows.el というものがあります。windows.el
にはタブ機能はありません。しかし、ウィンドウの分割状態をいくつも記
憶できるので、それが実質的なタブ機能となっています。また、レジュー
ム機能という大きな売りがあります。
ElScreen と windows.el、ご自分に合う方を使ってみて下さい。
■ C-c C-c で mkchalow [chalow][Emacs]
ChangeLog メモの chalow への変換とアップロードは、毎日 0:00 から
3 時間毎に行うように、自宅 PC の cron に登録しています。
登録しているのは mkchalow という自作のシェルスクリプトです。
手動でアップしたい時は、このコマンドをコマンドラインから実行します。
手動での実行が面倒になってきたので、mkchalow を実行する elisp の関
数を作りました。非同期で実行されるので、実行中も他の作業が出来ます。
(defun mkchalow (force)
(interactive "P")
(let (pro
(pnm "mkchalow")
(buf " *mkchalow*")
(cnm "mkchalow")
(opts (if force '("-f"))))
(message (format "%sBuilding chalow for masutaka.net..."
(if force "Force " "")))
(setq pro (apply 'start-process pnm buf cnm opts))
(set-process-sentinel
pro
`(lambda (process string)
(message ,(format "%sBuilding chalow for masutaka.net...done"
(if force "Force " "")))
(kill-buffer ,buf)))))
(eval-after-load "clmemo"
;; C-c C-c で mkchalow
'(define-key clmemo-mode-map (kbd "C-c C-c") 'mkchalow))
※ clmemo.el を使っていない方は、(eval-after-load "clmemo" 以降を
下記に置き換えて下さい。
(eval-after-load "add-log" ;; C-c C-c で mkchalow '(define-key change-log-mode-map (kbd "C-c C-c") 'mkchalow))
追記20090614:
Emacs 起動時にエラーになるので、訂正しました。シクシク...。
追記20100503:
mkchalow() を修正しました。C-u を付けるとメッセージが少し変わります。
■ ElScreen のタブにニックネームを設定する [Emacs]
[2009-06-14-2] の補完。
通常、ElScreen のタブにはバッファ名が表示されますが、自分でニックネー
ムを付けることも出来ます。ニックネームを付けると、タブがすっきりキ
レイになります。
下記は、順番に navi2ch, skype.el 用の設定です。(require 'elscreen)
の後に書いて下さい。
(defcustom elscreen-navi2ch-mode-to-nickname-alist
'(("^navi2ch-" . "Navi2ch"))
"*Alist composed of the pair of mode-name and corresponding screen-name."
:type '(alist :key-type string :value-type (choice string function))
:tag "Navi2ch major-mode to screen nickname alist"
:set (lambda (symbol value)
(custom-set-default symbol value)
(elscreen-rebuild-mode-to-nickname-alist))
:group 'navi2ch)
(elscreen-set-mode-to-nickname-alist 'elscreen-navi2ch-mode-to-nickname-alist)
(defcustom elscreen-skype-mode-to-nickname-alist
'(("^skype-" . "Skype"))
"*Alist composed of the pair of mode-name and corresponding screen-name."
:type '(alist :key-type string :value-type (choice string function))
:tag "Skype major-mode to screen nickname alist"
:set (lambda (symbol value)
(custom-set-default symbol value)
(elscreen-rebuild-mode-to-nickname-alist))
:group 'skype)
(elscreen-set-mode-to-nickname-alist 'elscreen-skype-mode-to-nickname-alist)
2009-06 / 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
最終更新時間: 2010-07-27 06:00


