2024年3月17日日曜日

ユーザコマンドでパスによる判別実行

特定のファイル/フォルダをパスで判別し、特定のソフトに投げられるようにする。例えばMusicフォルダ以下のフォルダは音楽再生ソフトに投げ、Pictureフォルダ以下のフォルダは画像再生ソフトに投げる、というように。 かつては、「ポチエス」名称による関連付け専用版や、fenrirの機能を使って皆が実現してたやつですね。

準備

以下を編集して取込。

_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)
}

やり方

*pathdetect %FCD

とすれば、パスに応じて違うソフトに投げることができる。今回の例であれば、D:\Data\Music以下のフォルダはAIMP5に。D:\Data\Picture以下のフォルダはNeeViewで開くことになる。

2024年3月9日土曜日

一行編集でfenrirっぽいディレクトリ移動

一行編集で、編集中のディレクトリパスの階層を、上がったり下がったりできるようにする。fenrirの挙動を参考にした。

準備

以下をScriptフォルダに保存する。

以下を編集して取込。

-|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""
}

やり方

ディレクトリパスを羅列した、以下のようなファイルを用意する。手動で作ってもいいし、zoxideやfenrirscanを利用して作ってもいい。

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

作成したファイルのパスを引数にして、*jump2listpathを実行する。

*jump2listpath %0data\path

すると、このファイルを補完候補リストとした一行編集が起動する。

キーバインドは以下の通り。

  • [RIGHT] サブディレクトリ表示
  • [LEFT] 階層を一つ上へ
  • [ENTER] パスをアクティブなPPcで開く

参考

2024年2月26日月曜日

PPvで簡易漫画ビューア

PPvを二つ並べて、簡易漫画ビューアにする。

準備

以下をScriptフォルダに保存。

以下を編集して取込。

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
}

やり方

以下のコマンドを実行すると、PPV[R]が開く。

*ppv -bootid:R -r %*name(CD,"%R","%1") -k *mapkey use,K_mihirakiview

PPV[R]上でカーソル移動をすると、PPV[L]も起動。漫画ビューアっぽい動作をする。

キーバインドは以下。

  • [UP] 前のページに戻る
  • [DOWN] 次のページに進む
  • [LEFT] 1ページ戻る
  • [RIGHT] 1ページ進む
  • [W] PPV[R]の左にPPV[L]を移動、高さが同じに
  • [Q] 両方の窓を閉じる
  • [ENTER] 両方の窓を閉じる

2024年1月23日火曜日

ASUS t90chiチャタリング対策

僕がずっと使ってるt90chiには、チャタリングを起こしやすいという欠点がある。色々な対処法を試してきたが、チャタリングを完全に抑えることはできなかった。仕方ないので、チャタリングが起きることを前提にした対策をする。

ccchattttter

ccchattttterをインストール。起動したら、「キーリピート無視」のチェックを外す。これで、チャタリングが起きても、文字がああああああああああというように連打されず、停止した状態になる。

キーボードの再接続

ccchattttterでチャタリングが停止したら、アクションセンターを表示し、Bluetoothの箇所をタッチ。一旦キーボードの接続を切ったあと、再びタッチして再接続する。これでチャタリングが解消される。

2023年11月24日金曜日

PPv窓間移動

[Tab]で起動中のPPvに順次フォーカスする。 以下をScriptフォルダにnextppv.jsという名前で保存。

以下を編集して取込。

KV_main    = {    ; PPvメイン窓
TAB    ,*selectppx %*script(%0Script\nextppv.js)
}

参考

十年くらい前に同じ機能のものを作ってたことに今気づいた(^_^;)

2023年11月9日木曜日

piCorePlayerのインストールと設定のメモ

ラズパイで音楽を再生するため、volumio、moode、muteと試してきた。 最近はpiCorePlayerを使っている。そのインストールと設定のメモ。

インストール

piCorePlayerのOSイメージをDownloads | piCorePlayer documentationからダウンロードし。Raspberry Pi ImagerでmicroSDカードに書き込む。

書き込みが終わったら、PCP_BOOT(ドライブ名:)を開く。wpa_supplicant.conf.sampleを複製し、wpa_supplicant.confにリネーム。wifiのssidとパスワードを追加する。ダブルクォーテーションは必要なので外さないこと

network={
    ssid="Wi-FiルーターのSSID"
    psk="Wi-Fiルーターへの接続暗号キー"
    key_mgmt=WPA-PSK
    auth_alg=OPEN
}

microSDカードを取り出し、ラズパイに差し込んで起動する。

piCorePlayer側の設定

Advanced IP Scannerやwifimanを使ってIPを調べ、ブラウザでアクセスする。

output device指定

  • Squeezelite Settingsタブへ
  • output deviceを指定してSAVE。僕の場合はAllo Boss DAC(and MiniBoss)になる。
  • MainpageでpiCorePlayerを再起動する。再起動後、Squeezelite is runningが緑になっていればOK

LMSのインストール

  • LMSタブへ。ページ最下段にあるbetaをクリックする
  • Install LMS on pCPを選択する。すると、「Not enough space. Press [OK] to start expanding your partition or [Cancel] to abort.」とポップアップで言われるのでOKを押す。すると、パーティションを変更できるページに飛ぶ。resizeを押すと再起動するので、しばらく待つ
  • もう一度Install LMS on pCPを選択。今度はインストールされる
  • MaimpageでpiCorePlayerを再起動する。再起動後、LMS is runningが緑になっていればOK

LMSの設定

  • LMSタブのLMS Web PageをクリックしてLMSの設定ページへ。初期設定は基本的にスキップでいい。
  • 右下のセッティングをクリックして、設定をする

youtubeプラグインのインストール

  • 設定からpluginタブを開く
  • youtubeにチェックを入れ、applyを押す。
  • restartしますか、というポップアップが出るのでYES

youtubeプラグインの設定

プレイヤーの設定

  • 右上のドロップダウンメニューからpiCorePlayerを選択

2023年11月8日水曜日

EverythingとPPxの連携

以下のように動作させる。

  • PPcの中心にEverythingを表示
  • 選択ファイルをPPcで開いたあと閉じる

準備

EverythingフォルダにあるEverything.iniを同フォルダに複製し、Everything2PPx.iniにリネーム。

Everything2PPx.iniをエディタで開き、該当行を以下のように変更。

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

PPxでEverythingのエイリアスを登録。

A_exec    = {    ; エイリアス
everything    = D:\bin\Everything\Everything.exe
}

やり方

PPcから以下のコマンドを実行。

%Oi *launch %'everything' -config Everything2PPx.ini %: *fitwindow %N,%*findwindowclass("EVERYTHING"),20 %: *focus #%*findwindowclass("EVERYTHING")