overflow ノードの スクロール その2

久しぶりに MSDN で 調べものをしていたら、スクロール処理の拡張が動作していないことが発覚したので修正。(多分 2.2から) vimperator本体に干渉するものはしっかりチェックしないといけませんね… (function(){ const attr_name="vimperator_scroll_node"; …

commandlineでjQuery

メソッドチェーンとワンライナーは相性がよさげなのでつくってみた。 こんな感じに使えます。 :js jQuery.core("a:odd").css("background-color","#fef").each(function(i){jQuery.core(this).delay(1000*i).hide(1000).delay(1000).show(1000);}) jQuery に…

複数のprofile を 使う

ProfileManager を 別途起動することが面倒になったので作ってみた。 completer は 現在利用しているprofile のあるディレクトリに ある ディレクトリ 一覧が出ます。 "DefProfRt"経由でないのは、FirefoxPortable を利用しているからです。 private[fox] は…

「補完時の選択の残念な挙動」に挑戦

補完時の選択の残念な挙動に挑戦してみました。 無理っぽいです…orz高さが分からないと、表示範囲が特定できないけど、 データが生成されないと画像の高さが分からないというジレンマ… 以下、強引に表示だけできるようにしてみました。 diff -r d92292ab219c…

set が 上手く動作しない件

無限callの件がなんとかなったのでメモvimp の問題のようです。 修正箇所は --- a.js 2009-10-28 19:04:52.000000000 +0900 +++ b.js 2010-02-16 22:44:37.893849800 +0900 @@ -438,7 +438,7 @@ // Trigger any setters. let opt = options.get(option); if …

grep その6

options.add の 使い方が正しく無いようです。windowが 複数ある状態でset xxxxx を 使用すると、 setter が 無限にcallされます。(メモリを食い潰して、落ちます) とりあず、強引に修正しました。主な修正点は、 OPTION_SCOPE_BOTH を OPTION_SCOPE_GLOBAL …

COMMAND_LINEのマッピング

command-line で ワード移動とコピペが欲しかったので作ってみた。基本 bash っぽい キーバインド です。 ワード移動(逆方向) ワード移動(順方向) ワード削除(順方向) ワード削除(逆方向) キャラ移動(順方向) キャラ移動(逆方向) 貼り付け これらは、 editor…

grep その5

grep を更新しました set grep_option で デフォルト 検索オプションを指定 set grep_scroll_position で スクロール位置を変更 set hlgrep/nohlgrep で ハイライトで制御に変更 cleargrep の 廃止 local/global 両方使えるので、一時変更のような使い方もで…

options.add メモ(:set,:setglobal,:setlocal)

誤っているようです。 options.add を 使ってみたので メモoptions.add(names, description, type, defaultValue, extraInfo) names [string,...] 名称 description string 説明 type "number"|"boolean"|"string"|"charlist"|"stringlist" boolean set xxxx…

hints-caret

Firefox 3.6 で 動作しなかったので修正 以前は、大文字じゃないと hit しなかった タグネームが 今度は小文字になったようです。 diff -r fa0aeedb0f24 hints-caret.js --- a/hints-caret.js Wed Feb 03 21:47:13 2010 +0900 +++ b/hints-caret.js Thu Feb …

grep

grep 更新しました。主な更新は、input や textarea(nsIDOMNSEditableElement) の選択に対応です。 nsIDOMNSEditableElement を 効率良く検出する方法がわからなかったので、 都度全ノードをチェックしている部位があります。 なので、「use_clear_editor_ra…

CARET位置のリンクにフォーカス

選択範囲にも使えます。 Cc["@mozilla.org/focus-manager;1"] .getService(Ci.nsIFocusManager) .moveFocus(content.window, null, Ci.nsIFocusManager.MOVEFOCUS_CARET, Ci.nsIFocusManager.FLAG_NOSCROLL | Ci.nsIFocusManager.FLAG_NOSWITCHFRAME); で フ…

grep その3

grep 更新しました主に標準の検索っぽくしました。 標準の検索のように 選択を緑っぽい色に変更 use_highlight_option true で option に h を 追加 実行時に全ての結果 を マゼンダ っぽい 色で選択 typo を修正 「nN」の移動を 現状フォーカス位置から開始…

grep も訂正orz

後で直そうで直してませんでしたorz ヒット文字列前後切り出しのとき、 前部位が長すぎる場合の省略処理の文字範囲の訂正 全ソースはこちら diff -r e0acebaf01f8 -r 66b576f6fade grep.js --- a/grep.js Mon Jan 25 22:35:44 2010 +0900 +++ b/grep.js Mon …

zz(略

getSelection は、一切どこにもフォーカスが無くても nullじゃないようなので、 anchorNode と focusNode での判定を追加しました。 あと、firefox3.6にアップデートしました。 タブを60個くらい同時に開いてもあまりひっかからないようになりました。 とて…

grep

ページをgrep するコマンド です。 competerで ヒット 一覧を 見ることができます。 オプション n 標準検索 r 正規表現 検索 x migemo 検索(要 XUL/Migemo) i 大文字小文字無視 m マルチライン 例 ringo → 標準指定(vimp_grep_default_option)で検索(標準指…

zzztzbzsze

タイトル通り vim の zz、zt、zb、zs、ze っぽい動作を作ってみた。 NORMAL,VISUAL,CARET で動作します。 NORMAL だと、カーソル位置が見えないので範囲選択していないと、 どこを基準にしているか分からないです。 あと、vim で 水平のセンター移動するmap…

vimperator2.1から2.2へ

結局先にバージョンアップしました…影響を受けているのは、treestyletabのキーマップだけのようです。全コード diff -r d0e9693fc474 treeStyleTab.js --- a/treeStyleTab.js Sun Sep 20 21:31:38 2009 +0900 +++ b/treeStyleTab.js Fri Jan 22 22:58:43 201…

ちょっと柔軟なscrollIntoView

grep を 作っていて ヒットした位置にスクロールする処理で困りました。 DOMNode には、scrollIntoViewで スクロールできますが、 textnode に対してできないので、 多きなtextnodeの一部の場合 画面内含まれる保証がありません。 (あとセンタリングできない…

お久しぶりです

年末にかけて多忙だったり、 その負担が目にきて いろいろ不便していましたorz大分安定してきましたので、また 細々 更新していきたいと思います。 vimperator の バージョンが上がっているので、 バージョンアップして過去に作った分のメンテナンスをすべき…

tabpanels要素の分割

複数のboxのうち1つだけを表示してるのを、 スタイルシートで表示してあげれば、1分割くらいならできるんじゃないかな と思ってやってみた。とりあえず、何とか動くようになったけど 制限が厳しい上に弊害が多々ありそうです orz 制限 分割は縦・横いずれか1…

tabpanels要素の分割(コード)

// vim:fdm=marker (function(){ //{{{ const define const styleSheetService = Cc['@mozilla.org/content/style-sheet-service;1'] .getService(Ci.nsIStyleSheetService); const ioService = Cc['@mozilla.org/network/io-service;1'].getService(Ci.nsII…

storage の覚書き

storage は また 使いそうなので覚書き storage.newMap(key, store) ObjectStore の 新規作成 あるいは 取得 ObjectStore は storage[key] や storage.key で アクセスできる store true で ファイルに保存です。 false で 保存されないので再起動で消えちゃ…

Tree Style Tab の 一部を storage に 格納 その1

タブツリーの一部を 保存したり、復元できたら良いなと思って作ってみた。 とりあえず実装したサブコマンド open "keyword" で 開く once "keyword" で 開いて storage から 情報を削除 save "keyword" で アクティブタブ 以下を "keyword"に保存 stock "key…

Tree Style Tab の 一部を storage に 格納

// vim:fdm=marker (function(){ var useTreeStyleTab = "TreeStyleTabService" in window; if(!useTreeStyleTab) return; const key = "treeStyleTab_storage"; const map = storage.newMap(key, true); const ttsCount = liberator.globalVariables["ttsco…

コマンドラインでaddonsのアップデート その3

update の 結果を出力を追加しました。 結局、再起動せずに :so で 再読込して動作確認をしていたことが問題でした。orz コードは、こちら

コマンドラインでaddonsのアップデート その2

結果をtable作成を共通化してあと縞々にしました。 update の 件は 放置中で、plugins を 追加したました。 全コードはこちら 以下差分 diff -r 1b3bb4250281 update-addons.js --- a/update-addons.js Sat Aug 01 01:02:50 2009 +0900 +++ b/update-addons.…

コマンドラインでaddonsのアップデート

3.5になってから、:addons で 開いて更新ボタンを押してもエラーになるんで作ろうとしてみた。 (途中で、気づいたのですが、タブに開くのではなく メニュから開いたり :js BrowserOpenAddonsMgr() で開いてあげれば、問題ないようです) updateaddon list で …

vimperator で Tree Style Tab を 操作 その7

タブの移動関連を強化しました。 zJ でアクティブタブを 下に移動 を 追加( 2zJ で2つ下) zK でアクティブタブを 上に移動 を 追加( 2zK で2つ上) PUBLIC API の 確認結果を添付(タブの移動系が 非PUBLIC API まみれ) commandline.open の 第一引数に ":" を…

vimperator で Tree Style Tab を 操作 その6

about:blank の タイトルを変更してグループ管理タブをしていましたけど、 再起動するとタイトルが飛んじゃっていました… Tree Style Tab が 0.7.2009071001 で 追加されたダミータブが良さそうなので、 そちらを利用するように変更しました。 about:blankで…