Hatena::ブログ(Diary)

kabus’ blog このページをアンテナに追加 RSSフィード

2009-10-06

Compact the Tab Bar for Vimperator

| 15:25 | Compact the Tab Bar for Vimperatorを含むブックマーク Compact the Tab Bar for Vimperatorのブックマークコメント

よく訓練されたvimperator使いのみなさんはタブバーを非表示

set showtabline=0

しているかもしれませんが,「タブバーは表示しておきたいけど,余白とかをもう少しコンパクトにして欲しい」,という自分の要求を満たすための設定を書いてみました.タブをもう少し詰めて表示して,右上の方にあるボタンとタブ移動のボタンを非表示にします.

テーマを使えって? No, Thank you!

before

f:id:kabus:20091006150527p:image

after

f:id:kabus:20091006150528p:image

.vimperatorrcのstyle設定

" compact tab bar
style chrome://browser/content/browser.xul .tabbrowser-tabs { height: 19px !important; }
style chrome://browser/content/browser.xul .tabbrowser-tab { border-left-width: 1px !important; border-right-width: 1px !important; border-bottom-width: 0px !important; padding-left: 1px !important; padding-right: 1px !important; }
style chrome://browser/content/browser.xul .tab-icon-image { margin-top: 1px !important; }
style chrome://browser/content/browser.xul .tab-text { margin-top: 1px !important; margin-left: 1px !important; margin-right: 0px !important; }

" disable newtab button
style chrome://browser/content/browser.xul .tabs-newtab-button { display: none; }

" disable alltabs button
style chrome://browser/content/browser.xul .tabs-alltabs-box-animate, .tabs-alltabs-button { display: none; }

" disable tab scrollbuttons
style chrome://browser/content/browser.xul .scrollbutton-up, .scrollbutton-down { display: none; }

昨夜の非建設的な作業の結果がこれだよ.割とどうでもいいし,みんな個別にやってそうなネタですが,現在のテンションゆえに晒しときます

ちなみにFirefox 3.5.3とVimeprator 2.1で確認しております


11/29 追記

Mac OSX以外だとデザインが崩れたりするみたいですね.そりゃ直接サイズ指定したら整合性取れませんよね…

retletさんのコメントを参考にして自分もタブバーを縦向きに配置するようになりました

トラックバック - http://d.hatena.ne.jp/kabus/20091006

2009-04-30 twittering-mode で他のユーザのタイムラインを表示

twittering-mode で他のユーザのタイムラインを表示

| 06:17 | twittering-mode で他のユーザのタイムラインを表示を含むブックマーク twittering-mode で他のユーザのタイムラインを表示のブックマークコメント

つい先日からまともに twittering-mode をいじって使い出したのですが twittering-mode で他のユーザのタイムラインを表示するような機能が無さそうだったのでちょっと書いてみました

何故このような機能が無いのか個人的にはちょっと不思議でした*1

使い方は,以下のコードを.emacsなどに追加しておいて twittering-mode でユーザ名のとこにカーソルを移動して C-c C-o です

(defadvice twittering-http-get (before enable-other-timeline activate)
  (when (string-match "other_timeline_\\([a-zA-Z0-9_]+\\)" (ad-get-arg 1))
    (progn
      (ad-set-arg 2 (cons `("screen_name" . ,(match-string 1 (ad-get-arg 1))) (ad-get-arg 2)))
      (ad-set-arg 1 "user_timeline"))))

(defun twittering-other-timeline ()
  (interactive)
  (let ((username (get-text-property (point) 'username)))
    (if username
        (twittering-get-timeline (concat "other_timeline_" username)))))

(define-key twittering-mode-map "\C-c\C-o" 'twittering-other-timeline)

*1Twitterでは普通こんな使い方しない,とか,以前はこんなAPI無かった,とか?

トラックバック - http://d.hatena.ne.jp/kabus/20090430

2008-12-02 Railsのchmたくさん

Railsのchmたくさん

| 03:57 | Railsのchmたくさんを含むブックマーク Railsのchmたくさんのブックマークコメント

Rails 1.1.1 から Rails 2.2.2 までのchm(HTML Help)を作りました

(2009/10/2追記) 置く場所変えました

rails-*.*.*.chm ってやつです

ちなみに

っていうのも作っていて,こっちのほうが多分便利なchmです

これはRailsにおいて,privateもしくはnodoc指定されてrdocに表われていなかったメソッドも無理矢理載せてしまったリファレンスです

ソース見なきゃどうしようもないことがよくあるので便利です.EmacsRailsのソースをfind-tagすることが減りました

(2009/10/2追記) 置く場所変えました

ちなみにこれからも上のURLんとこに置いておくようにしますんで,もういちいち報告しません,たぶん ;-)

Dropboxを利用してみました.自動でファイルリスティングしてくれないのがちと面倒.

goto30goto30 2009/04/04 12:11 ほんと、感謝です!

tobytoby 2009/05/01 07:31 こんにちは!ありがとうございます。便利に使わせていただいています。
chm形式にするとどんな場所でも安心してヘルプ引けてよいですね。

少し気になったのですが、起動時に10秒近くかかってしまう(CPUワンコア占有率100%のまま><)のですが、対処することってできるものなのでしょうか?

他のページの表示は大丈夫で、目次からindexを再度表示すると同じくらい固まってしまうので最初に表示されるindexが重いのだと思います。

確認したのは、rails-2.3.2.1-verbose.chmとrails-2.3.2.1.chmです。(verboseの方が少し重い)

一度、デコンパイルしてindex書き換えて再度コンパイルしたら直るものなんでしょうか。

tobytoby 2009/05/01 10:09 KeyToolsでデコンパイルして、Default topicをfiles/README.htmlにして、目次からindexを削除して、再コンパイルしたところサクッと起動するようになりました。

index.html(というかフレーム内に表示されるfr_*_index.html郡)が遅くなる原因のようでした。

kabuskabus 2009/06/05 12:38 反応が遅くてすいません

なるほど
今は試せないんですが、今度作るときに対処を考えてみます

tobytoby 2009/09/19 07:58 こんにちは、chmファイル、便利につかわせてもらっています。
Rails初心者の方に紹介したかったのですが、リンク切れになっております。
今は配布されていないのでしょうか?(; ´д`)

kabuskabus 2009/10/02 21:05 またまた反応遅くて申し訳ないです.
気付いてくださるかわかりませんが,とりあえず別の場所に置いておきました.

最近はあまりWindows使っていないのでchmを使うのが少し不便です.
MacOSXならChemrが描画の互換性良かったんですが不安定なのが悲しい.
chm以外のリファレンスツールを考えたいところです.

トラックバック - http://d.hatena.ne.jp/kabus/20081202

2008-11-03 gemのrdocからchmを生成する方法

gemのrdocからchmを生成する方法

| 01:21 | gemのrdocからchmを生成する方法を含むブックマーク gemのrdocからchmを生成する方法のブックマークコメント

rubygemsとrdocのソースを見てごにょごにょしてたらできました

こんな感じのchmが作れます rspec-1.1.11.chm

ただしWindowsrubyrubygemsが動くことが必須です.自分はno titleの1.9.1 previewを使わせてもらってます.artonさんに感謝

やり方

1. HTML Help Workshopインストールする

chmを作るときに必要です(Wineとか使ってこれを動かせればWindows以外でも生成できるかも)

2. RDocに拙作パッチを当ててしまう

RDoc 2.2.1用の修正パッチです.このパッチをあてないと,リンク切れだらけのchmになったりします

インストールされてるRDocのバージョンが違うときとかは,gem使って2.2.1のRDocをインストールしてください

diff -ur rdoc-2.2.1.orig/lib/rdoc/generator/chm/chm.rb rdoc-2.2.1/lib/rdoc/generator/chm/chm.rb
--- rdoc-2.2.1.orig/lib/rdoc/generator/chm/chm.rb       2008-11-03 22:59:29.000000000 +0900
+++ rdoc-2.2.1/lib/rdoc/generator/chm/chm.rb    2008-11-03 22:58:52.000000000 +0900
@@ -19,8 +19,8 @@
   FR_INDEX_BODY = HTML::FR_INDEX_BODY

   # This is a nasty little hack, but hhc doesn't support the <?xml tag, so...
-  BODY = HTML::BODY.sub!(/<\?xml.*\?>/, '')
-  SRC_PAGE = HTML::SRC_PAGE.sub!(/<\?xml.*\?>/, '')
+  BODY = HTML::BODY.sub(/<\?xml.*\?>/, '')
+  SRC_PAGE = HTML::SRC_PAGE.sub(/<\?xml.*\?>/, '')

   HPP_FILE = <<-EOF
 [OPTIONS]
diff -ur rdoc-2.2.1.orig/lib/rdoc/generator/chm.rb rdoc-2.2.1/lib/rdoc/generator/chm.rb
--- rdoc-2.2.1.orig/lib/rdoc/generator/chm.rb   2008-11-03 22:59:29.000000000 +0900
+++ rdoc-2.2.1/lib/rdoc/generator/chm.rb        2008-11-03 22:58:52.000000000 +0900
@@ -77,6 +77,8 @@
     index    = []

     (@files+@classes).sort.each do |entry|
+      next unless File.exists?(entry.path)
+
       content_entry = { "c_name" => entry.name, "ref" => entry.path }
       index << { "name" => entry.name, "aref" => entry.path }

diff -ur rdoc-2.2.1.orig/lib/rdoc/generator.rb rdoc-2.2.1/lib/rdoc/generator.rb
--- rdoc-2.2.1.orig/lib/rdoc/generator.rb       2008-11-03 22:59:29.000000000 +0900
+++ rdoc-2.2.1/lib/rdoc/generator.rb    2008-11-03 22:58:52.000000000 +0900
@@ -215,7 +215,7 @@
       @methods.sort.map do |meth|
         {
           "name" => CGI.escapeHTML(meth.name),
-          "aref" => "##{meth.aref}"
+          "aref" => "#{path_prefix}##{meth.aref}"
         }
       end
     end

こんなモンキーパッチでも本家に報告したほうがいいのかな…

RDocのテストの仕方すらよくわからないし躊躇してしまう

3. 生成するための拙作スクリプト(gem_chm.rb)をダウンロードする

gem で RDoc が生成されないやつを強制的に生成する (ちゃんと gem のディレクトリに) - 冬通りに消え行く制服ガールは?夢物語にリアルを求めない。 - subtechを参考にさせてもらいました.ありがとうございます

4. chmを生成する
ruby gem_chm.rb rspec

カレントディレクトリに出力されます.gem_chm_tmpも作られますが,これは単なる作業用ディレクトリです

5. 番外

パッチとかスクリプトとかでおかしなところとかがあったらどんどん教えてくれー

トラックバック - http://d.hatena.ne.jp/kabus/20081103

2008-10-31 Rails 2.2.0 2.1.2 2.0.5 のHTMLHelp(chm) 作った

Rails 2.2.0 2.1.2 2.0.5 のHTMLHelp(chm) 作った

| 09:36 | Rails 2.2.0 2.1.2 2.0.5 のHTMLHelp(chm) 作ったを含むブックマーク Rails 2.2.0 2.1.2 2.0.5 のHTMLHelp(chm) 作ったのブックマークコメント

もはや恒例

内輪ネタ書いてもしゃあないと思ってたら,いつの間にかアナウンスのためのブログのようになってきてしまったけど,これを待ってる人っているんだろうか

ところでnodocを無視して生成とかもしてみたけどさすがに需要ないかな…,ソース読むときはctags使うし自分でも使うかわからないぐらいだけど…

それよりRails以外のrdocドキュメントもchm化したほうがうれしいだろうなあ,そのうちやる

chmから離れられなくなって久しいのだれど,もっといいリファレンスビューアみたいなのがないかな,と常々思う.MacならChmerとかあったけど,最近これの話題聞かないんだよなあ,使われてるのかな?そもそもリファレンスなんて初心者しか見みません,っていう話だったりするのだろうか

更に関係ない話だけどUbuntuアップグレードしてたら,language-pack-ja-baseの設定のところで固まった\(^o^)/

トラックバック - http://d.hatena.ne.jp/kabus/20081031