ぼちぼち散歩

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--/-- --:-- | スポンサー広告 | トラックバック(-) | コメント(-)

ページの先頭へ

livedoor Readerでスクロールをスムーズにする続き

ぼちぼち散歩 livedoor ReaderまたはFastladderでスクロールをスムーズにするGreasemonkeyの続き.

livedoor Reader内の関数を置き換える方法から,__defineSetter__,__defineGetter__,__lookupSetter__,__lookupGetter__でHTML要素のscrollTopプロパティを直接書き換えるさらに邪悪な(?)方法にしてみた.はじめ,__defineSetter__したプロパティに対して+=とか-=とかが使えないのかと思ったら,ちゃんとGetterの方も定義したら大丈夫になった.

livedoor ReaderまたはFastladderでスクロールをスムーズにするGreasemonkey

livedoor Readerでいかに早くフィードを読むかについてはたまに考えていて,ぼちぼち散歩 livedoor Readerでフィードを読むのがちょっとだけ早くなるかも知れないUser CSSとかしてみたけど, 結局使うのをやめてしまった.で,ふとiPhoneのLDR touchでフィードを読んでいるとなんとなく読みやすくて,これはスクロールが滑らかだからじゃないか?ということでやってみた.

「次のアイテム」(j, enter),「前のアイテム」(k, shift+enter), 「下にスクロール」(space, pagedown),「上にスクロール」(shift+space, pageup)が全てスムーズになります.また,設定画面から有効,無効などを設定できます.自動のときは高さが閾値より大きいときのみスムーズにスクロールします.このへんはlivedoor Readerのソースにそうしようとした形跡があったのでアイデアをパクらせてもらいました.設定画面はそれぞれ以下のような感じです(クリックで拡大します).

livedoor ReaderFastladder

さらにFastladder まわり ( miscs 改良 ) - KBDAHOLIC - やぬすさんとこのアイデアをパクらせてもらって,tで一番上へ,bで一番下へスクロールも実装しました.あとS(shift+s)でなし→常に→自動→なし→…とトグルすることができます.

スクロールの実装が適当過ぎて,なんか酔いそうになることもあるけどまぁまぁいい感じのような気がするのでしばらく試してみようと思います.スムーズにイージングとかつけたらもう少しそれっぽくなるのかなぁ.

2009/01/10 00:24 | Firefox | トラックバック(0) | コメント(0)

ページの先頭へ

Tree Style TabとMultiple Tab HandlerをVimperatorから使うプラグイン

FirefoxアドオンのTree Style TabMultiple Tab Handlerが大好きなので,Vimperatorからというかキーボードから操作できるプラグインを書いてみた.

デフォルトのキーマッピングを上書きするなどおれおれ仕様なので注意.multipleTabHandler.jsでは,<Leader>mで選択,非選択をトグルでき,選択されたタブがあるときとないときでdとrの動作を変えている.treeStyleTab.jsの方もズームのマッピングを一部潰している.

とりあえずオプションでデフォルトのキーマッピングを上書きするかどうかを選べるようにするべきか.あと,mutipleTabHandler.jsの方はcopy.jsとかと連携できたりするとよさそうやなぁ.

ちなみに,Tree Style Tabについてはぼちぼち散歩 ここ数日のVimperatorのバグを直すつもりのパッチに書いたようにVimperatorのタブへのbindingを消さないとえらいことになる

2009/01/04 22:46 | Firefox | トラックバック(0) | コメント(0)

ページの先頭へ

git HEADのVimperatorでsuggestengineが動かなくなっていたので直してみた

引数名と関数の中でletしてる変数名が一緒だったので,うまく検索エンジンの名前が渡せてなかったようだ.

diff --git a/vimperator/content/bookmarks.js b/vimperator/content/bookmarks.js
index afb276e..2d1e579 100644
--- a/vimperator/content/bookmarks.js
+++ b/vimperator/content/bookmarks.js
@@ -562,12 +562,12 @@ function Bookmarks() //{{{
             return searchEngines;
         },
 
-        getSuggestions: function getSuggestions(engine, query, callback)
+        getSuggestions: function getSuggestions(engineName, query, callback)
         {
             let ss = Cc["@mozilla.org/browser/search-service;1"].getService(Ci.nsIBrowserSearchService);
             const responseType = "application/x-suggestions+json";
 
-            let engine = ss.getEngineByAlias(engine);
+            let engine = ss.getEngineByAlias(engineName);
             if (engine && engine.supportsResponseType(responseType))
                 var queryURI = engine.getSubmission(query, responseType).uri.spec;
             if (!queryURI)

2008/12/21 04:38 | Firefox | トラックバック(0) | コメント(2)

ページの先頭へ

ここ数日のVimperatorのバグを直すつもりのパッチ

とりあえずこれで良さそう?

diff --git a/content/options.js b/content/options.js
index be173f5..4777c42 100644
--- a/content/options.js
+++ b/content/options.js
@@ -947,7 +947,7 @@ function Options() //{{{
             let context = CompletionContext("");
             let res = this.completer(context);
             if (!res)
-                res = context.allItems.map(function (item) [item.text]);
+                res = context.allItems.items.map(function (item) [item.text]);
             return Array.concat(values).every(
                 function (value) res.some(function (item) item[0] == value));
         },

あと,タブにOverlayされるとTreeStyleTabがぶっ壊れるので回避してみる.TODO見る限りは,将来的にはset guioptionsでどうにかできるようになる模様.

diff --git a/content/tabs.js b/content/tabs.js
index 25f4c94..3f86a7e 100644
--- a/content/tabs.js
+++ b/content/tabs.js
@@ -220,8 +220,8 @@ function Tabs() //{{{
                 validator: options.validateCompleter
             });
         // TODO: Add option, or only apply when go~=[nN]
-        styles.addSheet("tab-binding", "chrome://*",
-            ".tabbrowser-tab { -moz-binding: url(chrome://liberator/content/vimperator/bindings.xml#tab) !important; }", true);
+        // styles.addSheet("tab-binding", "chrome://*",
+            // ".tabbrowser-tab { -moz-binding: url(chrome://liberator/content/vimperator/bindings.xml#tab) !important; }", true);
 
     }

2008/11/29 22:24 | Firefox | トラックバック(0) | コメント(0)

ページの先頭へ

前のページへ << トップページへ >> 次のページへ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。