【Firefoxアドオン】Vimperator【Vim】
質問です。
今月中頃から一部のページを開くとキーバインド効かなくなります。
例えば、Googleなどは普通に利用できますが、ニコ動
http://www.nicovideo.jp/ に飛ぶとjkoなどあらゆるキーバインドが効かなくなります。
そして入力ボックスをクリックしてインサートモードにしてからEscするとキーバインドが使えるようになります。
デフォルトのfirefox, vimperatorでも同様です。
問題のページはFlashが埋め込まれている共通点があるのでFlashやフォーカスに関係した問題な気がしますが、
どこから手をつけたら良いか分からないのでアドバイスお願いします。
windows7, vimperator3.7, firefox21, Shockwave Flash 11.7.700.224です。
>>939 はい、そこがFlashというかプラグインの嫌なところで、プラグインというものはそこにフォーカスがある時、基本的に全てのイベントを奪います。
ブラウザとは完全に別バイナリが動き、かつ、制御不能というアレなシステムなのですプラグインとは。
ブラウザベンダーがプラグインを嫌うのもうなずける話ですね。
Flash側の方でうまくフォーカスを外してくれる機能が付いていれば良いのですが、あまり期待出来ません。
ということで、プラグインにフォーカスが当たっているとキーボードイベントも全て奪われてしまうため、Vimperatorからの制御はほぼムリゲーです。
たぶん。
flashにフォーカス奪われるともうどうしようもないよ
それでも、ただニコニコに飛ぶだけで、jko効かなくなるってのもおかしな話だと思うけど。
うちは全然平気だよ。
飛んでオブジェクトをフォーカスして再生したりすれば、そりゃ効かないだろうけど。
「今月中頃から」とかいうからにはそういう話じゃないんでしょ?
ahkでフラッシュのフォーカス抜けるスクリプト書いて使ってる
944 :
名無しさん@お腹いっぱい。:2013/06/25(火) 22:09:23.39 ID:fwsffOJh0
>>88が書いてくれてる
手動でフラッシュフォーカス抜ける方法をスクリプトにやってもらえばいいだけだから、他にも色々書き方はあるだろうし
esc連打で抜けるpluginなかったっけ
>>946 embed-esc.jsの事?
>>88のやり方だとフルフラッシュだと抜けれないし、リンク踏んじゃうんだよな
embed-esc.jsだとEMBEDの時は抜けれて便利だけど、フラッシュにフォーカスが当たってるにもかかわらずEMBEDの表示が出ない時がある。自分の環境だけかね?
そうなるとウィンドウのフォーカスを一度切り替えないと何も出来ない…
autohotkey(ウィンドウの切り替え)+embed-esc.jsで抜けてるけど、他にいい方法無いのだろうか?
いまさら
>>808だが
PLUGIN_INFO =
↓
let PLUGIN_INFO = xml`〜`
だけじゃなくて
let elem = U.xmlToDom(<div id="liberator_maine_coon" style={style}>{message}</div>, doc);
↓
let elem = U.xmlToDom(xml`<div id="liberator_maine_coon" style={style}>{message}</div>`, doc);
も必要だな。やっと動いたわ
>>948 とおもったらechoの時間が立つと消えるポップアップが出てこないな。こまった
>>947 リンク踏むとかフルフラッシュに対応させたいなら、アドレスバーに一回フォーカスしてからesc送るとかね
フルフラッシュってのがyoutubeとかのフルスクリーンって意味なら、その前にもesc送るとか、ウィンドウを閉じるとか
手動では抜けられてるんだからそれをやってもらえばいい
突然恐れ入ります
RCファイルを再読み込みしますとj/kやページアップダウンキーによるスクロールがカクツクように
なってしまいます。再起動すれば症状は改善されます
.vimperatorrc へ書き込んでいる関連する内容
noremap <F2> :source ~/.vimperatorrc<cr>
" j/k での移動量を7倍に
noremap j 7<C-e>
noremap k 7<C-y>
プラグイン
_smooziee.js デフォルト
どこかおかしな点があれば教えていただければ幸いです
>>939ですがATOKのかなロック制御が原因でした。j/kが効かないと思っていたのは、そもそもj/kを押していなかったというオチでした。
Googleリーダーが終了したので、乗換先をdigg readerにして、
feedSomeKeys_3で特定キーを通すように設定したいのですが、通りません。
以下のように設定しましたが、どこが問題なのかお分かりになりますか?
lazy fmaps -u='https?://digg\.com/reader.*' j k J K n p <Space> <S-Space> v o O X s 1 2 ? d
954 :
893:2013/07/08(月) 14:22:05.47 ID://SWzgPM0
ずっと規制されてて亀レスになったけど、
>>915 ありがとう使わせてもらう。
ヒントモードをアルファベットにして使っているのだが
26文字全部使うと何か効率が悪いよな
かといってホームポジションや「f」キーの周りに絞って数を減らすと
打鍵数が増える
例えばbbbとか
何とか妥協できる線はないものか
956 :
名無しさん@お腹いっぱい。:2013/07/21(日) 16:11:23.79 ID:5TwJD3nt0
保守勢力
>>955 左手でf打ったあとは右手に任せたいから右側半分使ってる
x-hint.jsなんかでxpath指定したけど実際には動かないって時どうしてますか?
FirePathではマッチするのを確認してます。
xpathの書き方でなんか足りないんかな?
959 :
名無しさん@お腹いっぱい。:2013/08/08(木) 23:12:49.05 ID:Cyv03KIk0
xulmigemoの導入方法サパーリわかんね
gitから最新ぽいのダウンロードしたけど、こっからどうすればいいんだ
:sanitize cookies と実行すると
TypeError: aCallback is not a function
とエラーが出るけど aCallback って変数が vimperator には見当たらない。
firefox 側の何かかな…
あ、でも :sanitize macros も同じだな。
見落としかな…
>>960の最新版xpiインストールしたけど、辞書認識しないなぁ
自動ダウンロードも失敗するし、手動でフォルダ指定でもダメだ。ホワイ
とあるタブにマークしておいて
そのキーを押すと別のタブからそのタブに移動、みたいな
拡張機能でもいいんだけどないかな
クイックマークではなくタブの移動で
>>963 俺はFirefox、vimperator、xulmigemo、全部最新の状態で使えてるけど?
>>965 マジか
俺の環境が悪いのか・・・?
さっぱりわからん。
>>964 doublicate tabなんちゃらってアドオンとクイックマークいけるんじゃない
migemo先生・・・
辞書.txtもキャッシュも生成されてるのに、「辞書のインストールに失敗しました」ってなんだよ・・・
誰か同じ症状の方いませんか。原因不明で困ってます
今試したら960のxul/migemoとmigemo-find.jsで普通に入ったな。
pluginのjsがPLUGIN_INFOでエラーだすだろうからコメントアウトしたぐらい。
PLUGIN_INFOの仕様がいつから変わったのかどうなってんのかよく判らんけど
javascriptを覚えたので、スクリプトを書いてみたいのですが
Vimprator独特の文法とか命令ってありますか?
あるなら解説サイトとかあれば助かります
プラグインやVimperator本体のコードを読もう
それとVimperator独自の勉強はいらないからそれよりMozilla独自のJavaScriptやXULを学ぼう
>>971 コードってVimperatorソースコードでしょうか?
javascript覚えただけなのでそこまでは・・・
コマンドの追加なんかはVimperator独自のコマンドですよね
例えば、utilというコマンドが何なのかどこで調べればいいかいまいち分からず
どうもjavascriptではないようだし、XULでしょうか
最終的にはプラグインを紐解く必要があるとは思うのですが、その前に解説サイト的なものがあればなと思った次第で
やっぱきついんじゃね?
echoコマンドでutilのプロパティ調べてもコード読めなきゃ・・・
>>973 基本的に、javascript実行にプラスαの機能(ログをテキストに保存、iniの読み込み等)が追加できれば
他のウィンドウズネイティブアプリとの連携が出来るかなと思ったのですが
アドオンのコード読めるレベルじゃないとスクリプト書けないとですか・・・
まだ手を出すのは早かったみたいですね
回答ありがとうございます
:set complete=Sのとき、
標準の:openってmigemoでサジェスト補完されなかったっけ?
結果を検索サーバー側から取得してるだけだからmigemoは無理じゃないの
昔はできた気がするんだけどなぁ・・・気のせいかな
ちなみに、今も昔もxulmigemoは入ってる
migemoっていうか、Googleとかの検索窓にローマ字で入れてみると、日本語でサジェストしてくれるけど
検索サイトの設定をうまくやればそれも再現できるのかも
うちじゃ出来てないけど
言われてみればそれ出来てないなうちも
入力文字でフィルターしちゃってますね。
ざっと log を 見た感じ、過去に有効になったことはないと思う。
標準の completion.match を plugin か何かで 拡張したんじゃないかな?
副作用の確認してないけど、
diff --git a/common/content/bookmarks.js b/common/content/bookmarks.js
--- a/common/content/bookmarks.js
+++ b/common/content/bookmarks.js
@@ -757,7 +757,7 @@
ctxt.title = [engine.description + " Suggestions"];
ctxt.compare = CompletionContext.Sort.unsorted;
ctxt.incomplete = true;
- ctxt.match = function (str) str.toLowerCase().indexOf(this.filter.toLowerCase()) === 0;
+ ctxt.match = function (str) true;
bookmarks.getSuggestions(name, ctxt.filter, function (compl) {
ctxt.incomplete = false;
ctxt.completions = compl;
でいいと思う。
Fx3.6+vimp2.3の環境でgoogleサジェスト出るよ
>>982 うまくいきますか。
でも、completion.searchEngineSuggest を 2.3の時 っぽく しても上手くいかないので、
よくわからんです。
自分はあんまりプログラムとかわからないから、何がどうってわからないんだよね
だから更新するのも面倒でこの環境
しかし確かに:set cpt=Sの:tと:oでgoogleのサジェストが出るから、どこかで仕様が変わったんだろうね
確認だけど、:t sinngekiで「進撃の巨人」が候補に出るような感じであってるよね?
>>984 >確認だけど、:t sinngekiで「進撃の巨人」が候補に出るような感じであってるよね?
その認識で 確認してます。
とりあえず、>981 あてると :t sinngeki で 「進撃の巨人」に出ます。
>>981はbookmarks.jsを導入して、その内容のうち、
--- a/common/content/bookmarks.js を削除して、
代わりに +++ b/common/content/bookmarks.js を書く
- ctxt.match = function (str) str.toLowerCase().indexOf(this.filter.toLowerCase()) === 0; を削除して、
代わりに、
+ ctxt.match = function (str) true;
bookmarks.getSuggestions(name, ctxt.filter, function (compl) {
ctxt.incomplete = false;
ctxt.completions = compl;
を書く
ということでおk?
>>986 not おk
git からvimperatorのソースを引っ張ってきて
>>981のパッチを当ててからxpiをmakeする。
といっても分かんなそうなので、
vimperatorのxpiファイルをzipファイルとして展開して、
common¥content¥bookmarks.jsをテキストエディタで開いて、
ctxt.match = function (str) str.toLowerCase().indexOf(this.filter.toLowerCase()) === 0;
の行を探して、以下に書き換えて保存。
ctxt.match = function (str) true;
もう一回zip圧縮しなおしてxpiに拡張子を変えて、firefoxにドラッグアンドドロップ
上記で駄目ならもうスレ違いのレベルなので公式で取り込まれるのを待ったほうが良さげ。
988 :
名無しさん@お腹いっぱい。:
migemo と suggest をごっちゃにしている気がしないでもない
o/t でsuggestを利用するのにmigemoは全く関係がない987方式で書き換えるのがお手軽
XUL/migemoの必要はない