2020年1月28日火曜日

vivaldiをツリー型タブに

グッバイkinza、ハローvivaldi


覚えらんない人の記事でkikiというブラウザを知って以来、タブはずっとツリー型を使っている。
kikiから、FireFox系統+ツリー型タブを経て、最近まではずっとkinzaをデフォルト機能でツリー型タブにして使っていたが、画像表示、動画表示でよく失敗するという不満があった。twitterで画像を開くのに一々時間がかかるし、動画再生になると半分以上の確率で失敗する。
最近、vivaldiでツリー型タブを使えることがわかったので、そちらへ乗り換えることにする。今回はその記録。

tree tabsのインストール


まず、vivaldi用のtree tabsをダウンロードする。僕のときは「Tree Tabs 1.9.2 Vivaldi.zip」だった。これを適当な場所に展開する。

展開した中にあるglobal.jsを編集し、2行目を

let browserId = 'V';

に変える。Vivaldi 2.10+だと必要らしい(Tree Tabs | Vivaldi Forum)。

メニューからツール→拡張機能を選択し、拡張機能のページを開く。そこで、デベロッパーモードをONに。「パッケージ化されていない拡張機能を読み込む」から、先に展開したフォルダを選択する。



これで、拡張機能のページに、Tree Tabsが追加される。詳細をクリックし、「拡張機能のオプション」を選択する。




Vivaldiの欄にあるURLをコピーする。この時、Vivaldiのバージョンが2.10+だと、global.jsを編集しないとこの欄が表示されなくなるようだ。


他にも色々設定項目があるので、必要なら設定しよう。僕は、マウスホイールでタブを変更するように設定している。



次に、VivaldiのWebパネルに追加する。Webパネルの「+」ボタンを押すと入力欄が表示される(下の画像の赤矢印)ので、そこに先のURLをペーストする。すると、Webパネルに新しくTree Tabsが追加される(下の画像のオレンジ矢印)。これを選択するとツリー型タブが表示される。



その他インストールした拡張


vivaldiはChrome拡張をそのまま利用できるらしいので、今まで使っていて必要なものをインストールした。

  • Keepa - Amazon Price Tracker
  • Google Chromeのスーパードラッグ
  • Checker Plus for Gmail
  • GoodTwitter
  • uBlock Origin
  • Simple URL Copy
  • Page Monitor
  • Picture-in-Picture Extension
  • Libron

参考



2019年12月23日月曜日

PPxでオフライン英和辞書(一行編集)

昨日の今日であれなのだが、英和辞書を引くもっと簡単な方法があった。

準備


無料 英和辞書データ ダウンロード - ブラウザで使えるWeb便利ツール 

から辞書データ(テキスト形式)をダウンロードし、ejdic-hand-utf8.txtを適当な場所(ここではPPXフォルダ)に置いて、 以下のコマンドを実行する。

*string o,name=%*input("" -title:"英和辞書" -mode:e -k:"*completelist /set /file:%%0ejdic-hand-utf8.txt")


一行編集からインクリメンタルサーチで辞書を検索できる。



実行


僕はユーザコマンドに登録し、Ctrl+Shift+Fのホットキーで呼び出せるようにしている。

_Command = { ; ユーザコマンド・関数
eiwa = *string o,name=%*input("" -title:"英和辞書" -mode:e -k:"*completelist /set /file:%%0ejdic-hand-utf8.txt")
}
K_tray = { ; PPtrayホットキー(キー指定 不可,V_xx 形式を推奨)
^\F ,*focus !#%*findwindowtitle("英和辞書"),%0PPTRAYW.EXE -c *eiwa
}

翻訳の無い洋ゲーをやる時に使ったり




英語の字幕の意味を調べたりといろいろ便利。



他の調べ物でも、テキストファイル形式の辞書さえあれば応用できそうですね。

2019年12月22日日曜日

PPxでオフライン英和辞書(ripgrep)

英語の意味を調べる際、ブラウザなしで済ませる方法を考える。今回は

  • テキストファイル形式の辞書
  • ripgrep

の組み合わせ。
オンラインならば、Translate-shellをwslで使うのがいいかも。

準備


無料 英和辞書データ ダウンロード - ブラウザで使えるWeb便利ツール 

から辞書データ(テキスト形式)をダウンロードし、ejdic-hand-utf8.txtをPPXフォルダに入れる。

Releases · BurntSushi/ripgrep · GitHub

からバイナリをダウンロードし、rg.exeをPPXフォルダに入れる。

コマンド



%0rg.exe -N ^%"テキストを入力"%E %0ejdic-hand-utf8.txt

単語がたくさんひっかかりすぎる!という場合は、正規表現も使えるので

^%"テキストを入力"%E\s

とテキストの後ろに空白をいれる等、何かしらの工夫をするといいと思う。

参考


2019年12月21日土曜日

一行編集でメモ(Script)


前回の方法だと、与える文字列によってはエラーになるようだ。
なのでスクリプトを用いて同じことをする。



memo.js


//!*script

// 引数の文字列をPPXフォルダのmemo.txtに書き込むスクリプト
// 一行編集からの利用を想定
// 引数がなければエディタで開く

var fso = PPx.CreateObject("Scripting.FileSystemObject");

var filepath = fso.BuildPath(PPx.Extract('%0'),"memo.txt");
var str="\r\n["+PPx.Extract('%*now')+"] ";

// 引数がなければファイルをエディタで開く
if (PPx.Arguments.Length < 1){
  PPx.Execute("editor "+ filepath);
  PPx.Quit(-1);
}

// 引数が複数あればそれをつなげる
for (var i = 0; i < PPx.Arguments.length; i++) {
  if (i==0){
    str=str + PPx.Arguments.Item(i);
  } else {
    str=str + ","+PPx.Arguments.Item(i);
  }
}

// memo.txtに書き込み
var file = fso.OpenTextFile(filepath, 8, true);
file.Write(str);
file.Close();

エイリアスへ登録


A_exec = { ; エイリアス
memo = *script %0\Script\memo.js,
}

やり方


memo

とだけ入力すると、PPxフォルダのmemo.txtをエディタで開く。

memo メモの内容

とすると、メモの内容を日時付きでmemo.txtに追記する。

2019年12月8日日曜日

一行編集で簡易メモ(コマンドプロンプト)




一行編集でメモを取れるようにする。

_Command = { ; ユーザコマンド・関数
memo = *ifmatch 0%*arg(1),0 %: %Ob editor %0memo.txt %: *stop
 %Ob echo [%*now] %*arg(1)>> %0memo.txt
}

*memo

とした場合、memo.txtをエディタで開く。

*memo hogehoge

とすると、日時と一緒にhogehogeをmemo.txtに書き込む。

2019年12月1日日曜日

一行編集で指定ウィンドウをアクティブに

%*inputで読み込ませるファイルに、以下を追加する。

*focus "-xyzzy-",D:\bin\xyzzy\xyzzycli.exe
*focus "PPC[",*ppc
*focus "PPV[",*ppv
*focus " - Kinza",C:\Users\alpha\AppData\Local\Kinza\Application\kinza.exe

これで、あるソフトを使いたいとき、既に起動しているときは窓をアクティブに、起動してないときは起動するようにできる。
ちなみにxyzzyは、設定ファイルをいじってタイトルバーに-xyzzy-を含むようにしている。

つらつらと




窓の切り替えをどうするかは難しい問題だ。
窓間切り替えソフトを使うにしても、

1.窓間切り替えソフトの起動
2.インクリメンタルサーチで絞り込み

という動作が、Alt+Tabより決定的に効率的になるかは微妙だ(10年くらい前の知識で話してるので今は違うかもしれない)。
私は、

・すべての動作をランチャ起点にする
・そこに窓間切り替え操作を含める

が最適解だと思っている。そしてそれは、CuteExecのような「起動してればそのソフトをアクティブに」「起動してなければ起動」という動作になると思うのだ。
僕の場合、使うソフトなんてほぼほぼ決まっている。ファイラ、エディタ、ブラウザの3つだ。ppcを使いたいときは、何も考えずに「ppc」を2文字か3文字まで打って、Enter。xyzzyを使いたいときは、「xyzzy」の2文字か3文字まで打ってEnter。それにより、思考を中断されずに最速で次の操作に移れるはずだ。

2019年11月29日金曜日

PPxでripgrep+peco


カレントフォルダ以下をriprepで検索し、pecoで絞り込んでPPVで表示できるようにする。
howmファイルをインクリメンタルサーチできたら便利かもなと思ったのがきっかけ




利用したツール



  • ripgrep:高速な検索ツール
  • busybox:いろいろなlinuxのシェルコマンドを使える
  • peco

rg.exe busybox64.exe peco.exeをPPXフォルダに置いておく。

コマンド


*ppb -c chcp 65001 %%: %%0rg.exe -n -M 40 --max-columns-preview --color never -E Shift_JIS %%E . | %%0peco.exe | %%0busybox64.exe awk -F : -e "{printf $1 \" -k *jumpline L\" $2}" | %%0PPBW.exe -c *ppv %%%%1\%%%%*stdin(-utf8)


参考


Paper Plane xUI(PPx)に一発でソースコード検索&表示できる「peco」改を移植した - Qiita