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 (日)

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)


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))



追記(2009-06-14):
Emacs 起動時にエラーになるので、訂正しました。シクシク...。

追記(2010-05-03):
mkchalow() を修正しました。C-u を付けるとメッセージが少し変わります。

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、ご自分に合う方を使ってみて下さい。

この記事に言及しているこのブログ内の記事

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

追記(2010-08-15):
リポジトリが github に移行してました。
http://github.com/kiwanami/emacs-skype

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

最終更新時間: 2017-10-16 09:15

検索


最近の話題
- 2017-10-15
  golang の並列処理を Ruby と比較しながら学ぶ
- 2017-09-24
  『応仁の乱』を読んだ
- 2017-08-31
  ZenHub と GitHub の Issue/PR URL をトグルするブックマークレットを作った
- 2017-08-07
  github-nippou v3.0.0 released
- 2017-08-02
  『サーバーレスシングルページアプリケーション』を読んだ
- 2017-07-10
  emacs-helm の標準添付から外された helm-elscreen を Melpa に追加した
- 2017-07-05
  WEB+DB PRESS Vol.99の「実践Kubernetes」の第4章でつまづいたメモ #wdpress
最近追記された記事
- 2017-06-02-1 (107日前)
- 2017-04-29-1 (169日前)
- 2017-04-13-1 (183日前)
- 2017-04-13-1 (185日前)
- 2017-03-02-1 (227日前)
- 2017-02-25-1 (232日前)
- 2017-02-21-1 (236日前)
- 2015-06-07-1 (242日前)
- 2016-10-19-1 (251日前)
- 2016-01-01-1 (263日前)
カテゴリ
- Anthy (3)
- Apache (11)
- Apple (1)
- ATOK (4)
- au (3)
- AWS (19)
- Bazaar (1)
- Berkshelf (2)
- BigQuery (1)
- BitBar (3)
- Book (88)
- Boxen (2)
- Bugsnag (1)
- capistrano (4)
- chalow (56)
- ChatWork (1)
- Chef (17)
- Chrome (3)
- Chromecast (1)
- CircleCI (10)
- clang (26)
- Comics (2)
- Cooking (10)
- cvs (15)
- cygwin (12)
- D3.js (1)
- Debian (55)
- Docker (3)
- E-mail (8)
- elasticsearch (4)
- Emacs (220)
- Emacs講座 (10)
- English (4)
- feedforce (7)
- fetchmail (3)
- Firefox (20)
- Fluentd (4)
- ftp (1)
- Game (20)
- GCP (1)
- Gem (5)
- Git (9)
- GitHub (17)
- golang (6)
- Google (1)
- gpg (4)
- GrowthForecast (7)
- Health (3)
- Heroku (9)
- Homebrew (10)
- HTML (6)
- iBook (1)
- iPhone (15)
- IRC (1)
- Jenkins (8)
- JS (1)
- Karabiner (1)
- KeySnail (3)
- Kibana (1)
- Kindle (1)
- Kubernetes (2)
- Langrich (7)
- LDAP (6)
- Life (19)
- Linux (6)
- Mackerel (1)
- Mew (18)
- MongoDB (1)
- Mozilla (19)
- Music (1)
- MySQL (1)
- NAS (4)
- nginx (6)
- NHK (1)
- Node (1)
- ntp (4)
- OOP (1)
- OpenID (2)
- openssl (1)
- Opera (2)
- OSX (41)
- Perl (14)
- PHP (19)
- PostgreSQL (1)
- procmail (4)
- Programing (3)
- Puppet (1)
- Python (2)
- Rails (12)
- Rake (2)
- RaspberryPi (1)
- RedHat (29)
- Redmine (3)
- Rspec (1)
- Ruby (50)
- samba (3)
- screen (7)
- sed (5)
- serverspec (6)
- sh (8)
- Slack (2)
- Solaris9 (22)
- Spring (2)
- ssh (4)
- StatusNet (21)
- svn (12)
- Swift (1)
- Tablet (1)
- tdiary (3)
- Twitter (14)
- Twmode (6)
- Ubuntu (5)
- UNIX (102)
- vagrant (8)
- Video (21)
- vim (1)
- Wercker (9)
- Windows (29)
- Wine (3)
- XML (11)
- XP (1)
- zsh (25)
- インストールメモ (33)
- クイックシェイプ (12)
- ネタ (15)
- 勉強会 (15)
- 携帯 (6)
- 正規表現 (4)
過去ログ
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
Google+