読者です 読者をやめる 読者になる 読者になる

覚えられませんっ

元「覚えらんない人のためのオンラインソフト備忘録」。遅ればせながらブログ移行してみた次第。

KIKI Ver1.0

早いものでKIKIをメインブラウザとして使用しはじめてもう1年。使い始めはただもう徹底的に軽いブラウザ、ってとこに魅力があったわけだが、いまや俺の完全なメインブラウザすなわち俺の正妻となっており、俺は未だに彼女のブラウザツリーとリアルタイムで作られる検索語ボタンに首っ丈と言える。IEエンジンなのでセキュリティ面に不安があるとはいえ、大量のページを開いてもブラウザツリーのおかげでタブよりもさくさく移動できるし、ページ内検索も単語ごとに生成されるボタンをクリックすればOKと、調べ物をするにはもってこい。俺個人はあまりやばいリンクのあるサイトに行くようなことがなく、インターネットを主にまじめ系の調べ物に使用しているので、KIKIはうってつけのブラウザなのだ。
このほどKIKIが大きなバージョンアップを果たし、4月2日現在のバージョンは1.0.2。1.0.0へのバージョンアップの際にダイレクトリクエストの仕様も変更され、待ち望んでいたメタ検索が可能になっている。また、「アドレスフィルタ」機能が追加され、指定アドレスへの接続のキャンセル、セキュリティやポップアップロックの変更、他のブラウザをはじめとする外部アプリで開く、などが可能となった。今回は俺が待ち望んでいたダイレクトリクエストの仕様変更にAutoHotKeyを絡めつつ、ずーっと暫定版だったのをちょいと本格的にカスタマイズしたKIKI.drlを晒しつつ記録していこうと思う。

KIKI.drlの書式

KiKiでは、あらかじめ登録したGoogleなどのサイトにパラメータを指定してアクセスできる機能をダイレクトリクエストと呼んでいる。検索エンジンを登録しておくための設定ファイルがKIKI.drlで、これはcsv形式のテキストファイル。まずはすっかり忘れている俺自身のために、このファイルの書き方を復習しておく。
通常の検索サイトは「表示名,アドレス(パラメータの置換文字は$0),,,FLAGS(0はエンコードなし、2がEUC、4がUTF-8)」という感じで登録すればよい。さらに最後のFLAGSでエンコードを示す数字に16を足したものを入れると、「独自コンテキストメニュー(KIKIオプション-メニューから設定することで、右クリックのみでも、Ctrlまたはマウス左ボタン+右クリックでも出せる)」に追加できる。すると文字列を選択した上で独自コンテキストメニューを出せば、選択文字列を指定のダイレクトリクエストで検索することができようになる。
Ver1.0以降で可能になったメタ検索をするには、「表示名,%meta,,,FLAGS(後述),"ダイレクトリクエストの表示名1","ダイレクトリクエストの表示名2"(以下同時検索したいダイレクトリクエスト名称を列挙)」という書式。FLAGSは通常0を指定。1にすると履歴にキーワードを追加しない。通常のダイレクトリクエストと同様、16を足すと独自コンテキストメニューに追加可能。
なお、KIKIではAlt+Rで検索エンジンリストにフォーカスを移して文字を入力すると、その文字から始まるタイトルの検索エンジンを選んでくれる。漢字であっても大丈夫。ダブりがある時にはKIKI.drlの先頭に近い方を選択する。マウスでドロップダウンするよりもだいぶ素早い操作が可能なので、表示名の先頭文字と配列にはちょっと気を遣った方がいいだろう。

KIKI.drl晒し

そんなこんなで作成した俺自身のKIKI.drlを晒してみる。個人が特定できる可能性がある部分はカットしてあるか故意に変更してある。一応まともに動くことは確認したつもりですが、例によって一切責任はとれません。

' KIKI direct request list
g Google (日本語),http://www.google.com/search?q=$0&hl=ja&lr=lang_ja&num=100,,,20
I'm Feeling Lucky,http://www.google.com/search?btnI=I%27m+Feeling+Lucky&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=$0,,,4
d Google (デスクトップ),http://127.0.0.1:4664/search&s=vYiLmnR5LlT6M9vbwOHhrqC8LdI?q=$0,,,20(個人ごとにアドレスが変わるようなので念のため適当な文字列を入れてあります。)
w GoogleAndDesktop,%meta,,,0,"g Google (日本語)","d Google (デスクトップ)"
Google (全言語),http://www.google.com/search?q=$0&hl=ja&lr=&num=100,,,4
Google (Images),http://images.google.com/images?q=$0&hl=ja,,,20
Google (News),http://news.google.com/news?q=$0&hl=ja&ned=jp&num=100,,,4
Google (Groups),http://groups.google.com/groups?q=$0&hl=ja&num=100,,,4
Google (Directory),http://www.google.com/search?q=$0&hl=ja&lr=&c2coff=1&sa=N&cat=gwd/Top&tab=gd&num=100,,,4
Google FAQ検索,http://www.google.com/search?q=$0+OR+FAQ+OR+Q%26A+OR+%E8%B3%AA%E5%95%8F%E7%AE%B1&hl=ja&lr=lang_ja&num=100,,,4
t Googleページタイトルのみ,http://www.google.com/search?q=allintitle:$0&hl=ja&lr=lang_ja&num=100,,,20
l Googleリンクのみ,http://www.google.com/search?q=allinanchor:$0&hl=ja&lr=lang_ja&num=100,,,20
外国語の定義を検索,http://www.google.com/search?q=define:$0&hl=ja&lr=lang_ja&num=100,,,4
-,,,,
YouTube,http://www.youtube.com/results?search_type=search_videos&search_query=$0,,,4
Google (Video),http://video.google.com/videosearch?q=$0,,,4
-,,,,
v Download,%meta,,,16,"Vector","窓の杜ソフト","窓の杜記事","FileMirrors","InternetArchive"
Vector,http://search.download.yahoo.co.jp/bin/v_searchf?p=$0,,,0
窓の杜ソフト,http://search.impress.co.jp/cgi-bin/forest/library/namazu.cgi?whence=0&max=20&sort=score&query=$0,,,0
窓の杜記事,http://search.impress.co.jp/cgi-bin/namazu.cgi?whence=0&idxname=forest&max=20&sort=score&query=$0,,,0
FileMirrors,http://www.filemirrors.com/search.src?type=begins&file=$0,,,0
InternetArchive,http://www.archive.org/search.php?query=$0,,,0
-,,,,
y Auction,%meta,,,0,"開催中(オークション統計)","落札品(オークション統計)","ヤフオク"
開催中(オークション統計),http://www.aucfan.com/search?o=t1&q=$0,,,0
落札品(オークション統計),http://www.aucfan.com/search?o=t1&q=$0&t=-1,,,0
ヤフオク,http://search.auctions.yahoo.co.jp/search/auc?p=$0&alocale=0jp&acc=jp,,,2
-,,,,
s Shopping,%meta,,,16,"a amazon","k 価格.com","ヨドバシカメラ","楽天市場","Yahooショッピング","オンライン書店bk1"
a amazon,http://www.amazon.co.jp/gp/search/ref=nb_ss_gw/503-3606156-8443967?__mk_ja_JP=%83J%83%5E%83J%83i&url=search-alias%3Daps&field-keywords=$0,,,0
k 価格.com,http://kakaku.com/txtsearch/txtsearch.asp?SearchWord=$0,,,0
ヨドバシカメラ,http://www.yodobashi.com/enjoy/search.jsp?dbname=local&whence=0&max=20&format=long&sort=score&key=$0,,,0
楽天市場,http://esearch.rakuten.co.jp/rms/sd/esearch/vc?s=3&sitem=$0,,,2
Yahooショッピング,http://shopping.yahoo.co.jp/search?p=$0&cspid=&first=1,,,2
オンライン書店bk1,http://www.bk1.co.jp/search/search.asp?kywd=$0&srch=1&Sort=za&submit.x=48&submit.y=7,,,0
-,,,,
経路検索(Yahoo! ),http://transit.yahoo.co.jp/?val_htmb=select&val_feeling=2221122&val_send=start&val_from=$1&val_to=$2&val_search=+%C3%B5++%BA%F7+,,,0
最寄り駅から経路検索,http://transit.yahoo.co.jp/?val_htmb=select&val_feeling=2221122&val_send=start&val_from=((yahoo経路探索で最寄り駅を入力してfrom=以下の文字列を代入))&val_to=$1&val_search=+%C3%B5++%BA%F7+,,,0
時刻表 (駅前探検),http://www8.ekitan.com/norikae/Time2Servlet?AN=0&ST=&SJ=0&SF=$0,,,0
-,,,,
郵便番号検索,http://www.google.com/search?q=$0+site:postcode.goo.ne.jp&hl=ja&lr=lang_ja&num=100,,,4
ヤマト伝票番号検索,http://www.google.com/search?q=%E3%83%A4%E3%83%9E%E3%83%88+$0&hl=ja&lr=lang_ja&num=100,,,4
-,,,,
2 2ちゃんねるメタ検索,%meta,,,16,"2ちゃんねるスレッド","2ちゃんねるパソコン系","2ちゃんねる趣味遊び系","2ちゃんねる情報系","2ちゃんねる雑談その他系"
2ちゃんねるスレッド,http://makimo.to/cgi-bin/search/search.cgi?shw=100&q=$0&andor=AND&sf=2&H=&all=on&view=table,,,0
2ちゃんねるパソコン系,http://2ken.net/cgi-bin/namazu.cgi?key=$0&submit=search+%21%21&whence=0&dbname=linux%2Cunix%2Chack%2Cperl%2Cesite%2Ctech%2Cjisaku%2Chp%2Cprog%2Cpc%2Cnetwork%2Cnet%2Cmac%2Cphp%2Csec%2Cpcqa%2Cisp%2Chard%2Cbsoft%2Cyahoo%2Cnifty%2Cwin%2Cgame%2Csoftware%2Cpcnews&max=20&whence=0,,,0
2ちゃんねる趣味遊び系,http://2ken.net/cgi-bin/namazu.cgi?key=$0&whence=0&dbname=fashion%2Cshop%2Cgurume%2Canime%2Cfootball%2Cmusice%2Cgeino%2Cfemale%2Csoccer%2Ctvd%2Cmusicj%2Cbase%2Ctrain%2Cmusic%2Cymag%2Ccar%2Cpachi%2Ckeiba%2Cbike%2Cdiet%2Carc%2Cleaf%2Cfamicom%2Cwres%2Ccomic&max=20&whence=0,,,0
2ちゃんねる情報系,http://2ken.net/cgi-bin/namazu.cgi?key=$0&whence=0&dbname=koumu%2Ctv%2Ckankon%2Cnewsplus%2Cventure%2Cyuusen%2Ccompany%2Cshihou%2Ckaden%2Crecruit%2Ctax%2Cyouth%2Choken%2Cjob%2Cnews%2Cshikaku%2Cdrama%2Chosp%2Cghard%2Cpart%2Cestate%2Clic%2Chaken%2Cmass%2Cstock&max=20&whence=0,,,0
2ちゃんねる雑談その他系,http://2ken.net/cgi-bin/namazu.cgi?key=$0&whence=0&dbname=qa%2Cgline%2Csake%2Cbooks%2Cmj%2Csale%2Cuwasa%2Cclub%2Cnortha%2Cutu%2Coccult%2Cainotane%2Cjan%2Cdoujin%2Cihou%2Csmap%2Ccosp%2Cascii%2Cjr%2Cgay%2Cmorningcoffee%2Cmovie%2Cmental%2Caccuse%2Cpolice&max=20&whence=0,,,0
2典プラス,http://www.media-k.co.jp/jiten/wiki.cgi?mycmd=search&mymsg=$0,,,0
-,,,,
q 質問系サイト,%meta,,,16,"Yahoo知恵袋","教えてgoo"
Yahoo知恵袋,http://search.chiebukuro.yahoo.co.jp/search/search.php?str=$0,,,2
教えてgoo,http://oshiete1.goo.ne.jp/goo_search.php3?MT=$0,,,2
-,,,,
WikiPedia,http://ja.wikipedia.org/w/wiki.phtml?search=$0,,,4
WinFAQ,http://winfaq.jp/cgi-bin/namazu.cgi?whence=0&max=50&result=normal&sort=score&idxname=common&query=$0&idxname=w9x&idxname=w2k,,,0
ASCIIデジタル用語,http://yougo.ascii24.com/gh/search/?pattern=$0,,,0
e-Words (IT用語),http://e-words.jp/?w=$0,,,0
-,,,,
goo (英和),http://dictionary.goo.ne.jp/search.php?MT=$0&kind=ej&kwassist=0&mode=0,,,2
goo (和英),http://dictionary.goo.ne.jp/search.php?MT=$0&kind=je&kwassist=0&mode=0,,,2
goo (国語),http://dictionary.goo.ne.jp/search.php?MT=$0&kind=jn&kwassist=0&mode=0,,,2
goo (WikiPedia),http://dictionary.goo.ne.jp/epedia/search.php?MT=$0&kind=epedia,,,2
' goo (辞書全て),http://dictionary.goo.ne.jp/search.php?MT=$0&kind=all&kwassist=0&mode=0,,,2
-,,,,
excite (和訳),http://www.excite.co.jp/world/text/,before=$0&wb_lp=ENJA&after=,,17
excite (英訳),http://www.excite.co.jp/world/text/,before=$0&wb_lp=JAEN&after=,,1
AutoHotkey経由での検索

AutoHotkeyからKIKIのダイレクトリクエストに文字列を渡すスクリプトも、サイト選択の際に渡す文字列をあらかじめ入れてしまえば、一発で特定のサイトあるいは複数サイトを検索できるようになる。たとえば、

;--- KIKIShopping.ahk ---

ifWinNotExist, ahk_class TKikiMain
{
 Run, C:\Bin\Browser\KIKI\kiki.exe;KIKI.exeのフルパス
 WinWaitActive, ahk_class TKikiMain, ,5
}
else
 WinActivate, ahk_class TKikiMain
ControlFocus, TComboBox1, ahk_class TKikiMain

paraLen = %0%
Loop, %paraLen%
{
 buf := %a_index%
 sword = %sword% %buf%
}
ControlSend, TComboBox1, s, ahk_class TKikiMain
;上のsが検索サイト選択の際にKIKI.drlのs Shopping,%meta,,,16,の先頭のsに合致。すなわち上記KIKI.drlの表示名の先頭にあたる文字を代入することで他の検索エンジンを選択できる。
ControlSetText, Edit2, %sword%, ahk_class TKikiMain
ControlSend, Edit2, {End}, ahk_class TKikiMain
ControlSend, Edit2, {Space}, ahk_class TKikiMain
ControlSend, Edit2, {Enter}, ahk_class TKikiMain
ControlFocus, TTreeBrowser1, ahk_class TKikiMain
ControlSend, TTreeBrowser1, {End}, ahk_class TKikiMain

パラメーターとして検索文字列を与えてこのスクリプトを実行すれば、検索文字列はKIKIのダイレクトリクエストバーに送られ、検索が始まる。もちろんボタンも生成されるのでそのままページ内検索が可能である。
また、GUIでテキストボックスを出して文字列を入力するなら(そんなことするくらいならKIKIのダイレクトリクエストバーにフォーカスを移して文字列を入力する方が面倒じゃないような気もするが)、2ちゃんねるAutohotkeyスレからいただいてきたスクリプトと合成してでっち上げた以下のスクリプトで可能であるようだ。

#NoTrayIcon
#SingleInstance
Gui, Add, Edit, vSrc X Y W210
Gui, Add, Button, Default gSrc x+6 ys-2, &Search
Gui, Show, X0 Y910, KIKIでGoogle検索
;XとYはウィンドウの出現位置の座標。そのあとの「KIKIでうんぬん」はタイトルバーの文字列
return
Src:
Gui, Submit
ifWinNotExist, ahk_class TKikiMain
{
 Run, C:\Bin\Browser\KIKI\kiki.exe;KIKI.exeのフルパス
 WinWaitActive, ahk_class TKikiMain, ,5
}
else
 WinActivate, ahk_class TKikiMain
ControlFocus, Edit2, ahk_class TKikiMain

paraLen = %0%
Loop, %paraLen%
{
 buf := %a_index%
 sword = %Src% %buf%
}

ControlSetText, Edit2, %Src%, ahk_class TKikiMain
ControlSend, TComboBox1, g, ahk_class TKikiMain
;上と同様、gがg Google (日本語),http://www.google.com/search?q=$0&hl=ja&lr=lang_ja&num=100,,,20の先頭のgに合致。

ControlSend,Edit2,{End},ahk_class TKikiMain
ControlSend, Edit2, {Space}, ahk_class TKikiMain
ControlSend, Edit2, {Enter}, ahk_class TKikiMain
ExitApp
GuiEscape:
GuiClose:
ExitApp

相変わらずよくわからないままなのでヘンなところは多々あると思いますが。

KIKIちゃんも大人になったなあ

つい先日ようやくBlueWindからSearchWebをかませてKIKIでのメタ検索を可能とする方法に行き当たり、またAutoHotkeyのおかげでSearchWebをかませなくてもメタ検索が可能となった俺の環境であるが、やはりブラウザ自身にメタ検索の機能が着くのはありがたい。なんといっても面倒じゃないっていうかややっこしくないっていうか。これでKIKIちゃんについてはさしあたって不満点はなくなった。そりゃ機能面でSleipnirあたりと比較されればきついものがあるだろうが、必要最低限の機能を快適に使用できるという点で大変バランスのよいブラウザなんじゃないかと、客観的に見てもそう思う。スレンダーだけど出るとこはちゃんと出ててバランスが取れてる。KIKIちゃんまたひとついい女になったなあなどとまたまた妄想してハアハアする馬鹿者=俺である。