【Firefoxアドオン】Vimperator【Vim】

このエントリーをはてなブックマークに追加
939名無しさん@お腹いっぱい。:2013/06/23(日) 18:31:54.54 ID:MCF3teA80
質問です。

今月中頃から一部のページを開くとキーバインド効かなくなります。
例えば、Googleなどは普通に利用できますが、ニコ動 http://www.nicovideo.jp/ に飛ぶとjkoなどあらゆるキーバインドが効かなくなります。
そして入力ボックスをクリックしてインサートモードにしてからEscするとキーバインドが使えるようになります。
デフォルトのfirefox, vimperatorでも同様です。
問題のページはFlashが埋め込まれている共通点があるのでFlashやフォーカスに関係した問題な気がしますが、
どこから手をつけたら良いか分からないのでアドバイスお願いします。

windows7, vimperator3.7, firefox21, Shockwave Flash 11.7.700.224です。
940名無しさん@お腹いっぱい。:2013/06/24(月) 23:17:15.60 ID:hfDcbo3G0
>>939
はい、そこがFlashというかプラグインの嫌なところで、プラグインというものはそこにフォーカスがある時、基本的に全てのイベントを奪います。
ブラウザとは完全に別バイナリが動き、かつ、制御不能というアレなシステムなのですプラグインとは。
ブラウザベンダーがプラグインを嫌うのもうなずける話ですね。

Flash側の方でうまくフォーカスを外してくれる機能が付いていれば良いのですが、あまり期待出来ません。

ということで、プラグインにフォーカスが当たっているとキーボードイベントも全て奪われてしまうため、Vimperatorからの制御はほぼムリゲーです。
たぶん。
941名無しさん@お腹いっぱい。:2013/06/24(月) 23:41:46.57 ID:+pSFbZbA0
flashにフォーカス奪われるともうどうしようもないよ
942名無しさん@お腹いっぱい。:2013/06/25(火) 13:32:25.59 ID:kU12IZRa0
それでも、ただニコニコに飛ぶだけで、jko効かなくなるってのもおかしな話だと思うけど。
うちは全然平気だよ。
飛んでオブジェクトをフォーカスして再生したりすれば、そりゃ効かないだろうけど。
「今月中頃から」とかいうからにはそういう話じゃないんでしょ?
943名無しさん@お腹いっぱい。:2013/06/25(火) 13:35:46.29 ID:bo4RUcoQ0
ahkでフラッシュのフォーカス抜けるスクリプト書いて使ってる
944名無しさん@お腹いっぱい。:2013/06/25(火) 22:09:23.39 ID:fwsffOJh0
>>943
kwsk
945名無しさん@お腹いっぱい。:2013/06/26(水) 06:13:06.51 ID:Ki7J7YyL0
>>88が書いてくれてる
手動でフラッシュフォーカス抜ける方法をスクリプトにやってもらえばいいだけだから、他にも色々書き方はあるだろうし
946名無しさん@お腹いっぱい。:2013/06/28(金) 00:19:16.92 ID:x1uLPdCq0
esc連打で抜けるpluginなかったっけ
947名無しさん@お腹いっぱい。:2013/06/28(金) 13:58:49.76 ID:U33O2a8z0
>>946
embed-esc.jsの事?

>>88のやり方だとフルフラッシュだと抜けれないし、リンク踏んじゃうんだよな
embed-esc.jsだとEMBEDの時は抜けれて便利だけど、フラッシュにフォーカスが当たってるにもかかわらずEMBEDの表示が出ない時がある。自分の環境だけかね?
そうなるとウィンドウのフォーカスを一度切り替えないと何も出来ない…
autohotkey(ウィンドウの切り替え)+embed-esc.jsで抜けてるけど、他にいい方法無いのだろうか?
948名無しさん@お腹いっぱい。:2013/06/28(金) 14:27:43.64 ID:yGr8gPE90
いまさら>>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);
も必要だな。やっと動いたわ
949名無しさん@お腹いっぱい。:2013/06/28(金) 21:40:17.05 ID:m/Vcjz9l0
>>948
とおもったらechoの時間が立つと消えるポップアップが出てこないな。こまった
950名無しさん@お腹いっぱい。:2013/06/29(土) 00:52:37.12 ID:Zq8GJsff0
>>947
リンク踏むとかフルフラッシュに対応させたいなら、アドレスバーに一回フォーカスしてからesc送るとかね
フルフラッシュってのがyoutubeとかのフルスクリーンって意味なら、その前にもesc送るとか、ウィンドウを閉じるとか
手動では抜けられてるんだからそれをやってもらえばいい
951名無しさん@お腹いっぱい。:2013/06/30(日) 13:42:03.01 ID:7/5zEICj0
突然恐れ入ります
RCファイルを再読み込みしますとj/kやページアップダウンキーによるスクロールがカクツクように
なってしまいます。再起動すれば症状は改善されます

.vimperatorrc へ書き込んでいる関連する内容
noremap <F2> :source ~/.vimperatorrc<cr>

" j/k での移動量を7倍に
noremap j 7<C-e>
noremap k 7<C-y>

プラグイン
_smooziee.js デフォルト

どこかおかしな点があれば教えていただければ幸いです
952名無しさん@お腹いっぱい。:2013/07/01(月) 06:36:22.69 ID:7UXXF4rW0
>>939ですがATOKのかなロック制御が原因でした。j/kが効かないと思っていたのは、そもそもj/kを押していなかったというオチでした。
953名無しさん@お腹いっぱい。:2013/07/03(水) 03:19:52.85 ID:cFluxosO0
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
954893:2013/07/08(月) 14:22:05.47 ID://SWzgPM0
ずっと規制されてて亀レスになったけど、
>>915 ありがとう使わせてもらう。
955名無しさん@お腹いっぱい。:2013/07/16(火) 21:55:39.70 ID:lgr72upb0
ヒントモードをアルファベットにして使っているのだが
26文字全部使うと何か効率が悪いよな
かといってホームポジションや「f」キーの周りに絞って数を減らすと
打鍵数が増える
例えばbbbとか
何とか妥協できる線はないものか
956名無しさん@お腹いっぱい。:2013/07/21(日) 16:11:23.79 ID:5TwJD3nt0
保守勢力
957名無しさん@お腹いっぱい。:2013/07/21(日) 16:30:49.96 ID:Abr8JfOK0
>>955
左手でf打ったあとは右手に任せたいから右側半分使ってる
958名無しさん@お腹いっぱい。:2013/07/26(金) 20:46:32.57 ID:eWQr0ndlP
x-hint.jsなんかでxpath指定したけど実際には動かないって時どうしてますか?
FirePathではマッチするのを確認してます。
xpathの書き方でなんか足りないんかな?
959名無しさん@お腹いっぱい。:2013/08/08(木) 23:12:49.05 ID:Cyv03KIk0
xulmigemoの導入方法サパーリわかんね
gitから最新ぽいのダウンロードしたけど、こっからどうすればいいんだ
960名無しさん@お腹いっぱい。:2013/08/08(木) 23:58:14.94 ID:1PcJwhLa0
>>959
最新のこっちに置いてくれてるよ
http://piro.sakura.ne.jp/xul/xpi/nightly/
961名無しさん@お腹いっぱい。:2013/08/10(土) 23:21:13.70 ID:tq9L/r+z0
>>960
おお、ありがとうーー
962名無しさん@お腹いっぱい。:2013/08/13(火) 23:56:24.07 ID:HTCV0aWy0
:sanitize cookies と実行すると

TypeError: aCallback is not a function

とエラーが出るけど aCallback って変数が vimperator には見当たらない。
firefox 側の何かかな…

あ、でも :sanitize macros も同じだな。
見落としかな…
963名無しさん@お腹いっぱい。:2013/08/13(火) 23:58:34.31 ID:e/ZjA/QW0
>>960の最新版xpiインストールしたけど、辞書認識しないなぁ
自動ダウンロードも失敗するし、手動でフォルダ指定でもダメだ。ホワイ
964名無しさん@お腹いっぱい。:2013/08/14(水) 06:42:16.17 ID:gl1x556m0
とあるタブにマークしておいて
そのキーを押すと別のタブからそのタブに移動、みたいな
拡張機能でもいいんだけどないかな
クイックマークではなくタブの移動で
965名無しさん@お腹いっぱい。:2013/08/14(水) 23:51:34.65 ID:gPh1EcJ10
>>963
俺はFirefox、vimperator、xulmigemo、全部最新の状態で使えてるけど?
966名無しさん@お腹いっぱい。:2013/08/15(木) 00:26:57.64 ID:g/Umgckq0
>>965
マジか
俺の環境が悪いのか・・・?
さっぱりわからん。
967名無しさん@お腹いっぱい。:2013/08/15(木) 00:38:52.76 ID:paeEmu+b0
>>964
doublicate tabなんちゃらってアドオンとクイックマークいけるんじゃない
968名無しさん@お腹いっぱい。:2013/08/16(金) 00:02:02.83 ID:zCssPtHv0
migemo先生・・・
辞書.txtもキャッシュも生成されてるのに、「辞書のインストールに失敗しました」ってなんだよ・・・
誰か同じ症状の方いませんか。原因不明で困ってます
969名無しさん@お腹いっぱい。:2013/08/16(金) 00:24:13.55 ID:Tek3rNLq0
今試したら960のxul/migemoとmigemo-find.jsで普通に入ったな。
pluginのjsがPLUGIN_INFOでエラーだすだろうからコメントアウトしたぐらい。
PLUGIN_INFOの仕様がいつから変わったのかどうなってんのかよく判らんけど
970名無しさん@お腹いっぱい。:2013/08/18(日) 05:24:59.51 ID:d1XPXoSj0
javascriptを覚えたので、スクリプトを書いてみたいのですが
Vimprator独特の文法とか命令ってありますか?
あるなら解説サイトとかあれば助かります
971名無しさん@お腹いっぱい。:2013/08/18(日) 05:38:29.86 ID:uq70rOQ20
プラグインやVimperator本体のコードを読もう
それとVimperator独自の勉強はいらないからそれよりMozilla独自のJavaScriptやXULを学ぼう
972名無しさん@お腹いっぱい。:2013/08/18(日) 08:27:34.22 ID:d1XPXoSj0
>>971
コードってVimperatorソースコードでしょうか?
javascript覚えただけなのでそこまでは・・・

コマンドの追加なんかはVimperator独自のコマンドですよね
例えば、utilというコマンドが何なのかどこで調べればいいかいまいち分からず
どうもjavascriptではないようだし、XULでしょうか

最終的にはプラグインを紐解く必要があるとは思うのですが、その前に解説サイト的なものがあればなと思った次第で
973名無しさん@お腹いっぱい。:2013/08/18(日) 09:14:46.46 ID:uq70rOQ20
やっぱきついんじゃね?
echoコマンドでutilのプロパティ調べてもコード読めなきゃ・・・
974名無しさん@お腹いっぱい。:2013/08/18(日) 19:24:38.67 ID:d1XPXoSj0
>>973
基本的に、javascript実行にプラスαの機能(ログをテキストに保存、iniの読み込み等)が追加できれば
他のウィンドウズネイティブアプリとの連携が出来るかなと思ったのですが
アドオンのコード読めるレベルじゃないとスクリプト書けないとですか・・・

まだ手を出すのは早かったみたいですね
回答ありがとうございます
975名無しさん@お腹いっぱい。:2013/08/19(月) 20:40:44.09 ID:yyIokKAk0
976名無しさん@お腹いっぱい。:2013/08/27(火) 18:16:03.46 ID:BFXGCkjP0
:set complete=Sのとき、
標準の:openってmigemoでサジェスト補完されなかったっけ?
977名無しさん@お腹いっぱい。:2013/08/27(火) 19:01:39.57 ID:FhXJR/rU0
結果を検索サーバー側から取得してるだけだからmigemoは無理じゃないの
978名無しさん@お腹いっぱい。:2013/08/27(火) 20:53:42.04 ID:BFXGCkjP0
昔はできた気がするんだけどなぁ・・・気のせいかな
ちなみに、今も昔もxulmigemoは入ってる
979名無しさん@お腹いっぱい。:2013/08/28(水) 04:14:55.68 ID:rSRwOD3+0
migemoっていうか、Googleとかの検索窓にローマ字で入れてみると、日本語でサジェストしてくれるけど
検索サイトの設定をうまくやればそれも再現できるのかも
うちじゃ出来てないけど
980名無しさん@お腹いっぱい。:2013/08/28(水) 19:27:11.53 ID:rCBEx7Hr0
言われてみればそれ出来てないなうちも
981名無しさん@お腹いっぱい。:2013/08/28(水) 20:56:30.15 ID:OGmdiglA0
入力文字でフィルターしちゃってますね。

ざっと 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;

でいいと思う。
982名無しさん@お腹いっぱい。:2013/08/28(水) 21:29:30.32 ID:g+rcKBk70
Fx3.6+vimp2.3の環境でgoogleサジェスト出るよ
983名無しさん@お腹いっぱい。:2013/08/28(水) 22:03:33.61 ID:OGmdiglA0
>>982
うまくいきますか。

でも、completion.searchEngineSuggest を 2.3の時 っぽく しても上手くいかないので、
よくわからんです。
984名無しさん@お腹いっぱい。:2013/08/28(水) 22:10:24.03 ID:g+rcKBk70
自分はあんまりプログラムとかわからないから、何がどうってわからないんだよね
だから更新するのも面倒でこの環境
しかし確かに:set cpt=Sの:tと:oでgoogleのサジェストが出るから、どこかで仕様が変わったんだろうね

確認だけど、:t sinngekiで「進撃の巨人」が候補に出るような感じであってるよね?
985名無しさん@お腹いっぱい。:2013/08/28(水) 22:22:45.54 ID:OGmdiglA0
>>984
>確認だけど、:t sinngekiで「進撃の巨人」が候補に出るような感じであってるよね?
その認識で 確認してます。

とりあえず、>981 あてると :t sinngeki で 「進撃の巨人」に出ます。
986名無しさん@お腹いっぱい。:2013/08/29(木) 00:23:30.08 ID:zChD70aa0
>>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?
987名無しさん@お腹いっぱい。:2013/08/29(木) 01:33:42.80 ID:7sOr1fHD0
>>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の必要はない