tag:blogger.com,1999:blog-91637153641095404762024-03-25T08:33:45.165+09:00つかさのほえほえ日記つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.comBlogger309125tag:blogger.com,1999:blog-9163715364109540476.post-20606685929460797352024-03-17T19:00:00.001+09:002024-03-17T19:00:00.149+09:00ユーザコマンドでパスによる判別実行<p>特定のファイル/フォルダをパスで判別し、特定のソフトに投げられるようにする。例えばMusicフォルダ以下のフォルダは音楽再生ソフトに投げ、Pictureフォルダ以下のフォルダは画像再生ソフトに投げる、というように。
かつては、「ポチエス」名称による関連付け専用版や、fenrirの機能を使って皆が実現してたやつですね。</p>
<h2 id="準備">準備</h2>
<p>以下を編集して取込。</p>
<pre class="prettyprint"><code>_Command = {
pathdetect = *ifmatch "/D:\\Data\\Music/",%*arg(1) %: %Ob D:\bin\AIMP5\AIMP.exe %*arg(1) %: *stop
*ifmatch "/D:\\Data\\Picture/",%*arg(1) %: %Ob D:\bin\NeeView\NeeView.exe %*arg(1) %: *stop
%Z %*arg(1)
}</code></pre>
<h2 id="やり方">やり方</h2>
<pre class="prettyprint"><code>*pathdetect %FCD</code></pre>
<p>とすれば、パスに応じて違うソフトに投げることができる。今回の例であれば、D:\Data\Music以下のフォルダはAIMP5に。D:\Data\Picture以下のフォルダはNeeViewで開くことになる。</p>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-45942202020478858002024-03-09T18:02:00.000+09:002024-03-09T18:02:48.700+09:00一行編集でfenrirっぽいディレクトリ移動<p>一行編集で、編集中のディレクトリパスの階層を、上がったり下がったりできるようにする。fenrirの挙動を参考にした。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1jo_pu2HQyc09Jyaa-xjIUZLJ8TgzKD0s6lJogkuwVFJG6hCLGBscq9YVZFrC8T1xhCUprRT12A-823p3mjreUrFUPiZnOIshoAfHYhLdQuu7WZWSj6yrUn9qEyc4bFvXHrnONfJ7Lu4HMyNcyMzoU8w01IWT0PL4t20J4hlsMcMU0h1QQ5QbFNmXMT7f/s633/fenrirppx.gif" style="display: block; padding: 1em 0px; text-align: center;"><img border="0" data-original-height="266" data-original-width="633" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1jo_pu2HQyc09Jyaa-xjIUZLJ8TgzKD0s6lJogkuwVFJG6hCLGBscq9YVZFrC8T1xhCUprRT12A-823p3mjreUrFUPiZnOIshoAfHYhLdQuu7WZWSj6yrUn9qEyc4bFvXHrnONfJ7Lu4HMyNcyMzoU8w01IWT0PL4t20J4hlsMcMU0h1QQ5QbFNmXMT7f/w400-h168/fenrirppx.gif" width="400" /></a></div>
<h2 id="準備">準備</h2>
<p>以下をScriptフォルダに保存する。</p>
<script src="https://gist.github.com/tukasa/3025a222e4ccc26fc004cff20ce5e2ea.js"></script>
<p>以下を編集して取込。</p>
<pre class="prettyprint"><code class="language-text">-|K_listmode=
K_listmode = {
ENTER ,*ifmatch -1,%*sendmessage(%N-L,392,0,0) %: %K"@DOWN @ENTER" %: *stop
%K"@ENTER"
LEFT ,*dirmode %*name(D,%*getcust(_User:dirpath))
RIGHT ,*ifmatch -1,%*sendmessage(%N-L,392,0,0) %: %K"@DOWN"
*dirmode %*name(CD,"%*edittext",%*getcust(_User:dirpath))
}
_Command = {
dirmode = *setcust _User:dirpath=%*arg(1)
*completelist -file:"%*script(%0Script\getsubdir.js,%*arg(1))" -history:e
*replace ""
jump2listpath = *setcust _User:dirpath=
*string o,name=%*input("" -title:"jump2pathlist" -mode:e -k:"*completelist -file:%%*arg(1) -match:6 %%: *mapkey use,K_listmode")
*ifmatch "o:e,a:d","%so"name"" %: *jumppath "%so"name"" %: *stop
*ifmatch !0,0%*getcust(_User:dirpath) %: *jumppath "%*getcust(_User:dirpath)\%so"name""
}</code></pre>
<h2 id="やり方">やり方</h2>
<p>ディレクトリパスを羅列した、以下のようなファイルを用意する。手動で作ってもいいし、zoxideやfenrirscanを利用して作ってもいい。</p>
<pre class="prettyprint"><code>D:\bin
D:\Data
D:\work
C:\Program Files\7-Zip
C:\Program Files\Ablaze Floorp
C:\Program Files\AMD
C:\Program Files\BraveSoftware
C:\Program Files\Calibre2
C:\Program Files\Common Files
C:\Program Files\CrystalDiskInfo
C:\Program Files\EBWin4(x64)
C:\Program Files\Epic Games
C:\Program Files\Git
C:\Program Files\Internet Explorer</code></pre>
<p>作成したファイルのパスを引数にして、*jump2listpathを実行する。</p>
<pre class="prettyprint"><code>*jump2listpath %0data\path</code></pre>
<p>すると、このファイルを補完候補リストとした一行編集が起動する。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTGeTlSjuLQegyEya2jFhR0CfP8S6vpEU80nDsbedE9peY1N6Srjgs7sYkzPe47eZQai_bTg4-bENWWkZ1afz4kdy-J7fjZ9K3uwTI1hrmyw_IFvFGyFqXPncQadNOe21mU80Q8NVEUCFHYpT11FDyGwg35NvnV_1Pc5b_4cZ-mnYxazdmvR1wXCHxVj4p/s634/DIB%20BITMAP-16.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="284" data-original-width="634" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTGeTlSjuLQegyEya2jFhR0CfP8S6vpEU80nDsbedE9peY1N6Srjgs7sYkzPe47eZQai_bTg4-bENWWkZ1afz4kdy-J7fjZ9K3uwTI1hrmyw_IFvFGyFqXPncQadNOe21mU80Q8NVEUCFHYpT11FDyGwg35NvnV_1Pc5b_4cZ-mnYxazdmvR1wXCHxVj4p/s400/DIB%20BITMAP-16.png"/></a></div>
<p>キーバインドは以下の通り。</p>
<ul>
<li>[RIGHT] サブディレクトリ表示</li>
<li>[LEFT] 階層を一つ上へ</li>
<li>[ENTER] パスをアクティブなPPcで開く</li>
</ul>
<h2 id="参考">参考</h2>
<ul>
<li><a href="https://tar80.github.io/pages-pca/ppc/@plugin/complate_path.html">PPx Customize Articles - fenrirscanを用いたパス補完</a></li>
<li><a href="https://tukasa.github.io/ppxmemo/advanced/0805soft">zoxide | PPxMemo</a></li>
</ul>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-91209769588073006792024-02-26T20:25:00.002+09:002024-02-26T20:33:21.184+09:00PPvで簡易漫画ビューア<p>PPvを二つ並べて、簡易漫画ビューアにする。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9F7KA1UodMB1HdVM2FASTcF8nQAzjx1iyYQb5SyNxnqn5w1Y3TkMLCmyPwezugXbrGBk_OECty5E0K2dbo26KSwet55_8POicuRjipCMvd3p8dUKcyj4pBWrWGpDqZKfOG8j0VX10ZG2lsdlxdb7wWcC9JQ63MAIdVSzfWPr7UjZMmpw_WPpdLYoqZgVm/s1075/DIB%20BITMAP-14.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="793" data-original-width="1075" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9F7KA1UodMB1HdVM2FASTcF8nQAzjx1iyYQb5SyNxnqn5w1Y3TkMLCmyPwezugXbrGBk_OECty5E0K2dbo26KSwet55_8POicuRjipCMvd3p8dUKcyj4pBWrWGpDqZKfOG8j0VX10ZG2lsdlxdb7wWcC9JQ63MAIdVSzfWPr7UjZMmpw_WPpdLYoqZgVm/s400/DIB%20BITMAP-14.png"/></a></div>
<h2 id="準備">準備</h2>
<p>以下をScriptフォルダに保存。</p>
<script src="https://gist.github.com/tukasa/36a65c59082eca0bc41cc0a573cc3688.js"></script>
<p>以下を編集して取込。</p>
<pre class="prettyprint"><code>K_mihirakiview = {
UP ,*execute C,*cursor 0, -2 %: *ppv -bootid:R -r %*extract(C"%(%*name(CD,"%R","%1")%)") %: %Oa *ppv -bootid:L -r %*extract(C"%(%*script(%0Script\nextentrypath.js)%)")
DOWN ,*execute C,*cursor 0, 2 %: *ppv -bootid:R -r %*extract(C"%(%*name(CD,"%R","%1")%)") %: %Oa *ppv -bootid:L -r %*extract(C"%(%*script(%0Script\nextentrypath.js)%)")
LEFT ,*execute C,*cursor 0, -1 %: *ppv -bootid:R -r %*extract(C"%(%*name(CD,"%R","%1")%)") %: %Oa *ppv -bootid:L -r %*extract(C"%(%*script(%0Script\nextentrypath.js)%)")
RIGHT ,*execute C%si"ppcid",*cursor 0, 1 %: *ppv -bootid:R -r %*extract(C"%(%*name(CD,"%R","%1")%)") %: %Oa *ppv -bootid:L -r %*extract(C"%(%*script(%0Script\nextentrypath.js)%)")
Q ,*closeppx "VL,VR"
ENTER ,*closeppx "VL,VR"
W ,*fitwindow %NVR,%NVL,1
}</code></pre>
<h2 id="やり方">やり方</h2>
<p>以下のコマンドを実行すると、PPV[R]が開く。</p>
<pre class="prettyprint"><code>*ppv -bootid:R -r %*name(CD,"%R","%1") -k *mapkey use,K_mihirakiview</code></pre>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirA_pX_jseVLN-EMDBo2v5jG1CmoGAIZZvWeAVE713AA9k6Bv5coAARdkTnPOSCzKIorEEVnlgdHyOZE05TiqHBBx6xP4i9k-1RJ5x4VbAsai5nYuIrh9tffr6P4E7DNjd-qGEBWTxKSf8OFWQPE8j-nOpB1c3hhvnckH9zZVbCm8Mc9kY2_K8FzGN5z0K/s1076/DIB%20BITMAP-15.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="794" data-original-width="1076" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirA_pX_jseVLN-EMDBo2v5jG1CmoGAIZZvWeAVE713AA9k6Bv5coAARdkTnPOSCzKIorEEVnlgdHyOZE05TiqHBBx6xP4i9k-1RJ5x4VbAsai5nYuIrh9tffr6P4E7DNjd-qGEBWTxKSf8OFWQPE8j-nOpB1c3hhvnckH9zZVbCm8Mc9kY2_K8FzGN5z0K/s400/DIB%20BITMAP-15.png"/></a></div>
<p>PPV[R]上でカーソル移動をすると、PPV[L]も起動。漫画ビューアっぽい動作をする。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo_KGTJp7Oo0zDdT_jCDt4MuF7Zx10dhBd_qx9_SUZZVpHcX0zT7cmg7XHMpVkaCR-j4NB7Vm2WpjFRimQIBJ8RP_HLOo4VlQWUYF_tAoW3MRY_kIeij-xDG17KNEOZ_osGJi_U6i2jAFYaNjLcvyMWk_8vcTzB_tXOgK1hAkt6XTPcMtmFUOIiDJ0KeUe/s1076/mangaviewr.gif" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="793" data-original-width="1076" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo_KGTJp7Oo0zDdT_jCDt4MuF7Zx10dhBd_qx9_SUZZVpHcX0zT7cmg7XHMpVkaCR-j4NB7Vm2WpjFRimQIBJ8RP_HLOo4VlQWUYF_tAoW3MRY_kIeij-xDG17KNEOZ_osGJi_U6i2jAFYaNjLcvyMWk_8vcTzB_tXOgK1hAkt6XTPcMtmFUOIiDJ0KeUe/s400/mangaviewr.gif"/></a></div>
<p>キーバインドは以下。</p>
<ul>
<li>[UP] 前のページに戻る</li>
<li>[DOWN] 次のページに進む</li>
<li>[LEFT] 1ページ戻る</li>
<li>[RIGHT] 1ページ進む</li>
<li>[W] PPV[R]の左にPPV[L]を移動、高さが同じに</li>
<li>[Q] 両方の窓を閉じる</li>
<li>[ENTER] 両方の窓を閉じる</li>
</ul>つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-50424683972533171022024-01-23T21:58:00.001+09:002024-01-23T22:04:25.442+09:00ASUS t90chiチャタリング対策<p>僕がずっと使ってるt90chiには、チャタリングを起こしやすいという欠点がある。色々な対処法を試してきたが、チャタリングを完全に抑えることはできなかった。仕方ないので、チャタリングが起きることを前提にした対策をする。</p>
<h2 id="ccchattttter">ccchattttter</h2>
<p><a href="https://www.axfc.net/u/926474">ccchattttter</a>をインストール。起動したら、「キーリピート無視」のチェックを外す。これで、チャタリングが起きても、文字がああああああああああというように連打されず、停止した状態になる。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii-kFQie6VJwKYCmxQh21YN7SIHBaVzeZSjU26fnbHTy0xpL6zWFiXKeEx1NR6JsiBAqIv3VgIkykaYekXRYBWJL54oAreJDkL4MlssFNfN10q6AxynVH2DK2gscDEX13aMfncQIwFaYvhjn5UTlLMprrYmufpTBKA8TmUfR-_M7z-ShOi24je8DxIVH56/s509/DIB%20BITMAP-4.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="97" data-original-width="509" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEii-kFQie6VJwKYCmxQh21YN7SIHBaVzeZSjU26fnbHTy0xpL6zWFiXKeEx1NR6JsiBAqIv3VgIkykaYekXRYBWJL54oAreJDkL4MlssFNfN10q6AxynVH2DK2gscDEX13aMfncQIwFaYvhjn5UTlLMprrYmufpTBKA8TmUfR-_M7z-ShOi24je8DxIVH56/s400/DIB%20BITMAP-4.png"/></a></div>
<h2 id="センターの表示">キーボードの再接続</h2>
<p>ccchattttterでチャタリングが停止したら、アクションセンターを表示し、Bluetoothの箇所をタッチ。一旦キーボードの接続を切ったあと、再びタッチして再接続する。これでチャタリングが解消される。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMi3QPiyzbyULo-jFVbCJwegqBQ9fpYx0MDNIZWPYf3o3hKoYs5e4qoNA6XWf-43DtWlZFxgbFtEAPoW_xhHNfWP1HCwyOwO5sWEo5bzXD91LQxIiO_06H3zXrxUXU5W62M_j9E2FT34KeBY73PfplDpSGR19EHa61CBjIUvg3hWqD41J8wqbeHr9iDqVg/s1280/DIB%20BITMAP.bmp" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="800" data-original-width="1280" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMi3QPiyzbyULo-jFVbCJwegqBQ9fpYx0MDNIZWPYf3o3hKoYs5e4qoNA6XWf-43DtWlZFxgbFtEAPoW_xhHNfWP1HCwyOwO5sWEo5bzXD91LQxIiO_06H3zXrxUXU5W62M_j9E2FT34KeBY73PfplDpSGR19EHa61CBjIUvg3hWqD41J8wqbeHr9iDqVg/s400/DIB%20BITMAP.bmp"/></a></div>つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-27266406497322769832023-11-24T18:27:00.000+09:002023-11-24T18:27:26.688+09:00PPv窓間移動<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhooUM2w-z9z-x5uT6ZLqF2vOzXkvJsgrwQs7T2mNlIQqsRgy-0mutMHst43_59tSX-x7KwMmiCjANDjsmtHsJAcONsdDO71HV5RnGlMHJ2Ah626hPCExhcVYGR4ldVhYg1aPuGDkEsWFXVfNjnirgJXjiQuBVNXRS4D42X0WeeCbfDSCXOmYb-fTMdiCzw/s1193/ppvtab.gif" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="751" data-original-width="1193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhooUM2w-z9z-x5uT6ZLqF2vOzXkvJsgrwQs7T2mNlIQqsRgy-0mutMHst43_59tSX-x7KwMmiCjANDjsmtHsJAcONsdDO71HV5RnGlMHJ2Ah626hPCExhcVYGR4ldVhYg1aPuGDkEsWFXVfNjnirgJXjiQuBVNXRS4D42X0WeeCbfDSCXOmYb-fTMdiCzw/s400/ppvtab.gif"/></a></div>
<p>[Tab]で起動中のPPvに順次フォーカスする。
以下をScriptフォルダにnextppv.jsという名前で保存。</p>
<script src="https://gist.github.com/tukasa/bdf83622bea31904cc9383cc4b2184c3.js"></script>
<p>以下を編集して取込。</p>
<pre><code>KV_main = { ; PPvメイン窓
TAB ,*selectppx %*script(%0Script\nextppv.js)
}</code></pre>
<h2 id="参考">参考</h2>
<p>十年くらい前に同じ機能のものを作ってたことに今気づいた(^_^;)</p>
<ul>
<li><a href="https://hoehoetukasa.blogspot.com/2014/05/ppv.html">つかさのほえほえ日記: PPv間で窓の切り替え</a></li>
<li><a href="https://hoehoetukasa.blogspot.com/">つかさのほえほえ日記: TabでPPc-PPv間切り替え</a></li>
</ul>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-39019119074509165822023-11-09T22:28:00.000+09:002023-11-09T22:28:24.817+09:00piCorePlayerのインストールと設定のメモ<p>ラズパイで音楽を再生するため、volumio、moode、muteと試してきた。
最近はpiCorePlayerを使っている。そのインストールと設定のメモ。</p>
<h2 id="インストール">インストール</h2>
<p>piCorePlayerのOSイメージを<a href="https://docs.picoreplayer.org/downloads/">Downloads | piCorePlayer documentation</a>からダウンロードし。Raspberry Pi ImagerでmicroSDカードに書き込む。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIe-puNiY-conhm9caBboG-AyylRT9cAkK2wjBb6rD1NzX2fCTE4XLTzrw_2AF2vGIUKiCgWhrmuFljfQDs4xisZNSI5q5NBTj3YO83XHbMDe6jggSWFonR0OtGhkv0083nuZy6DInZ37cQTcz3dRc7JT4fiLZ366cPwOMAjJpmHQNj4QRTHHUwHBIontG/s689/DIB%20BITMAP-7.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="457" data-original-width="689" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIe-puNiY-conhm9caBboG-AyylRT9cAkK2wjBb6rD1NzX2fCTE4XLTzrw_2AF2vGIUKiCgWhrmuFljfQDs4xisZNSI5q5NBTj3YO83XHbMDe6jggSWFonR0OtGhkv0083nuZy6DInZ37cQTcz3dRc7JT4fiLZ366cPwOMAjJpmHQNj4QRTHHUwHBIontG/s400/DIB%20BITMAP-7.png"/></a></div>
<p>書き込みが終わったら、PCP_BOOT(ドライブ名:)を開く。wpa_supplicant.conf.sampleを複製し、wpa_supplicant.confにリネーム。wifiのssidとパスワードを追加する。ダブルクォーテーションは必要なので外さないこと</p>
<pre><code>network={
ssid="Wi-FiルーターのSSID"
psk="Wi-Fiルーターへの接続暗号キー"
key_mgmt=WPA-PSK
auth_alg=OPEN
}</code></pre>
<p>microSDカードを取り出し、ラズパイに差し込んで起動する。</p>
<h2 id="picoreplayer側の設定">piCorePlayer側の設定</h2>
<p>Advanced IP Scannerやwifimanを使ってIPを調べ、ブラウザでアクセスする。</p>
<h3 id="output device指定">output device指定</h3>
<ul>
<li>Squeezelite Settingsタブへ</li>
<li>output deviceを指定してSAVE。僕の場合はAllo Boss DAC(and MiniBoss)になる。</li>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVu2QD4LRtcKK8SD0bQXBBU5fSRybOdPiTA__NA19KGRv7xF4kjWqmaT17d24AxMse0s24cgaSHXvFBqvnLlenztu-039QJWKGlrRw6MMs5Un5QzcpVSLduJS0mBTA23sIWPToZrSgtLoxG13XqgmPPx90eGC1PxncUGrKC48UNoc7vu9Q7Rr74yarglB9/s965/20231109184635.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="395" data-original-width="965" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVu2QD4LRtcKK8SD0bQXBBU5fSRybOdPiTA__NA19KGRv7xF4kjWqmaT17d24AxMse0s24cgaSHXvFBqvnLlenztu-039QJWKGlrRw6MMs5Un5QzcpVSLduJS0mBTA23sIWPToZrSgtLoxG13XqgmPPx90eGC1PxncUGrKC48UNoc7vu9Q7Rr74yarglB9/s400/20231109184635.png"/></a></div>
<li>MainpageでpiCorePlayerを再起動する。再起動後、Squeezelite is runningが緑になっていればOK</li>
</ul>
<h3 id="lmsのインストール">LMSのインストール</h3>
<ul>
<li>LMSタブへ。ページ最下段にあるbetaをクリックする</li>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4-LJcwfT0B5sa6hNjyarfCKZp2kE2-BoRX_G3sNVeP_d-H-5wUBtnxOXW_FIsRa7Z-ccoKpcehrS6CtXPIcmZEPL2J8pvRSSVYHUHfJzbmxIndpVKztoGXonsWV32UNsFkjN1Q0dnv-RdGDAQCTsdsuCeS-pXI2M_oQ8ltfH85vnS2_UwDtVsjkdp3A1y/s977/20231109185250.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="258" data-original-width="977" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4-LJcwfT0B5sa6hNjyarfCKZp2kE2-BoRX_G3sNVeP_d-H-5wUBtnxOXW_FIsRa7Z-ccoKpcehrS6CtXPIcmZEPL2J8pvRSSVYHUHfJzbmxIndpVKztoGXonsWV32UNsFkjN1Q0dnv-RdGDAQCTsdsuCeS-pXI2M_oQ8ltfH85vnS2_UwDtVsjkdp3A1y/s400/20231109185250.png"/></a></div>
<li>Install LMS on pCPを選択する。すると、「Not enough space. Press [OK] to start expanding your partition or [Cancel] to abort.」とポップアップで言われるのでOKを押す。すると、パーティションを変更できるページに飛ぶ。resizeを押すと再起動するので、しばらく待つ</li>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQRhn854ZornPN2xytt0fYsvK32M0EtH3dSCiLmWl-dMPvP3spSf4KBrVwHDqL0VFaEkxgLwjjYGl7eOHYeXiBI0wLMPnESok_XIajDELwox6gVVY11ICPPX_SLXcqxGlK2ng9LwdUbYAX5iLN_FvtNoF5ZBFjy-d1x6O7kW-qq-fWHqxFlmRb0dGoEhVM/s975/20231109185518.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="519" data-original-width="975" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQRhn854ZornPN2xytt0fYsvK32M0EtH3dSCiLmWl-dMPvP3spSf4KBrVwHDqL0VFaEkxgLwjjYGl7eOHYeXiBI0wLMPnESok_XIajDELwox6gVVY11ICPPX_SLXcqxGlK2ng9LwdUbYAX5iLN_FvtNoF5ZBFjy-d1x6O7kW-qq-fWHqxFlmRb0dGoEhVM/s400/20231109185518.png"/></a></div>
<li>もう一度Install LMS on pCPを選択。今度はインストールされる</li>
<li>MaimpageでpiCorePlayerを再起動する。再起動後、LMS is runningが緑になっていればOK</li>
</ul>
<h2 id="lmsの設定">LMSの設定</h2>
<ul>
<li>LMSタブのLMS Web PageをクリックしてLMSの設定ページへ。初期設定は基本的にスキップでいい。</li>
<li>右下のセッティングをクリックして、設定をする</li>
</ul>
<h3 id="youtubeプラグインのインストール">youtubeプラグインのインストール</h3>
<ul>
<li>設定からpluginタブを開く</li>
<li>youtubeにチェックを入れ、applyを押す。</li>
<li>restartしますか、というポップアップが出るのでYES</li>
</ul>
<h3 id="youtubeプラグインの設定">youtubeプラグインの設定</h3>
<ul>
<li>プラグインのyoutube欄の右にあるセッティングをクリック</li>
<li>youtube api access keyにAPIキーを貼り付け。APIキーの取得については<a href="https://kuripe.jp/blog-entry-234.html">YouTube音声をラズパイオーディオで再生~Squeezeliteプラグイン~ - kuriPEblog</a>を参照。</li>
<li>Country for categoriesをJPにして、Applyを押す</li>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWF6265K1fZTAi697XQUt4mr7_OnrI16hmD_w9iTb789jQThyDHq849-F3GIlxPBxBy7VesqquDdl42URHH_LxuOJIYWQEwuCCAciQ7vWFmykPP3AmekdXFLKlTuRHqjSX0pAa_PsxxJzwrHm4teJxfG60ViLXeryeg5GlUm8rMy0qp80r8OLptiWys7-C/s763/20231109191528.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="513" data-original-width="763" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWF6265K1fZTAi697XQUt4mr7_OnrI16hmD_w9iTb789jQThyDHq849-F3GIlxPBxBy7VesqquDdl42URHH_LxuOJIYWQEwuCCAciQ7vWFmykPP3AmekdXFLKlTuRHqjSX0pAa_PsxxJzwrHm4teJxfG60ViLXeryeg5GlUm8rMy0qp80r8OLptiWys7-C/s400/20231109191528.png"/></a></div>
</ul>
<h3 id="プレイヤーの設定">プレイヤーの設定</h3>
<ul>
<li>右上のドロップダウンメニューからpiCorePlayerを選択</li>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT0DEqTRL5ulqqkpCul247rCt02vesYJnhnPLgOvsqs0qQLXuEyfsMSCgphusiTLrCbgjEht2YxE-qzyswOGULD26f3j92ELhYkXb950so0evNyAkY7pnZSBg3-nQ9Qhj10O1Oux189qWvkmA6yc99arXMfuJ3VPJ4NOPVTeF8-jWH1EV6fRsj6KXLtyWi/s621/20231109192818.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="265" data-original-width="621" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT0DEqTRL5ulqqkpCul247rCt02vesYJnhnPLgOvsqs0qQLXuEyfsMSCgphusiTLrCbgjEht2YxE-qzyswOGULD26f3j92ELhYkXb950so0evNyAkY7pnZSBg3-nQ9Qhj10O1Oux189qWvkmA6yc99arXMfuJ3VPJ4NOPVTeF8-jWH1EV6fRsj6KXLtyWi/s400/20231109192818.png"/></a></div>
</ul>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-82344052405652344372023-11-08T17:51:00.000+09:002023-11-08T17:51:16.216+09:00EverythingとPPxの連携<p>以下のように動作させる。</p>
<ul>
<li>PPcの中心にEverythingを表示</li>
<li>選択ファイルをPPcで開いたあと閉じる</li>
</ul>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqLXo2u95dx8LrAkeFZnKjDUIOOZEmYChtaFOMPQhZeEpo3ujYVCoCxQ8F2b4LreW4dQfhExO8XdKcNupUVpB5iMDqZpJGJ5B_DAj7v1ZG6ykvoNGb0uSaEYsdmxzM5V4-SDMJaLPw7gQxFD8JiQf32UEsrfzLOosyMg3qb1n2YhXKVKKgL1bw6GmUSf1h/s943/everything2.gif" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="765" data-original-width="943" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqLXo2u95dx8LrAkeFZnKjDUIOOZEmYChtaFOMPQhZeEpo3ujYVCoCxQ8F2b4LreW4dQfhExO8XdKcNupUVpB5iMDqZpJGJ5B_DAj7v1ZG6ykvoNGb0uSaEYsdmxzM5V4-SDMJaLPw7gQxFD8JiQf32UEsrfzLOosyMg3qb1n2YhXKVKKgL1bw6GmUSf1h/s400/everything2.gif"/></a></div>
<h2 id="準備">準備</h2>
<p>EverythingフォルダにあるEverything.iniを同フォルダに複製し、Everything2PPx.iniにリネーム。</p>
<p>Everything2PPx.iniをエディタで開き、該当行を以下のように変更。</p>
<pre class="prettyprint"><code>open_folder_command2=$exec("D:\bin\ppx\PPCW.EXE" -r "%1")
open_file_command2=$exec("D:\bin\ppx\PPCW.EXE" -r -k $%J"%1")
close_on_execute=1</code></pre>
<p>PPxでEverythingのエイリアスを登録。</p>
<pre class="prettyprint"><code>A_exec = { ; エイリアス
everything = D:\bin\Everything\Everything.exe
}</code></pre>
<h2 id="やり方">やり方</h2>
<p>PPcから以下のコマンドを実行。</p>
<pre class="prettyprint"><code>%Oi *launch %'everything' -config Everything2PPx.ini %: *fitwindow %N,%*findwindowclass("EVERYTHING"),20 %: *focus #%*findwindowclass("EVERYTHING")</code></pre>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-34788176783981731852023-11-03T19:32:00.001+09:002024-03-06T15:50:46.786+09:00一行編集でzoxide<p>zoxideと一行編集を組み合わせ、利用頻度の高いディレクトリに素早く移動する。
<a href="https://hoehoetukasa.blogspot.com/2023/01/zoxidenyagos.html">以前</a>はコンソールを利用していたが、「<a href="https://hoehoetukasa.blogspot.com/">一行編集でコマンドを自動補完?</a>」を組み合わせれば、migemoも使えるし起動も早いしで、こっちの方が使い勝手がいいかもしれないと思った。</p>
<h2 id="準備">準備</h2>
<p><a href="https://github.com/ajeetdsouza/zoxide">zoxide</a>をインストールする。</p>
<p>以下を編集して取込。</p>
<pre class="prettyprint"><code>_Command = {
zoxidesearch = *string o,name=%*input("" -title:"zoxide [^S]でリスト更新" -mode:e -k:"*completelist /set /file:%%0zoxidelist -match:6 %%: *mapkey use,K_zoxide")
*ifmatch !0,0"%so"name"" %: *jumppath "%so"name""
}
-|K_zoxide=
K_zoxide = {
ENTER ,*ifmatch -1,%*sendmessage(%N-L,392,0,0) %: %K"@DOWN @ENTER" %: *stop
%K"@ENTER"
^S ,*linemessage リストを更新します
zoxide query -l > %0zoxidelist
}
KC_main = {
LOADEVENT ,*ifmatch "o:e,a:d",%1 %: %Obcd zoxide add "%1"
'@' ,*zoxidesearch
}
Mes0411 = {
EXEF =
}</code></pre>
<p>ディレクトリの履歴がある程度たまったら、以下のコマンドを実行し、履歴をファイルに書き出す。</p>
<pre><code>zoxide query -l > %0zoxidelist</code></pre>
<h2 id="やり方">やり方</h2>
<p>以下のコマンドを実行する。</p>
<pre><code>*zoxidesearch</code></pre>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioKxKmOnhkwqGqPcnkA3XJvzxL1jcHTacG0-Zz1VSLYGz65OezjoG4m6A0-f8Luu8LRQQkUKwKWTgds_60SRS-OxpMbTjPfiEvyn-TOpNurHfAmT4p8Vjm980MTtyulqtMrdCkYzOooILe-wH4K5Q91-QOL30MqU7OUyXwp4fNH6HVExEESmrqy2mJZvQz/s761/zoxideitigyou.gif" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="287" data-original-width="761" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioKxKmOnhkwqGqPcnkA3XJvzxL1jcHTacG0-Zz1VSLYGz65OezjoG4m6A0-f8Luu8LRQQkUKwKWTgds_60SRS-OxpMbTjPfiEvyn-TOpNurHfAmT4p8Vjm980MTtyulqtMrdCkYzOooILe-wH4K5Q91-QOL30MqU7OUyXwp4fNH6HVExEESmrqy2mJZvQz/s400/zoxideitigyou.gif"/></a></div>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-9086383930339940122023-10-17T19:00:00.022+09:002023-10-25T04:56:26.048+09:00rename時に特定の文字列を選択 or 数値を抽出<p>ファイル整理のために複数のファイルをリネームする際、「特定の文字列を別の文字列にする」「数値だけ取り出す」といった同じような操作を繰り返し行うことが多い。その作業を簡略化する。</p>
<h2 id="準備">準備</h2>
<p>以下を編集して取込。</p>
<pre class="prettyprint"><code>_Command = {
keywordrename = *rename "%R",%*input("%R" -title:"名前変更" -mode:e -select:l -k *find "%*arg(1)" -back)
intrename = *ifmatch 0,0%T %: *rename "%R",%*input("%*regexp("%R","/[^0-9]//g")" -title:"名前変更" -mode:e -select:fs) %: *stop
*rename "%R",%*input("%*regexp("%Y","/[^0-9]//g").%T" -title:"名前変更" -mode:e -select:fs)
}
K_renamemode = {
R ,*execute ,%si"renameexec"
ESC ,*mapkey delete,K_renamemode %: *linemessage RENAME MODE END
0 ,*linemessage 通常のリネーム %: *string i,renameexec=%%K"@R"
1 ,*linemessage 指定したキーワードを選択状態に %: *string i,hoge= %"範囲選択するキーワード"%E %: *string i,renameexec=*keywordrename %%si"hoge"
2 ,*linemessage 数値を抽出 %: *string i,renameexec=*intrename
}</code></pre>
<h2 id="やり方">やり方</h2>
<p>以下のコマンドを実行すると、Renameモードになる。</p>
<pre class="prettyprint"><code>*mapkey use,K_renamemode %: *string i,renameexec=%%K"@R" %: *linemessage RENAME MODE [0-2]CHANGE MODE [R]RENAME [ESC]QUIT</code></pre>
<p>キーバインドは以下の通り。</p>
<ul>
<li>[R]:リネーム</li>
<li>[0]:通常のリネーム</li>
<li>[1]:指定したキーワードを選択状態に</li>
<li>[2]:数値を抽出</li>
<li>[ESC]:Renameモード終了</li>
</ul>
<h3 id="指定したキーワードを選択状態に">指定したキーワードを選択状態に</h3>
<p>[1]を押すと表示される一行編集にキーワードを入力する。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibRzVpJl26LJ-O0MfG1DYl3cVBl03WJHxIhEl7qczHEbC7MiJwDn_zdEv3BqPRMhEZ3i8aBcUZssgoW13GkKv-VLWV1ftrRD2jLYsuoIRMUtoEyzyy812I4XVcTWSRQB9qfmqxWXGIKNokrSfiCkd11GdSFzirkGUBcfajQfT9gCJwhwQAVMqzqYO6Gw_Y/s839/DIB%20BITMAP-4.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="475" data-original-width="839" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibRzVpJl26LJ-O0MfG1DYl3cVBl03WJHxIhEl7qczHEbC7MiJwDn_zdEv3BqPRMhEZ3i8aBcUZssgoW13GkKv-VLWV1ftrRD2jLYsuoIRMUtoEyzyy812I4XVcTWSRQB9qfmqxWXGIKNokrSfiCkd11GdSFzirkGUBcfajQfT9gCJwhwQAVMqzqYO6Gw_Y/s400/DIB%20BITMAP-4.png"/></a></div>
<p>[R]でリネームをする際、入力したキーワードが選択状態になる。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiR8BSzMWp5XWpm6HRT6GQEaXKN6EuejBSDs9NX8jFkfN5nlbaYschyAevnBa_4TY4nErziF8yYUfHrw01sM37jLaom9COOakVV6xCisrHQuxBZeARjxkhJcr-jLsfUvmX4z4epDps7e0rA-buWNjz-lI-hBUt03d8SM3k6an1ZFFr3owras9p8s8i242r/s839/DIB%20BITMAP-5.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="479" data-original-width="839" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiR8BSzMWp5XWpm6HRT6GQEaXKN6EuejBSDs9NX8jFkfN5nlbaYschyAevnBa_4TY4nErziF8yYUfHrw01sM37jLaom9COOakVV6xCisrHQuxBZeARjxkhJcr-jLsfUvmX4z4epDps7e0rA-buWNjz-lI-hBUt03d8SM3k6an1ZFFr3owras9p8s8i242r/s400/DIB%20BITMAP-5.png"/></a></div>
<h3 id="数値を抽出">数値を抽出</h3>
<p>[R]でリネームする際、ファイル名から抽出した数値が入力された状態になる。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRL2uXA7zzAovwzV7nAQzWXQ_Q-fY1KFxho5GnZTCFgys-ECPKM9IvbMfC0W9S4WZlDHNvme8WAycRJy-iXNVIDNPPkdQUJehIUp2z-k_3ZIBiUzKBxlvqDiH8bMI3OyuykadUcJ1G-BYpoBuXup_Z0Aq4yfoRn_f3WPRBR2b2N72RKXQt0cFQny5B4eAT/s837/DIB%20BITMAP-6.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="475" data-original-width="837" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRL2uXA7zzAovwzV7nAQzWXQ_Q-fY1KFxho5GnZTCFgys-ECPKM9IvbMfC0W9S4WZlDHNvme8WAycRJy-iXNVIDNPPkdQUJehIUp2z-k_3ZIBiUzKBxlvqDiH8bMI3OyuykadUcJ1G-BYpoBuXup_Z0Aq4yfoRn_f3WPRBR2b2N72RKXQt0cFQny5B4eAT/s400/DIB%20BITMAP-6.png"/></a></div>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-52313040803359098892023-10-06T18:31:00.002+09:002023-10-07T06:33:04.929+09:00ripgrep-allとPPxの連携<p>ripgrep-allでヒットしたファイルをPPcで表示したり、ハイライトしたりする。</p>
<h2 id="必要なもの">必要なもの</h2>
<ul>
<li><a href="https://github.com/nyaosorg/nyagos">nyagos</a></li>
<li><a href="https://github.com/phiresky/ripgrep-all/releases/latest">ripgrep-all</a></li>
<li><a href="https://github.com/oschwartz10612/poppler-windows/pulse">Poppler</a></li>
</ul>
<p>nyagosは<a href="https://scoop.sh">scoop</a>とか<a href="https://chocolatey.org">chocolatey</a>みたいなパッケージ管理ソフトでインストールするのがおすすめ。
ripgrep-allとPopplerについては<a href="https://hoehoetukasa.blogspot.com/2023/10/ripgrep-allwindows.html">以前の記事</a>を参照。</p>
<h2 id="準備">準備</h2>
<p>以下の2つのファイルをScriptフォルダに保存。</p>
<p><em>rga.lua</em></p>
<script src="https://gist.github.com/tukasa/2dd707dc9b3faf7802368f90fcb8c4be.js"></script>
<p><em>basename.js</em></p>
<script src="https://gist.github.com/tukasa/2e912571e3a35743be4488291b05a687.js"></script>
<h2 id="やり方">やり方</h2>
<h3 id="ヒットしたファイルをppcに表示">ヒットしたファイルをPPcに表示</h3>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKWbXrgGEd8B9vsiM90NSP2sszkWvHf5JZvqpgo1aoSz6SrIev4hrGfO-ZJ4V2D5POqJ8adEyX3xnHwadKwHFk_GYIvEGe-03IXpns4DGsNmVHW0oyKMaEawS7nvJl9RwGXzrNxXa5plWn6qLT3rrzrIAVJJkO8FabjvL9DdjCeXNBEMZMcUmmeHbW-VJd/s1045/DIB%20BITMAP-3.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="532" data-original-width="1045" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKWbXrgGEd8B9vsiM90NSP2sszkWvHf5JZvqpgo1aoSz6SrIev4hrGfO-ZJ4V2D5POqJ8adEyX3xnHwadKwHFk_GYIvEGe-03IXpns4DGsNmVHW0oyKMaEawS7nvJl9RwGXzrNxXa5plWn6qLT3rrzrIAVJJkO8FabjvL9DdjCeXNBEMZMcUmmeHbW-VJd/s400/DIB%20BITMAP-3.png"/></a></div>
<p>検索したいPDFフォルダに行き、以下のコマンドを実行。</p>
<p><code>*string o,tempfile=%*temp(name,f) %: %Oi nyagos -f %0Script\rga.lua "%E" "%1" %so"tempfile" %: *jumppath %so"tempfile"::listfile</code></p>
<h3 id="ヒットしたファイルをハイライト表示">ヒットしたファイルをハイライト表示</h3>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO6sk1pATuaP2z7aYcnJkUza4pO0ZH4cb15H4eGqZyNbXUL7vKoZDw16b_SUNvQPBLH3kZHp2m0wfJm5JlmjTZyf5z51Kqtfjr8mNuPqJF87ROjYl7laj3k3Ani7jIczeDRbRq4nBmbmY4f5YuruKT4cMfu73ZpzEF29-SBcmDFprBR2QVjQ5MTzg1cHuC/s1045/DIB%20BITMAP-2.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="532" data-original-width="1045" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO6sk1pATuaP2z7aYcnJkUza4pO0ZH4cb15H4eGqZyNbXUL7vKoZDw16b_SUNvQPBLH3kZHp2m0wfJm5JlmjTZyf5z51Kqtfjr8mNuPqJF87ROjYl7laj3k3Ani7jIczeDRbRq4nBmbmY4f5YuruKT4cMfu73ZpzEF29-SBcmDFprBR2QVjQ5MTzg1cHuC/s400/DIB%20BITMAP-2.png"/></a></div>
<p>検索したいPDFフォルダに行き、以下のコマンドを実行。</p>
<p><code>*string o,tempfile=%*temp(name,f) %: %Ois nyagos -f %0Script\rga.lua "%E" "%1" %so"tempfile" %: *script %0Script\basename.js,%so"tempfile" %: *markentry -highlight:1 -list:%so"tempfile"</code></p>つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-1592224272287359092023-10-05T17:51:00.002+09:002023-10-05T17:59:57.527+09:00ripgrep-allをWindowsにインストール<p>複数のPDFからキーワード検索をするため、ripgrep-allをインストールした。
色々つまずいた上、ネット上ではあまり情報も載ってないようなのでその方法をメモ。おま環かもしれないが、公式に載ってるchocolateyを使う方法ではうまくいかなかった。</p>
<h2 id="ripgrep-all">ripgrep-all</h2>
<p><a href="https://github.com/phiresky/ripgrep-all/releases">Releases ・ phiresky/ripgrep-all</a>からripgrep_all-v1.0.0-alpha.5-x86_64-pc-windows-msvc.zipをダウンロード。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfUyHiTd9FAbO0zjMgD3l3uOnjEbB-DSKH2IoEnDeWmhf3z3CVYlIU6DDtuiMJm0AyUXhsmjfprd1AwUc3S70oyVqdHiYfARySw0zYNw6Wh3FoqPbjEaNKt0IZpDkPoscWIqxPNZ4jCPtw4e0S6xGt1O_vzwLopsx2x-jCXMSxKwmDhfGNEDqNz_rjuNf_/s905/%E3%82%AD%E3%83%A3%E3%83%97%E3%83%81%E3%83%A3.PNG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="397" data-original-width="905" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfUyHiTd9FAbO0zjMgD3l3uOnjEbB-DSKH2IoEnDeWmhf3z3CVYlIU6DDtuiMJm0AyUXhsmjfprd1AwUc3S70oyVqdHiYfARySw0zYNw6Wh3FoqPbjEaNKt0IZpDkPoscWIqxPNZ4jCPtw4e0S6xGt1O_vzwLopsx2x-jCXMSxKwmDhfGNEDqNz_rjuNf_/s400/%E3%82%AD%E3%83%A3%E3%83%97%E3%83%81%E3%83%A3.PNG"/></a></div>
<p>適当な場所に解凍し、環境変数のPATHを通す。</p>
<p>コマンドプロンプトやPowerShellで以下のコマンドを打ち込んで、パスが通っているか確認。</p>
<p><code>rga --version</code></p>
<p>以下のように表示されたらおk。</p>
<pre><code>ripgrep-all 1.0.0-alpha.5</code></pre>
<h2 id="Poppler">Poppler</h2>
<p>PDFを検索するには、Popplerに入っているpdftotextが必要になる。</p>
<p><a href="https://github.com/oschwartz10612/poppler-windows/releases">Releases · oschwartz10612/poppler-windows</a>からRelease-23.08.0-0.zipをダウンロード。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjRQoS1zqJcYWi0_NP8Ux46sYJU9QGbXnHqQNqt2Q4L-n1rsOKRL9d_rU2QQ6ttDj5XCgGEsn0T5esYV-UOw89zM_QX_ODlDZ2I6hPMI7qvNrs5V8ecV9tbxINZjyOJlhib_7Ma0uENWQ4nhx1NiXt4lxWejhWBUtgtvHhgUdgTLeMRUQ8NiYSYO6m4U0/s917/%E3%82%AD%E3%83%A3%E3%83%97%E3%83%81%E3%83%A33.PNG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="377" data-original-width="917" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqjRQoS1zqJcYWi0_NP8Ux46sYJU9QGbXnHqQNqt2Q4L-n1rsOKRL9d_rU2QQ6ttDj5XCgGEsn0T5esYV-UOw89zM_QX_ODlDZ2I6hPMI7qvNrs5V8ecV9tbxINZjyOJlhib_7Ma0uENWQ4nhx1NiXt4lxWejhWBUtgtvHhgUdgTLeMRUQ8NiYSYO6m4U0/s400/%E3%82%AD%E3%83%A3%E3%83%97%E3%83%81%E3%83%A33.PNG"/></a></div>
<p>適当な場所に解凍し、環境変数のPATHを通す。</p>
<p>コマンドプロンプトやPowerShellで以下のコマンドを打ち込んで、パスが通っているか確認。</p>
<p><code>pdftotext -v</code></p>
<p>以下のように表示されたらおk。</p>
<pre><code>pdftotext version 23.08.0
Copyright 2005-2023 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011, 2022 Glyph & Cog, LLC</code></pre>
<h2 id="やり方">やり方</h2>
<p><code>rga 検索キーワード 対象フォルダ</code></p>
<p>で検索できる。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlkiQlPbetC26ynexEoG8779ygzmA1VyNYbHcNs34YkClZ2oTXtDx3Kp1-qb-S8MhyvKFsRkn5rtG7swKBj9N1YGh3itricMoZNvfePN17r1nxsMiUrmISNFTFW5j0mjWFXsFLvLJJCGVJc9_jBi8hyButxzCYLpIcB8tAT9uEIexoD0FCy9bAhFFZPwlN/s889/DIB%20BITMAP-1.png" style="display: block; padding: 1em 0px; text-align: center;"><img alt="" border="0" data-original-height="647" data-original-width="889" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlkiQlPbetC26ynexEoG8779ygzmA1VyNYbHcNs34YkClZ2oTXtDx3Kp1-qb-S8MhyvKFsRkn5rtG7swKBj9N1YGh3itricMoZNvfePN17r1nxsMiUrmISNFTFW5j0mjWFXsFLvLJJCGVJc9_jBi8hyButxzCYLpIcB8tAT9uEIexoD0FCy9bAhFFZPwlN/s400/DIB%20BITMAP-1.png" width="400" /></a></div>
<h2 id="参考">参考</h2>
<ul>
<li><a href="https://zenn.dev/megeton/articles/56b8a6a74e6394">テキスト検索ツール ripgrep (rg) の使い方メモ</a></li>
</ul>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-19359793176183014332023-08-20T19:00:00.012+09:002023-08-22T06:28:36.835+09:00PPvの位置を一行編集で保存・再現<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIcaGZl4OA6uPYCo3_TQGr2OlVm__iKhsIUZK3RHRrsmdGnXVzJ6rtke1zWpyagg_NXjjoICNP6XXUus2CSK-at53Vc-Ke7adaFxvGa3LA4A1zrb1jYE8JKl-gfgv1pmYPQs_QYsvVFJN-D4Hd1Yb-MJRfHIwHJ6ncI9tM4JmhC7-ON41b1YjC3VM5i0-M/s710/DIB%20BITMAP.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="491" data-original-width="710" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIcaGZl4OA6uPYCo3_TQGr2OlVm__iKhsIUZK3RHRrsmdGnXVzJ6rtke1zWpyagg_NXjjoICNP6XXUus2CSK-at53Vc-Ke7adaFxvGa3LA4A1zrb1jYE8JKl-gfgv1pmYPQs_QYsvVFJN-D4Hd1Yb-MJRfHIwHJ6ncI9tM4JmhC7-ON41b1YjC3VM5i0-M/s400/DIB%20BITMAP.png"/></a></div>
<p>PPvの位置を一行編集で保存・再現できるようにする。コメントを付けることで、一行編集での検索をしやすくしている。</p>
<h2 id="準備">準備</h2>
<p>以下をScriptフォルダに保存。</p>
<p><em>seq.js</em></p>
<script src="https://gist.github.com/tukasa/490e48a28d5453e0ced35d4a50791c86.js"></script>
<p><em>getwinpos.js</em></p>
<script src="https://gist.github.com/tukasa/6cee9e28044809a0db50e35344d69f5a.js"></script>
<p><em>editwinpos.js</em></p>
<script src="https://gist.github.com/tukasa/572a4fbaef3e0c85f15b649c62dc1229.js"></script>
<p>以下を編集して取込。</p>
<pre class="prettyprint">_Command = { ; ユーザコマンド・関数
savewindowpos = *setcust %*arg(1):l=%*windowrect(,l)
*setcust %*arg(1):t=%*windowrect(,t)
*setcust %*arg(1):w=%*windowrect(,w)
*setcust %*arg(1):h=%*windowrect(,h)
*setcust %*arg(1):comment=%*arg(2)
}
</pre>
<h2 id="やり方">やり方</h2>
<h3 id="位置の登録">位置の登録</h3>
<p>PPvで以下のコマンドを実行する。</p>
<pre class="prettyprint">*savewindowpos S_ppvpos%*script(%0Script\seq.js,S_ppvpos,l),%"コメントを記入してください"%E
</pre>
<p>S_ppvpos0に位置と大きさとコメントが保存される。
次にこのコマンドを実行するとS_ppvpos1に、さらにその次はS_ppvpos2に ... と、位置情報はS_ppvpos+連番に保存される。</p>
<h3 id="位置の再現">位置の再現</h3>
<p>PPvで以下のコマンドを実行する。</p>
<pre class="prettyprint">*string o,name=%*input("" -title:"PPvの位置を変更" -mode:e -k:"*completelist /set /file:%%*script(%%0Script\getwinpos.js,S_ppvpos) -match:6 ") %: *windowposition %N,%so"name"
</pre><p>登録したユーザデータを補完候補ファイルにした一行編集が起動する。</p>
<h3 id="登録した情報の編集">登録した情報の編集</h3>
<p>以下のコマンドを実行する。</p>
<pre class="prettyprint">*script %0Script\editwinpos.js,S_ppvpos,%*script(%0Script\getwinpos.js,S_ppvpos)
</pre>
<p>一行ごとに位置情報が記載されたテキストファイルがPPEで開く。編集、保存してからPPEを閉じると、編集内容がユーザデータに反映される。</p>
<h3 id="2023-08-21追記">2023-08-21追記</h3>
<p>色々ミスがあったので全面的に修正。</p>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-14283170120832375792023-08-17T18:14:00.000+09:002023-08-17T18:14:20.097+09:00特定のディレクトリ以下の背景色や壁紙を変更(*diroptionを使用)<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCbYAL59_3BgjqcSI1vF3xD4oOiT-MLflLIRctgsfTYGNDqRqv1pYT15-2Y2OUw1fEtT4PPSuPqdVsAuwGXlwjkthiCQjjObR1pH82ZPvcSE5ddEyr3UAd-Zymxlb-EnFyLJSXN83t1FWly84MTwZ8pa4Q4TteK51Wve-fcYtCnZmbH_f4eYIdyxiDzlDZ/s795/bgchange3.gif" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="531" data-original-width="795" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCbYAL59_3BgjqcSI1vF3xD4oOiT-MLflLIRctgsfTYGNDqRqv1pYT15-2Y2OUw1fEtT4PPSuPqdVsAuwGXlwjkthiCQjjObR1pH82ZPvcSE5ddEyr3UAd-Zymxlb-EnFyLJSXN83t1FWly84MTwZ8pa4Q4TteK51Wve-fcYtCnZmbH_f4eYIdyxiDzlDZ/s400/bgchange3.gif"/></a></div>
<p><a href="https://hoehoetukasa.blogspot.com/2023/08/blog-post.html">前回</a>のはディレクトリ名によっては機能しない場合があったので、真面目に考えてみた。</p>
<h2 id="通常時の背景画像と背景色設定">通常時の背景画像と背景色設定</h2>
<p>これを設定しておかないと、背景色や背景画像を変えたディレクトリを抜けても、元に戻らない。以下のコマンドを一度実行する。これは背景画像なし、背景色もなしの設定。</p>
<pre class="prettyprint">*diroption -"*" cmd:"*deletecust X_bg:P_%%n %%: *deletecust X_bg:T_%%n %%: *color back"
</pre>
<h2 id="特定のディレクトリ以下の背景色を変更">特定のディレクトリ以下の背景色を変更</h2>
<p>該当ディレクトリに行き、以下のコマンドを実行する。</p>
<pre class="prettyprint">*diroption -thisbranch cmd "*color back %"_DBLA: 暗灰 _DBLU: 暗青 _DRED: 暗赤/茶 _DMAG: 暗紫 _DGRE: 暗緑 _DCYA: 暗水 _DBRO: 暗黄"%{_DBLU%}"
</pre>
<p>もとに戻す場合は該当ディレクトリで以下のコマンドを実行。</p>
<pre class="prettyprint">*diroption -thisbranch cmd ""
</pre>
<h2 id="特定のディレクトリ以下の背景画像を変更">特定のディレクトリ以下の背景画像を変更</h2>
<p>以下を編集して取込。サブ窓用のユーザコマンド*opensubwinを登録しておく。</p>
<pre class="prettyprint">_Command = { ; ユーザコマンド・関数
opensubwin = *ppc -r -bootid:x -single -k *jumppath %*arg(1) %%: *fitwindow %NC,%%NC,20 %%: *mapkey use,K_subwin %%: *js "PPx.EntryIndex = 2" %%: *linemessage %*arg(2)
}
K_subwin = { ** comment **
\ENTER ,*execute ,%*getcust(_User:temp_exec)
}
</pre>
<p>該当ディレクトリに行き、以下のコマンドを実行する。</p>
<pre class="prettyprint">*setcust _User:temp_exec=*execute %n,*diroption -thisbranch cmd "%(*setcust X_bg:T_%%%%n=20 %%%%: *setcust X_bg:P_%%%%n=%FCD %%%%: %%%%K"loadcust"%) %%: %%K"@Q" %: *opensubwin %1,壁紙にする画像ファイルを選択してください
</pre>
<p>サブ窓が開くので、壁紙にしたい画像ファイルにカーソルをあわせ、Shift+ENTERを押す。</p>
<p>F5を押して、背景画像が変更されていたら成功。</p>
<p>もとに戻す場合は該当ディレクトリで以下のコマンドを実行。</p>
<pre class="prettyprint">*diroption -thisbranch cmd ""
</pre>つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-956018481994969012023-08-08T19:00:00.002+09:002023-12-28T10:45:11.085+09:00PPvでPDFのテキストを読む<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHgB5IWdODMAmS3Oc6F6QAC8TTsLXSVELBPZC-fvzx-mJIge6mKWdn9JR_I_02iD-T2u3cNIlAkuRc9pTfErWsE7qjkZMvSd269TF7jiVG-ajGp-jaFWKv1ZpRXO8EpkFNdipHOHfS4XNgIwJ5eJw0jMzVlDuOjEEOjCH2q4BghIPsX9PCKfsBDU8LJsY5/s1333/pdftotext.PNG" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="782" data-original-width="1333" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHgB5IWdODMAmS3Oc6F6QAC8TTsLXSVELBPZC-fvzx-mJIge6mKWdn9JR_I_02iD-T2u3cNIlAkuRc9pTfErWsE7qjkZMvSd269TF7jiVG-ajGp-jaFWKv1ZpRXO8EpkFNdipHOHfS4XNgIwJ5eJw0jMzVlDuOjEEOjCH2q4BghIPsX9PCKfsBDU8LJsY5/s400/pdftotext.PNG"/></a></div>
<p>PDFファイルをtext形式に変換してPPvに表示する。変換にはpdftotextというコマンドラインツールを使用。
なぜこんなことをするかというと、EPWING形式の辞書を引くためです。</p>
<ul>
<li>参考:<a href="http://hoehoetukasa.blogspot.com/2023/07/ppvepwing.html">つかさのほえほえ日記: PPvでEPWING形式の辞書を引く</a></li>
</ul>
<h2 id="準備">準備</h2>
<p><a href="https://github.com/oschwartz10612/poppler-windows/releases/">Releases ・ oschwartz10612/poppler-windows</a>からRelease-23.07.0-0.zipをダウンロード。適当な場所に解凍する。</p>
<p>以下を編集して取込。pdftotextのパスは各自読み替えてください。</p>
<pre class="prettyprint">
A_exec = { ; エイリアス
pdftotext = D:\bin\poppler\Library\bin\pdftotext.exe
}
_Command = { ; ユーザコマンド・関数
pdftoppv = *string o,tempfile=%*temp(name,f) %: %Oi pdftotext -f %*arg(2) -l %*arg(2) -layout -nopgbrk "%*arg(1)" %so"tempfile" %: *ppv -utf8 %so"tempfile" -k *string i,pagenum=%*arg(2) %%: *string i,name="%*arg(1)" %%: *string i,tempfile=%so"tempfile" %%: *mapkey use,K_forpdftoppv
pdftoppvnext = %Oi pdftotext -f %*calc("%si"pagenum"+1") -l %*calc("%si"pagenum"+1") -layout -nopgbrk %si"name" %si"tempfile" %: *ppv -utf8 -r -bootid:%*rightstr("%n", 1) %si"tempfile" -k *string i,pagenum=%*calc("%si"pagenum"+1")
pdftoppvprev = %Oi pdftotext -f %*calc("%si"pagenum"-1") -l %*calc("%si"pagenum"-1") -layout -nopgbrk %si"name" %si"tempfile" %: *ppv -utf8 -r -bootid:%*rightstr("%n", 1) %si"tempfile" -k *string i,pagenum=%*calc("%si"pagenum"-1")
pdftoppvjump = %Oi pdftotext -f %en %"移動するページ数" %${%si"pagenum"%} -l %${%si"pagenum"%} -layout -nopgbrk %si"name" %si"tempfile" %: *ppv -utf8 -r -bootid:%*rightstr("%n", 1) %si"tempfile" -k *string i,pagenum=%${%si"pagenum"%}
}
K_forpdftoppv = {
^LEFT ,*pdftoppvprev
^RIGHT ,*pdftoppvnext
J ,*pdftoppvjump
}
</pre>
<h2 id="やり方">やり方</h2>
<p>PDFファイルにカーソルをあわせて以下を実行する。第一引数にはファイルパスを、第二引数にはページ数を指定する。</p>
<pre class="prettyprint">*pdftoppv %FCDN,1
</pre>
<p>PPvには以下の操作が追加される。</p>
<ul>
<li>^[←] 前のページ</li>
<li>^[→] 次のページ</li>
<li>[J] 指定したページへ移動</li>
</ul>
<h2 id="おまけ標準出力の場合">おまけ:標準出力の場合</h2>
<p>標準出力を利用する場合は以下のようになる。</p>
<pre class="prettyprint">A_exec = { ; エイリアス
pdftotext = D:\bin\poppler\Library\bin\pdftotext.exe
}
_Command = { ; ユーザコマンド・関数
pdftoppv = *ppv "%*arg(1)" -esc:on -text -utf8 -document:"pdftotext -f %*arg(2) -l %*arg(2) -layout -nopgbrk %"%*arg(1)" - > %%si'TempFile'" -k *string i,pagenum=%*arg(2) %%: *mapkey use,K_forpdftoppv
pdftoppvnext = *ppv -r -bootid:%*rightstr("%n", 1) %FCD -esc:on -text -utf8 -document:"pdftotext -f %*calc("%si"pagenum"+1") -l %*calc("%si"pagenum"+1") -layout -nopgbrk %%FCD - > %%si'TempFile'" -k *string i,pagenum=%*calc("%si"pagenum"+1")
pdftoppvprev = *ppv -r -bootid:%*rightstr("%n", 1) %FCD -esc:on -text -utf8 -document:"pdftotext -f %*calc("%si"pagenum"-1") -l %*calc("%si"pagenum"-1") -layout -nopgbrk %%FCD - > %%si'TempFile'" -k *string i,pagenum=%*calc("%si"pagenum"-1")
pdftoppvjump = *ppv -r -bootid:%*rightstr("%n", 1) %FCD -esc:on -text -utf8 -document:"pdftotext -f %en %"移動するページ数" %${%si"pagenum"%} -l %${%si"pagenum"%} -layout -nopgbrk %%FCD - > %%si'TempFile'" -k *string i,pagenum=%${%si"pagenum"%}
}
K_forpdftoppv = {
^LEFT ,*pdftoppvprev
^RIGHT ,*pdftoppvnext
J ,*pdftoppvjump
}
</pre>
<h2 id="参考">参考</h2>
<ul>
<li><a href="https://qiita.com/u1and0/items/f8b53348544717d7635d">ターミナル上でPDFのテキストを読む - Qiita</a></li>
<li><a href="http://pdf-file.nnn2.com/?p=881">Poppler:pdftotext の使い方 | PDF</a></li>
</ul>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-27406232358092411062023-08-03T19:00:00.037+09:002023-08-03T19:00:00.133+09:00特定のディレクトリ以下の背景色や壁紙を変更<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-skxfRDYQChpKrSAk0PkntmYXVN4WxkbqpV1tM8OO0oTb3R6Qpu9bT4k4B9iYpLipt-jX_MOaJwPxcX4e9iciWzo8OpP2qEBh4NLoH_-dTFio_Bn9UZMMkCOYbSdX2c41BoTbmhbFYONmvyx2QRHjDLIwRwXpN5pANg4b9-cVPlO1i2iI2pkc00KEHv_h/s848/bgchange.gif" style="display: block; padding: 1em 0px; text-align: center;"><img border="0" data-original-height="567" data-original-width="848" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-skxfRDYQChpKrSAk0PkntmYXVN4WxkbqpV1tM8OO0oTb3R6Qpu9bT4k4B9iYpLipt-jX_MOaJwPxcX4e9iciWzo8OpP2qEBh4NLoH_-dTFio_Bn9UZMMkCOYbSdX2c41BoTbmhbFYONmvyx2QRHjDLIwRwXpN5pANg4b9-cVPlO1i2iI2pkc00KEHv_h/w400-h267/bgchange.gif" width="400" /></a></div>
<p>特定のディレクトリ以下の背景色や壁紙が変更されるようにする。
通常、この手のカスタマイズは</p>
<ul>
<li>特定のディレクトリ以下で背景色や壁紙を変更</li>
<li>別のディレクトリに行ったときに元に戻す</li>
</ul>
<p>という処理が必要になり、まあまあ色々なことを考えてカスタマイズする必要があった。
最近「変えたいディレクトリでこれを実行したらそれでOK!」なコマンドを思いついたので記事にします。</p>
<h2 id="準備">準備</h2>
<p>以下を編集して取込。</p>
<pre class="prettyprint">_Command = { ; ユーザコマンド・関数
bgcolorchange = *color back %*arg(1)
*linecust backcolor,KC_main:LOADEVENT,*ifmatch "!/^%*regexp("%1","s/\\/\\\\/g")/",%%1 %%: *linecust backcolor,KC_main:LOADEVENT, %%: %%K"loadcust"
bgimagechange = *string o,bgpath=%*getcust(X_bg:Path)
*string o,bgtype=%*getcust(X_bg:Type)
*setcust X_bg:Path=%*arg(1)
*customize X_bg:Type=%*arg(2)
*linecust bg,KC_main:LOADEVENT,*ifmatch "!/^%*regexp("%1","s/\\/\\\\/g")/",%%1 %%: *linecust bg,KC_main:LOADEVENT, %%: *setcust X_bg:Path=%so"bgpath" %%: *customize X_bg:Type=%so"bgtype"
}
</pre>
<ul>
<li>*bgcolorchange 背景色変更用。第一引数には、_BLU等の色指定を入れる。</li>
<li>*bgimagechange 壁紙変更用。第一引数に壁紙のパスを、第二引数にX_bg:typeの数値を入れる。</li>
</ul>
<p>パスによっては機能しない場合があるので、そのときは正規表現をいじる等、色々と調整してみてください。</p>
<h2 id="やり方">やり方</h2>
<p>特定のディレクトリ以下の背景色を変えたい場合は、そのディレクトリで以下を実行する。</p>
<pre class="prettyprint">*diroption -thisbranch cmd "*bgcolorchange _DBLU"
</pre>
<p>特定のディレクトリ以下の壁紙を変えたい場合は、そのディレクトリで以下を実行する。</p>
<pre class="prettyprint">*diroption -thisbranch cmd "*bgimagechange %0kabegami.jpg,1"
</pre>
<p>ちなみにこれらのディレクトリ別設定は以下で解除できる。</p>
<pre class="prettyprint">*diroption -thisbranch cmd ""
</pre>
<h2 id="参考">参考</h2>
<ul style="text-align: left;"><li><a href="https://tar80.github.io/pages-pca/ppc/set_bg.html">このパス以降に背景画像を設定 - PPx Customize Articles</a></li><li>
<a href="https://qiita.com/hokorobi/items/c9edf9be0d16048893fa">Paper Plane xUI (PPx) でサーバによって背景色を変える - Qiita</a></li></ul>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-90581998205914969872023-07-30T19:00:00.002+09:002023-08-11T18:28:59.645+09:00PPvでEPWING形式の辞書を引く<p>PPvで、カーソル位置の/範囲選択した単語をEPWING形式の辞書で検索し、PPv[X]にその内容を表示する。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDjxblXlEAj6XJUbCNDmPqGmkStxorzPkCNXV7DmxrNLgd-HjB-thV7QF25wvrRXWXkR36O0qqyu72P-TV0AS1k_Z4pCGE6-TcCq_LSNVU8_NvWYyMJiiR9k-QQT-argR0o4KGCMKpTmlh-1GOTeSBc27YY5VOTeSDCsSSs71ftZgUe7mOoHwaLGgHTmZU/s871/ppvebwin.gif" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="720" data-original-width="871" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDjxblXlEAj6XJUbCNDmPqGmkStxorzPkCNXV7DmxrNLgd-HjB-thV7QF25wvrRXWXkR36O0qqyu72P-TV0AS1k_Z4pCGE6-TcCq_LSNVU8_NvWYyMJiiR9k-QQT-argR0o4KGCMKpTmlh-1GOTeSBc27YY5VOTeSDCsSSs71ftZgUe7mOoHwaLGgHTmZU/s400/ppvebwin.gif"/></a></div>
<h2 id="必要なもの">必要なもの</h2>
<ul>
<li><a href="https://github.com/nyaosorg/nyagos">nyagos</a></li>
<li><a href="http://ebstudio.info/manual/EBWin4/EBWin4.html">EBWIN4</a></li>
</ul>
<p>EBWIN4には、EPWING形式の辞書をあらかじめ登録しておこう。</p>
<h2 id="準備">準備</h2>
<p>以下のファイルをScriptフォルダに保存する。EBWIN4のパスは環境に応じて読み替えてください。</p>
<p><i>dic.lua</i></p>
<script src="https://gist.github.com/tukasa/ccad2f5b44371c1ceaa2c3d39a4d2997.js"></script>
<p><i>selecttext.js</i></p>
<script src="https://gist.github.com/tukasa/edb0fce11f39acde58f972c5ffc65815.js"></script>
<h2 id="カーソル位置の単語を検索">カーソル位置の単語を検索</h2>
<p>単語が空白区切りになっている英文等の場合はこちらが便利。
[I]でキャレットモードにして、辞書を引きたい単語上にカーソルを置いてから、以下のコマンドを実行する。</p>
<pre class="prettyprint">*string o,tempfile=%*temp(name,f) %: %Oi nyagos -f %0Script\dic.lua %*script(%0Script\selectword.js) %so"tempfile" %: *ppv -utf8 -bootid:x -r %so"tempfile" -k *selectppx %n
</pre>
<p>一時ファイルが一々つくられるのが嫌な場合は、以下を適当なキーに登録して実行する。</p>
<pre class="prettyprint">*ifmatch "!o:e,a:d-",%si"tempfile" %: *string i,tempfile=%*temp(name,f)
%Oi nyagos -f %0Script\dic.lua %*script(%0Script\selectword.js) %si"tempfile"
*ppv -utf8 -bootid:x -r %si"tempfile" -k *selectppx %n
</pre>
<h2 id="単語を範囲選択して検索">単語を範囲選択して検索</h2>
<p>日本語で辞書を引くとき等は、単語の自動取得が難しいので、おそらくこちらの方法を取ることになる。</p>
<pre class="prettyprint">*string o,tempfile=%*temp(name,f) %: %Oi nyagos -f %0Script\dic.lua %*selecttext %so"tempfile" %: *ppv -utf8 -bootid:x -r %so"tempfile" -k *selectppx %n
</pre>
<h2 id="参考">参考</h2>
<ul>
<li><a href="http://ebstudio.info/manual/EBWin4_man/0_3_13.html">コマンドライン版 ebwinc</a></li>
</ul>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-2305685365766150122023-07-29T19:00:00.005+09:002023-07-29T19:00:00.148+09:00PPvで単語を考慮した折り返し<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWp-eUOcHzojJUdDKNtl_m98QlNLOiZP3pPzdm9xJ7ndgx9j5mKFImnKmglmypvwqAU1-k2QyTaD-Moym5aC1Pp1yn5KEYnf_Xh0nSfdBmpN7FLaFFTmXO2unPUuh5Wvm1kVyvlCktgiHFynOOcJ9VfWkBMnbI9EhgTBsFXX_R414p2wN-AKIx-UtK3wNU/s935/DIB%20BITMAP-21.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="585" data-original-width="935" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWp-eUOcHzojJUdDKNtl_m98QlNLOiZP3pPzdm9xJ7ndgx9j5mKFImnKmglmypvwqAU1-k2QyTaD-Moym5aC1Pp1yn5KEYnf_Xh0nSfdBmpN7FLaFFTmXO2unPUuh5Wvm1kVyvlCktgiHFynOOcJ9VfWkBMnbI9EhgTBsFXX_R414p2wN-AKIx-UtK3wNU/s400/DIB%20BITMAP-21.png"/></a></div>
<p>PPvで折り返し表示をしている場合、右端にある英単語が途中で改行される場合がある。
busyboxのfoldコマンドを利用してこれを解決する。</p>
<pre class="prettyprint"><code>*ppv %C -esc:on -text -utf8 -document:"busybox fold -w 80 -s %%C > %%si'TempFile'"</code></pre>
<p>nkfをかませる場合は以下のようになる。</p>
<pre class="prettyprint"><code>*ppv %C -esc:on -text -utf8 -document:"nkf -w %%C | busybox fold -w 80 -s > %%si'TempFile'"</code></pre>つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-39579920903728509432023-07-28T19:00:00.002+09:002023-07-28T19:41:05.706+09:00PPvでカーソル位置の単語(空白区切り)を取得<p>外国語の文献を読むとき、カーソル位置の単語を自動で取得できれば、それを辞書ソフトに投げることができて便利そうだなと思い、スクリプトを作った。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9w-kq4xPkGhPaoP7OBf7l_cK7zDogvmom5Fko2U5J1xobKuLx4c_rnzjuG_NZWKx0MHcZlRdE8Tk-2dtKMQunYp9naKGYdpOwLpnZl5xhja22q0A4JpbQ7bE72BFD9Gp_NnLR_NACtwioxgJR1vZyjn21Nu20n8oVCXENRFlR0XoHNGf9MdWZhOUBABVf/s636/DIB%20BITMAP-20.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="323" data-original-width="636" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9w-kq4xPkGhPaoP7OBf7l_cK7zDogvmom5Fko2U5J1xobKuLx4c_rnzjuG_NZWKx0MHcZlRdE8Tk-2dtKMQunYp9naKGYdpOwLpnZl5xhja22q0A4JpbQ7bE72BFD9Gp_NnLR_NACtwioxgJR1vZyjn21Nu20n8oVCXENRFlR0XoHNGf9MdWZhOUBABVf/s400/DIB%20BITMAP-20.png"/></a></div>
<script src="https://gist.github.com/tukasa/edb0fce11f39acde58f972c5ffc65815.js"></script>
<p>PPvをキャレットモードにし、以下のようなコマンドを打つ。</p>
<pre class="prettyprint"><code>*linemessage %*script(%0Script\selectword.js)</code></pre>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-62788309253399664292023-07-02T13:06:00.002+09:002023-07-24T05:45:09.553+09:00PPv起動用PPc<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgllVGU1gI2wKTZ6h259sRA05spDifvBUYI4RwvJQySCo_D5fqjwRmk4dWrSaixNmj9U53r6V2TvhmBXqJlbHQ5yrdtk2s0rblEdYQRwKUzI-_dy5kHCQ41hIdlBs7KyTquG-V6PoCWQ8RQO7MHozsDJVjeXMYYWaeZiJyAFaJrgzahp10olgNrXaj_KIDB/s817/ppc4ppv4.gif" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="512" data-original-width="817" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgllVGU1gI2wKTZ6h259sRA05spDifvBUYI4RwvJQySCo_D5fqjwRmk4dWrSaixNmj9U53r6V2TvhmBXqJlbHQ5yrdtk2s0rblEdYQRwKUzI-_dy5kHCQ41hIdlBs7KyTquG-V6PoCWQ8RQO7MHozsDJVjeXMYYWaeZiJyAFaJrgzahp10olgNrXaj_KIDB/s400/ppc4ppv4.gif"/></a></div>
<p>カレントフォルダとは無関係な場所にあるファイルを、PPvで表示したい場合がある。</p>
<ul>
<li>[ENTER] カーソルファイルをPPvで開き、自窓を閉じる</li>
</ul>
<p>というキーバインドのPPcを用意することで、これを実現する。</p>
<h2 id="準備">準備</h2>
<p>以下を編集して取込。</p>
<pre class="prettyprint"><code>K_forppv = {
ENTER ,*ifmatch "o:e,a:d+","%*name(CD,"%R","%1")" %: %K"@ENTER" %: *stop
*if %*js("PPx.result=PPx.SyncView") %: %Oi *windowsize %si"ppvid",%*windowrect(,w),%*calc("%*windowrect(,h)*2") %: *closeppx %n %: *stop
%Oi *ppv %*name(CD,"%R","%1") -k *fitwindow %N,%%N,20 %%: *closeppx %n
\Y ,*if %*js("PPx.result=PPx.SyncView") %: *ppvoption sync off %: *stop
%Oi *ppv -k *setcust _User:id=%%*rightstr("%%n", 1) %: *fitwindow %N,%NV%*getcust(_User:id),30 %: *string i,ppvid=%NV%*getcust(_User:id) %: *ppvoption sync %*getcust(_User:id) %: *fitwindow %N,%NV%*getcust(_User:id),3
Q ,*ppvoption sync off %: *closeppx %n
}
KV_main = { ; PPvメイン窓
O ,%Oi *string i,ppcid=
*windowsize %N,%*windowrect(,w),%*calc("%*windowrect(,h)/2")
*ppc -r -bootid:v -single -k *jumppath %FD -entry:%FC %%: *string i,ppvid=%N %%: *mapkey use,K_forppv %%: *ppvoption sync %*rightstr("%n", 1)
*fitwindow %N,%NCV,4
}</code></pre>
<h2 id="操作">操作</h2>
<p>以下のコマンドで、PPc[V]が開く。</p>
<pre class="prettyprint"><code>*ppc -r -bootid:v -single -k *mapkey use,K_forppv</code></pre>
<p>キーバインドは以下の通り。</p>
<ul>
<li>[ENTER] カーソルファイルをPPvで開き、自窓を閉じる</li>
<li>[\Y] 連動ビュー</li>
</ul>
<p>連動ビュー中にEnterを押すとPPc[V]が閉じ、PPc[V]があったスペース分PPvが拡大する。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhExkSQD91WFSU5IFWFBNSC4Ka1YS6hWKE6PH4hqm0-ELa_OGb8mZffYNlKesrowk4DKIOsvnOvhXB38tPvT23FIDnjk3pF0iQuJHslXavxTli5pb5Gn1wLQmaNbwN9n2ZsC5ngOLqR5rFG2kFvibaCwPSB8RGqPPe6tvB6cOFSObtpR9MukahbcNdqv_B/s653/ppc4ppv2.gif" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="400" data-original-height="653" data-original-width="624" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhExkSQD91WFSU5IFWFBNSC4Ka1YS6hWKE6PH4hqm0-ELa_OGb8mZffYNlKesrowk4DKIOsvnOvhXB38tPvT23FIDnjk3pF0iQuJHslXavxTli5pb5Gn1wLQmaNbwN9n2ZsC5ngOLqR5rFG2kFvibaCwPSB8RGqPPe6tvB6cOFSObtpR9MukahbcNdqv_B/s400/ppc4ppv2.gif"/></a></div>
<p>PPvには、以下のキーバインドが追加される。</p>
<ul>
<li>[O] PPvの大きさが半分に。空いたスペースにPPc[V]を表示、かつ連動ビュー状態に</li>
</ul>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-90221527971493258712023-06-24T12:02:00.002+09:002023-06-24T12:02:27.603+09:00ファイル判別で項目にファイルパスを渡す方法の考察<h2 id="前置き">前置き</h2>
<p>PPxでは、%ME_xxx,filenameというように、ファイルパスを指定してのファイル判別ができる。ただ、個々の項目にそのファイルパスを渡す方法が難しいと思っていた。</p>
<p>最初に思いついたのは、ファイル判別をした後にfilenameを渡すやり方だ。
<pre class="prettyprint">E_test = {
* ,*launch
:DIR ,*ppc -r
TXT ,editor
}
</pre>
<pre class="prettyprint">%ME_test,"D:\Temp\hoge.txt" "D:\Temp\hoge.txt"
</pre>
<p>ただ、これだと起動オプションがfilenameの後ろに続く場合に困る。</p>
<p>次に思いついたのは、ユーザデータを利用するやり方だ。</p>
<pre class="prettyprint">E_test = {
* ,*launch %*getcust(_User:hoge)
:DIR ,*ppc -r %*getcust(_User:hoge)
TXT ,editor %*getcust(_User:hoge)
}</pre>
<pre class="prettyprint">*setcust _User:hoge="D:\Temp\hoge.txt" %: %ME_test
</pre>
<p>悪くはないが、構造がややこしい気がする。あとで手直しをするときに「このhogeってユーザデータなんだ…?」と思ってしまいそうだ。</p>
<p>以上のような理由で上の方法は使ってなかったが、最近ユーザコマンドを利用する方法を思いついたのでそれを紹介。</p>
<h2 id="ユーザコマンドを利用する方法">ユーザコマンドを利用する方法</h2>
<p>以下を編集して取込。<pre class="prettyprint">_Command = {
mypochis = *execute ,%%M%*arg(1),%*arg(2)
}
-|E_test=
E_test = {
* ,*launch %*arg(2)
:DIR ,*ppc -r %*arg(2)
TXT ,editor %*arg(2)
}
</pre>
<p>以下のコマンドを実行。</p>
<pre class="prettyprint">*mypochis E_test,"D:\Temp\hoge.txt"
</pre>
<p>これならシンプルで良さげ。</p>
<h2 id="メニューを利用する場合">メニューを利用する場合</h2>
<p>メニューを組み込みたい場合は、以下のようになる。</p>
<pre class="prettyprint">_Command = {
mypochis = *execute ,%%M%*arg(1),%*arg(2)
}
-|E_test=
E_test = {
* ,*launch %*arg(2)
:DIR ,*ppc -r %*arg(2)
TXT ,editor %*arg(2)
JPG ,%M_myimage,M
PNG ,%M_myimage,M
}
-|M_myimage=
M_myimage = {
MassiGra = D:\bin\MassiGra\MassiGra.exe %*arg(2)
縮小 = D:\bin\Smahey\SmaHey.exe %*arg(2)
}
</pre>つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-28857252911412689662023-06-19T22:51:00.001+09:002023-07-09T05:27:06.195+09:00一行編集でコマンドを自動補完?<p>コマンドラインランチャでよくあるコマンドの自動補完を、以下のようにして擬似的に行う。</p>
<ul>
<li>補完候補リストの選択あり→選択中のアイテムを実行</li>
<li>補完候補リストの選択なし→補完一覧リストの一番上を選択して実行</li>
</ul>
<p>以下を編集して取込。</p>
<pre class="prettyprint">K_pplaunch = {
ENTER ,*ifmatch -1,%*sendmessage(%N-L,392,0,0) %: %K"@DOWN @ENTER" %: *stop
%K"@ENTER"
^V ,*completelist -close %: *mapkey delete,K_pplaunch %: %K"@^V"
^D ,*deletehistory h,"%*edittext" %: *linemessage ヒストリから履歴を消去しました
}
</pre>
<p>以下のコマンドを実行する。補完候補ファイルはPPxフォルダ内のlaunch.txtという想定。</p>
<pre class="prettyprint">*string o,name=%*input("" -title:"PPlauncher" -mode:h -k:"*completelist /set /file:%%0launch.txt -match:6 %%: *mapkey use,K_pplaunch") %: *execute,%so"name"
</pre>
<p>[^V]はコピペのための処理。また、履歴に不要なものがあると意図しない動作をしうるので、[^D]で履歴を削除できるようにしている。
補完候補リストの選択位置の取得方法については、作者さんに教えていただいた。感謝!</p>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-58962505331571291442023-06-17T19:55:00.005+09:002023-07-07T02:28:52.080+09:00一行編集で音楽ファイルを検索<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZZ3SlFZ5G06DeX68rsLLX-JskeKlEZe9plk80Jva5EujFVWjnFSQ-oM-X8fy7qNsCfgyBs-UqNoNpahZbu9iCgi_EKoJv2x8I2xgH6Ct-1BRGZLNRc3ztLdAbZtUCv8Ue-a3XjlqRUeuFKXI-cMXc6jS6gK0u1qv0r40ZIVWf4taHhXWNavu9vkjUvg/s660/musicplayer.gif" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="297" data-original-width="660" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZZ3SlFZ5G06DeX68rsLLX-JskeKlEZe9plk80Jva5EujFVWjnFSQ-oM-X8fy7qNsCfgyBs-UqNoNpahZbu9iCgi_EKoJv2x8I2xgH6Ct-1BRGZLNRc3ztLdAbZtUCv8Ue-a3XjlqRUeuFKXI-cMXc6jS6gK0u1qv0r40ZIVWf4taHhXWNavu9vkjUvg/s400/musicplayer.gif"/></a></div>
<p>一行編集でmigemoが使えるなら、音楽ファイルを検索してプレイヤーに投げるのにも使えるんじゃないか、と思いついた。</p>
<h2 id="準備">準備</h2>
<p>音楽ファイルパスを各行に記載した補完候補ファイルを予め作成しておく。D:\Data\Music以下にmp3とflac形式で保存しているなら、以下のコマンドで作成できる。</p>
<pre class="prettyprint">*whereis -mask1:"a:d+;.mp3;.flac" -path:"D:\Data\Music" -dir:on -subdir:on -listfile:%0data\musicpath -name
</pre>
<p>以下を編集して取込。</p>
<pre class="prettyprint">_Command = {
musicsearch = *ifmatch 0,0%*getcust(_User:musicplayer) %: *setcust _User:musicplayer=%*input("D:\bin\AIMP5\AIMP.exe" -title:"音楽プレイヤーのパスを入力してください" -mode:e)
*string o,name=%*input("" -title:"musicplayer - %*getcust(_User:musicplayer)" -mode:e -k:"*completelist /set /file:%%0data\\musicpath -match:6 %%: *mapkey use,K_musicplayer")
*ifmatch !0,0%so"name" %: *launch %*getcust(_User:musicplayer) %so"name"
}
-|K_musicplayer=
K_musicplayer = {
ENTER ,*ifmatch -1,%*sendmessage(%N-L,392,0,0) %: %K"@DOWN @ENTER" %: *stop
%K"@ENTER"
^O ,%M_musicplayer,P
^P ,%M_musicplayer,!START/STOP
LEFT ,*ifmatch !-1,%*sendmessage(%N-L,392,0,0) %: *replace %*name(D,%*edittext) %: %K"@^\A" %: *stop
%K"@LEFT"
}
-|M_musicplayer=
M_musicplayer = {
Playerの変更 =*setcust _User:musicplayer=%{%*getcust(_User:musicplayer)%|%} %: *setcaption musicplayer - %*getcust(_User:musicplayer)
AIMP5 =*setcust _User:musicplayer=D:\bin\AIMP5\AIMP.exe %: *setcaption musicplayer - %*getcust(_User:musicplayer)
AIMP5に追加 =*setcust _User:musicplayer=D:\bin\AIMP5\AIMP.exe /INSERT %: *setcaption musicplayer - %*getcust(_User:musicplayer)
-- =
START/STOP =D:\bin\AIMP5\AIMP.exe /PLAYPAUSE
-- =
SCAN =*whereis -mask1:"a:d+;.mp3;.flac" -path:"D:\Data\Music" -dir:on -subdir:on -listfile:%0data\musicpath -name
}
</pre>
<h2 id="実行">実行</h2>
<p>*musicsearchで一行編集が開く。migemoでインクリメンタルサーチをしてENTERで、音楽プレイヤーで再生できる。
一行編集上でのその他のキーバインドは以下。</p>
<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0gSurXOcxt8VXB-PdLcwptKbZprSeb-_U1De-PoyNQFCIJyzYBWa-Rrzu1KP3CcBxGMmdHYO-FBJpM9yY4kIjv4-iqw8NsyIes4MnDT6F05wROtKRFvBDJ_JXX1jZaZ8C1LxwfGDHhcEcXuZ0FDOMqlxTu3CC97zkKAfPtK_OmYeb1z18nqvQosagbA/s633/musicplayer2.png" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="193" data-original-width="633" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0gSurXOcxt8VXB-PdLcwptKbZprSeb-_U1De-PoyNQFCIJyzYBWa-Rrzu1KP3CcBxGMmdHYO-FBJpM9yY4kIjv4-iqw8NsyIes4MnDT6F05wROtKRFvBDJ_JXX1jZaZ8C1LxwfGDHhcEcXuZ0FDOMqlxTu3CC97zkKAfPtK_OmYeb1z18nqvQosagbA/s400/musicplayer2.png"/></a></div>
<ul>
<li>[Ctrl+O] 設定メニュー</li>
<li>[Ctrl+P] START/STOP</li>
<li>[LEFT] リスト選択時に階層を一つ上へ</li>
</ul>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-75838606366851593732023-06-09T16:28:00.000+09:002023-06-09T16:28:55.366+09:00一行編集の行頭コメント+migemo検索<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhas1o_lR3LWj_xoKhbm5IekoxJscDOtiQpaccMpe1me8qF6_Or0w0V4ZhxNyzxz_o6aDnT_-zl7mFnn40L59KQzlnjfekThKLDk6khKxERNBbm43l3Urvt6BjnLEtoAZbwzJiMfAaG3hxW7jpGq3niZVe87-GfNK17f-eMaD1qhjmK7Lqu9SHJOL-m6w/s660/migemo.gif" style="display: block; padding: 1em 0px; text-align: center;"><img border="0" data-original-height="413" data-original-width="660" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhas1o_lR3LWj_xoKhbm5IekoxJscDOtiQpaccMpe1me8qF6_Or0w0V4ZhxNyzxz_o6aDnT_-zl7mFnn40L59KQzlnjfekThKLDk6khKxERNBbm43l3Urvt6BjnLEtoAZbwzJiMfAaG3hxW7jpGq3niZVe87-GfNK17f-eMaD1qhjmK7Lqu9SHJOL-m6w/w400-h250/migemo.gif" width="400" /></a></div>
<h2 id="コマンドの呼び出し方は忘却する">コマンドの呼び出し方は忘却する</h2>
<p>作ったコマンドをどうやって呼び出すか、という問題がある。
簡単なのは使っていないキーに登録することだが、そのコマンドが頻繁に使われないものである場合、そのキーを忘れてしまうわけだ。</p>
<ul>
<li>キーバインドをコマンドに関係したものにする(RenameならRというように)</li>
<li>2バインドキーを使う</li>
<li>エイリアスやユーザコマンドにして覚えやすい名前を付ける</li>
<li>メニューにしてまとめる</li>
</ul>
<p>他、色々対策はありそうだが、僕の場合はどれも有効ではなかった。数ヶ月もすれば、どれも忘却してしまうからである。
最近は、補完候補ファイルにコマンドをまとめ、一行編集で呼び出すことでこの問題に対処していて、これはかなりうまくいっていた。行頭コメントとmigemo検索を利用すれば、さらに便利になりそうだと気づいたので、この記事で紹介する。</p>
<h2 id="行頭コメントmigemo検索">行頭コメント+migemo検索</h2>
<p>一行編集には、任意の補完候補ファイルを読み込ませることができる。この補完候補ファイルには、以下のようにして行頭コメントを付けることができる。コメントが行頭にあれば、コマンドが長すぎてコメントが見えないという事態がなくなるのである。</p>
<pre class="prettyprint">;<comment>; text
</pre>
<p>migemo検索は、*completelistの-match:nオプションを使うとできるようになる。これにより、行頭コメントに日本語を使っても、それを検索できるわけだ。</p>
<pre class="prettyprint">*completelist -match:6
</pre>
<h2 id="やり方">やり方</h2>
<p>以下のような補完候補ファイルをPPxフォルダに保存する。</p>
<p>launch.txt</p>
<pre class="prettyprint">git
add .
commit -m"%*input("%*now" -title:"commit message")"
push
pull
status
;<単独PPv用PPcを起動>; *ppc -r -bootid:v -single -k *mapkey use,K_forppv
;<反対窓にカーソル下フォルダを連動表示>; *mapkey use,K_openbyotherwin %: *string i,ppcid=%N %: *linecust obow,KC_main:SELECTEVENT,*ifmatch !0,0%(%si"ppcid" %: *execute ~,%%j%FCD%) %: %K"loadcust" %: *linemessage Open by other Window MODE [ESC]QUIT
;<git add commit push>; *string o,commit_message="%*input("%*now" -title:"commit message")" %: %Os git add . %: git commit -m %so"commit_message" %: git push
;<aliasに登録>; *string o,name=%*input("%X" -title:"エイリアス名を入力してください" -mode:g) %: *alias %so"name"=%FCD
;<ハイライトモード>; *linecust highlight,KC_main:LOADEVENT,*ifmatch "o:e,a:d-","00_LISTFILE.txt" %%: *markentry -set:00_LISTFILE.txt %: *mapkey use,K_highlightmode %: *string i,hlnum=1 %: *linemessage HIGHLIGHT MODE [1-7]CHANGE COLOR ^[S]SAVE [ESC]QUIT
;<FastCopyモード>; *mapkey use,K_fastcopymode %: *linemessage FASTCOPY MODE [C]COPY [M]MOVE [D]DELETE [F2]MIRROR [ESC]QUIT
;<7-Zipモード>; *mapkey use,K_7zipmode %: *linemessage 7-Zip MODE [U]展開 [P]圧縮 [I]個別圧縮 [Esc]QUIT
;<markdownをhtmlに変換>; browser https://ikapper.github.io/md2html/
;<ダイアログで順次リネーム>; *script %0Script\rename.js
;<外部エディタでリネーム>; *script %0Script\batchRename.js
;<サブモニターを縦に>; *run -d:D:\bin\dc2 dc2.exe -configure="tate.xml"
;<サブモニターを横に>; *run -d:D:\bin\dc2 dc2.exe -configure="yoko.xml"
;<ゴミ箱メニュー>; %z"#10:\",B
;<rubyでローカルサーバーの起動>; C:\Ruby31-x64\bin\ruby.exe C:\Ruby31-x64\bin\bundle exec C:\Ruby31-x64\bin\jekyll serve -w --baseurl ""
editor %0launch.txt ;編集
</pre>
<p>以下のコマンドで、補完候補ファイルを読み込んで一行編集が起動。選択したコマンドが実行される。</p><pre class="prettyprint">*string o,name=%*input("" -title:"PPlauncher" -mode:h -k:"*completelist /set /file:%%0launch.txt -match:6 ") %: *execute,%so"name"
</pre>
<p>日本語の行頭コメントがあるため、長いコマンドであっても視認しやすい。さらに、migemoにより絞り込みも容易である。</p>
つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-65754156476234442492023-06-07T19:51:00.000+09:002023-06-07T19:51:50.750+09:00反対窓にカーソル下フォルダを連動表示<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjISyRMrMMwXzkKr442zHE8SkghfDR39z4vUS3EAbTc07-YqoLgHwi55coAh2JZfTdgS_0V1xXsET9WwHBeH6zJgrxccsThNkTBlR_wWEltYiWTMYmr_R1LBljFXZC2t4y5lbgADEtaT5e_UxhDEASmyY6jH-qhk_5Ysq733m52q_c7EJ8evsH5UIel7Q/s1218/obow.gif" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" width="400" data-original-height="591" data-original-width="1218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjISyRMrMMwXzkKr442zHE8SkghfDR39z4vUS3EAbTc07-YqoLgHwi55coAh2JZfTdgS_0V1xXsET9WwHBeH6zJgrxccsThNkTBlR_wWEltYiWTMYmr_R1LBljFXZC2t4y5lbgADEtaT5e_UxhDEASmyY6jH-qhk_5Ysq733m52q_c7EJ8evsH5UIel7Q/s400/obow.gif"/></a></div>
<p>現在窓のカーソルに連動して、反対窓でカーソル下フォルダを表示するようにする。
<a href="http://hoehoetukasa.blogspot.com/2022/04/blog-post.html">つかさのほえほえ日記: サブディレクトリを連動表示</a>からの変化は以下の通り。</p>
<ul>
<li>コマンドを実行したPPcでのみ有効に</li>
<li>SELECTEVENTを使うことで、マウスでの選択も有効に</li>
</ul>
<p>以下を編集して取込。</p>
<pre class="prettyprint">K_openbyotherwin = {
ESC ,*mapkey delete,K_openbyotherwin %: *linecust obow,KC_main:SELECTEVENT, %: *linemessage Open by other Window MODE END
</pre>
<p>以下を実行する。</p>
<pre class="prettyprint">*mapkey use,K_openbyotherwin %: *string i,ppcid=%N %: *linecust obow,KC_main:SELECTEVENT,*ifmatch !0,0%(%si"ppcid" %: *execute ~,%%j%FCD%) %: %K"loadcust" %: *linemessage Open by other Window MODE [ESC]QUIT
</pre>つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0tag:blogger.com,1999:blog-9163715364109540476.post-43550863382403883892023-05-09T20:15:00.000+09:002023-05-09T20:15:13.524+09:00ハイライトモードを改良<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzbFZoE1Zg-Ky9RKsgMMAVZYSYuoTURdPBUew5rFNm0bKxH0zKuk0Ubgkb9opo9FY34vkivSUqx7frhtrjIEPVGVaUC7sZfc7EG_yJTCmT7QA5y8vXncgVphpqAmmiJRIRbXQqaB6DWZqaIcmgEtzYKDxjs1H7Io_v23DPR0xkyPt3XyuD6xRg7KZyEA/s1041/DIB%20BITMAP-16.png" style="display: block; padding: 1em 0px; text-align: center;"><img border="0" data-original-height="486" data-original-width="1041" height="186" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzbFZoE1Zg-Ky9RKsgMMAVZYSYuoTURdPBUew5rFNm0bKxH0zKuk0Ubgkb9opo9FY34vkivSUqx7frhtrjIEPVGVaUC7sZfc7EG_yJTCmT7QA5y8vXncgVphpqAmmiJRIRbXQqaB6DWZqaIcmgEtzYKDxjs1H7Io_v23DPR0xkyPt3XyuD6xRg7KZyEA/w400-h186/DIB%20BITMAP-16.png" width="400" /></a></div>
<p><a href="http://hoehoetukasa.blogspot.com/2021/12/blog-post.html">つかさのほえほえ日記: ハイライトモード</a>の使い勝手がいまいちだったので、改良した。大きな変更点は以下。</p>
<ul>
<li>00_LISTFILE.txtがディレクトリにある場合はハイライトを自動で再現</li>
<li>ハイライトエントリ上で[SPACE]でハイライト解除</li>
</ul>
<p>まずは以下を編集して取込。</p>
<pre class="prettyprint">-|K_highlightmode =
K_highlightmode = {
SPACE ,*if !%si"hlnum" %: %K"@SPACE" %: *stop
*if %*js("PPx.result=PPx.EntryHighlight") %: *markentry -highlight:0 %R %: %K"@DOWN" %: *stop
*markentry -highlight:%si"hlnum" %R %: %K"@DOWN"
\SPACE ,*if !%si"hlnum" %: %K"@\SPACE" %: *stop
*if %*js("PPx.result=PPx.EntryHighlight") %: *markentry -highlight:0 %R %: %K"@UP" %: *stop
*markentry -highlight:%si"hlnum" %R %: %K"@UP"
^S , *makelistfile 00_LISTFILE.txt -basic -highlight %: *linemessage ハイライトを保存しました
ESC , *linecust highlight,KC_main:LOADEVENT, %: *mapkey delete,K_highlightmode %: *linemessage HIGHLIGHT MODE END
0 , *linemessage ファイルマークに変更しました %: *string i,hlnum=0
1 , *linemessage ハイライト1に変更しました %: *string i,hlnum=1
2 , *linemessage ハイライト2に変更しました %: *string i,hlnum=2
3 , *linemessage ハイライト3に変更しました %: *string i,hlnum=3
4 , *linemessage ハイライト4に変更しました %: *string i,hlnum=4
5 , *linemessage ハイライト5に変更しました %: *string i,hlnum=5
6 , *linemessage ハイライト6に変更しました %: *string i,hlnum=6
7 , *linemessage ハイライト7に変更しました %: *string i,hlnum=7
}
</pre>
<p>以下のコマンドを実行。</p>
<pre class="prettyprint">*linecust highlight,KC_main:LOADEVENT,*ifmatch "o:e,a:d-","00_LISTFILE.txt" %%: *markentry -set:00_LISTFILE.txt %: *mapkey use,K_highlightmode %: *string i,hlnum=1 %: *linemessage HIGHLIGHT MODE [1-7]CHANGE COLOR ^[S]SAVE [ESC]QUIT
</pre>
<p>キーバインドは以下の通り。</p>
<ul>
<li>[SPACE] カーソル位置のファイルをハイライト & [↓]</li>
<li>\[SPACE] カーソル位置のファイルをハイライト & [↓]</li>
<li>[数字] ハイライト色切り替え</li>
<li>^[S] ハイライトを00_LISTFILE.txtに保存</li>
<li>[ESC] ハイライトモード終了</li>
</ul>つかさhttp://www.blogger.com/profile/09178201573511049868noreply@blogger.com0