Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 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 |
2009 | 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 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2009-08-02

StumpWMの日々 (2)

| 03:21 | StumpWMの日々 (2) - わだばLisperになる を含むブックマーク はてなブックマーク - StumpWMの日々 (2) - わだばLisperになる

前回の設定からあまり変化なしなのですが、適当にウェブアプリ用のユーティリティをつくったりしてみています。

といっても単にURLを含んだdefine-stumpwm-commandを書くのが面倒だったのでマクロに纏めただけです。

ウェブアプリをコマンドで呼び出す

(defmacro define-webapp-command (name args url)
  `(define-stumpwm-command ,name (,@args)
     (run-shell-command ,(format nil "/usr/bin/firefox \"~A\"" url))))

(progn ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,
  ;; 
  ;; web apps
  ;; 
  (define-webapp-command "ff" () 
    "http://friendfeed.com/")
  (define-webapp-command "chaton-cl" () 
    "http://practical-scheme.net/chaton/common-lisp-jp/")
  (define-webapp-command "chaton-gauche" ()
    "http://practical-scheme.net/chaton/gauche/")
  (define-webapp-command "twitter" ()
    "http://twitter.com/home")
  (define-webapp-command "gmail" ()
    "http://mail.google.com/mail")
  (define-webapp-command "ldr" ()
    "http://reader.livedoor.com/reader/"))

この場合、名前が文字列だったりするので、マクロにする必要はないのですが、なんとなくdefine-〜の習慣でマクロにしています。

firefoxとの連携

自分は、Firefoxのフォームの入力に任意のエディタを呼び出す、It's All Textというアドオンを利用しているのですが、

emacsが呼び出されて、入力が終った後は、再びFirefoxにフォーカスが戻ってきて欲しいので、

#!/bin/sh

stumpish emacs #emacsにフォーカス
emacsclient $*
stumpish firefox #firefoxにフォーカスを戻す

exit 0

のようなものを定義して利用していますが地味に便利です。(ちなみに、2年前くらいのエントリーに書いた内容と同じです)

stumpishというのは、stumpwmのコマンドをシェルから実行できるコマンドなのですが、これで外部と連携することができます。