2023年4月5日水曜日

PPbをWindows TerminalのQuakeモードで実行

PPbをWindowsTerminalのQuakeモードで実行してみる。

こんな感じでデスクトップ上部にWTが表示され、トグルで表示非表示を切り替えることができます。

やり方

[Ctrl+.]で設定を開き、左下の[+]からPPbをプロファイルに追加する。名前をPPbに、コマンドラインをPPBW.EXEのパスにする。

[Ctrl+Shift+,]でconfig.jsonを開き、actionsの箇所に以下を追加する。

        {
            "command": 
            {
                "action": "globalSummon",
                "desktop": "any",
                "dropdownDuration": 0,
                "monitor": "any",
                "name": "_quake",
                "toggleVisibility": true
            },
            "keys": "win+@"
        },

以下のコマンドを実行。

wt.exe --window _quake new-tab --profile "PPb"

[Win+@]で、QuakeモードのWTをトグルで表示することができる。

画面を分割する場合

画面が横に長すぎて無駄だ!有効活用したい!という場合は、画面を左右に分割し、それぞれでPPB[A}とPPB[B}を起動しよう。

wt.exe --window _quake new-tab -p "PPb" %; wt.exe -w 1 sp -V --size 0.5 -d %0 %0ppbw.exe -k *execute ba,*option common %%: %%; wt.exe -w 1 mf 3

tar80さんの記事を参考にした…というかほぼそのままですね。 PPcからPPbを使うときは、基本右側のPPB[B]が使われる。左のPPB[A}を使いたい場合は、WTにフォーカスして直接コマンドを打つか、*execute ba,コマンドを実行する。

通常モードでの表示非表示トグル

Quakeモードを使わず表示非表示をトグルでしたい場合は、次のようになる。

*RotateExecute wtid, "*shownormal %%*findwindowclass(""CASCADIA_HOSTING_WINDOW_CLASS"") %%: *focus C","*minimize %%*findwindowclass(""CASCADIA_HOSTING_WINDOW_CLASS"")"

参考

2023年4月4日火曜日

マークの有無でCtrl+Wの検索対象を変化

Ctrl+Wによる検索を

  • マークがある時:マークしたディレクトリを検索
  • マークがない時:カレントディレクトリを検索(通常動作)

とする。

KC_main	= {	; PPcメイン窓
^W	,*if %*js("PPx.result=PPx.EntryMarkCount") %: *where -marked:on %: *stop
	*where"
}

2023年4月2日日曜日

xyzzyをPPcの中心に順次移動

xyzzyを移動する時、一々マウスを使うのは面倒なので、キーボード操作で移動できるようにする。 移動位置の基準には、ほえほえ日記を見ている人はまず間違いなく2つや3つは常時起動してるはずの、PPcを使う。

PPx側の設定

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

rotate_ppc_id.js

以下を編集して取り込み。

_Command	= {	; ユーザコマンド・関数
xyzzypos	= *string o,handle=%%N%*script(%0Script\rotate_ppc_id.js,xyzzyid)
	*fitwindow %*extract("%so"handle""),%*findwindowtitle("-xyzzy-"),20
}

xyzzy側の設定

以下を.xyzzyに追加。

(setq-default title-bar-format "-xyzzy-")
(set-extended-key-translate-table exkey-S-tab #\F20)
(global-set-key '#\F20 #'(lambda () (interactive)
      (call-process "D:\\bin\\ppx\\PPTRAYW.EXE -c *xyzzypos")))

やり方

PPc[A] PPc[B] PPc[C]の三つが起動していた場合、xyzzy上でShift+Tabで、

PPc[A]→PPc[B]→PPc[C]→PPc[A]→…

という順序でPPc中央に移動する。

参考

2023年3月22日水曜日

Floorpを使ってみる

今までvivaldiを愛用していたが、最近のバージョンではTree Tabsが使えなくなったようなので(多分)、ツリー型タブが使える新しいブラウザを探していた。 FloorpというFirefoxベースのブラウザを見つけたので、試しに使ってみる。 以下は初期設定のメモ。

設定

  • 一般 - タブバーの設定:垂直タブにブラウザーを最適化
  • ファイルとプログラム:ダウンロードフォルダを変更
  • Floorpの更新:更新の確認は行うが、インストールするか選択する

ツリー型タブの設定

  • 「設定 - 一般 - ツリー型タブの設定 - 設定を開く」から設定する
  • 「新しいツリーが作られた時は、自動的に他のツリーを折りたたむ」のチェックを外す
  • 「タブを切り替えた時は、フォーカスされたタブのツリーを自動的に展開して、他のツリーを折りたたむ」のチェックを外す

userChome.css

  • 「ツリー型タブ」と書いてあるサイドバータイトルを消すために、userChrome.cssをいじる
  • Help - 他のトラブルシューティング情報 - プロファイルフォルダー - フォルダを開くをクリック。エクスプローラーが開く
  • chromeフォルダに入ると、userChrome.cssがあるはず。以下を追加する。その後、Floorpを再起動する。

/* Hide the header at the top of sidebar */
#sidebar-header {
  display: none;
}

拡張機能

まずはuBlock Originを有効化。次に必要な拡張機能を入れる。

雑記

kikiに触れて以来、ツリー型タブのブラウザ以外は使えない呪いにかかっている。数年おきに、常用してるブラウザが使えなくなる→ブラウザ難民化を繰り返してるので、そろそろツリー型タブが全ブラウザの標準装備になってほしい。

2023年2月11日土曜日

PPxでポチエスっぽい判別実行+Everything

PPxで

  • パス判別
  • 拡張子判別

ができるユーザコマンドを作り、それを外部から利用できるようにする。 今回は、Everythingから利用する例を紹介する。

準備

PPx側

以下を編集して取込。

Command    = {    ; ユーザコマンド・関数
pochiS    = *string o,name=%*arg(1)
    *ifmatch "/D:\Data\Music/",%so"name" %: D:\bin\AIMP5\AIMP.exe "%so"name"" %: *stop
    *ifmatch "/D:\Data\Picture/",%so"name" %: D:\bin\NeeView\NeeView.exe "%so"name"" %: *stop
    *ifmatch .pdf,%so"name" %: D:\bin\sumatra\SumatraPDF.exe "%so"name"" %: *stop
    *ifmatch .mp4,%so"name" %: D:\bin\MPC-HC\mpc-hc64.exe "%so"name"" %: *stop
    *ifmatch "o:e,a:d+",%so"name" %: *execute C,*jumppath "%so"name"" %: *stop
    *execute ,"%so"name""
}

everything側

「オプション - 全般 - コンテキストメニュー」から「開く(フォルダ)」を選択し、コマンドに以下を入力。

$exec("D:\bin\ppx\PPTRAYW.EXE" -c *pochiS "%1")

同様に、「開く(ファイル)」を選択して以下を入力する。そして、「OK」あるいは「適用」で反映させる。

$exec("D:\bin\ppx\PPTRAYW.EXE" -c *pochiS "%1")

GUIを使わず、Everything.iniを直接編集する場合は以下のようになる。

open_folder_command2=$exec("D:\bin\ppx\PPTRAYW.EXE" -c *pochiS "%1")
open_file_command2=$exec("D:\bin\ppx\PPTRAYW.EXE" -c *pochiS "%1")

やり方

Everythingで選択したエントリに応じて、以下のように判別実行する。

  • D:\Data\Music以下にあるとき→Aimpで開く
  • D:\Data\Picture以下にあるとき→NeeViewで開く
  • PDFファイル→sumatoraPDFで開く
  • MP4ファイル→MPC-HC64で開く
  • それ以外のフォルダ→アクティブなPPcで開く
  • それ以外のファイル→実行

ちなみに、実行後にEverythingを閉じたいなら、Everything.iniを以下のように編集すればいい。

close_on_execute=1

2023年1月30日月曜日

フォルダ構造とバックアップの方法

バックアップの方法についてのメモ。一年に一度程度、バックアップをしようと思い立つのだが、そのたびにやり方を忘れているので備忘録に。

フォルダ構造

僕はフォルダ構造を以下のようにしている。これは10年以上変わっていない。

[D:\]
 ├ [bin]
 ├ [data]
 ├ [work]
 ├ [temp]
 └ [download]
  • bin:実行ファイル関係
  • data:内容が変化しないファイル。画像、音楽、書籍、論文等の完成済みのもの
  • work:内容が変化するファイル。作業中で未完成のもの
  • temp:一時的なファイル。書庫の解凍をしたり、試しにダウンロードした実行ファイルをここに置いたりする
  • download:ダウンロードしたファイル

過去の記事を読むと、

  • ファイラでいじりやすいように単純なフォルダ構造にする
  • バックアップしやすいようにバックアップが必要なフォルダとそうでないフォルダを分ける
  • 時間経過によって破綻しないフォルダ構造にする

あたりを意識していたようだ。

バックアップの区分

  • workフォルダ:普段からバックアップ
  • dataフォルダ:たまにバックアップ

と分ける。

普段からバックアップ

workフォルダにある自作のファイルは、一度失うと取り返しがつかず、深刻なダメージを受けてしまう。最低でも一日おき、できればリアルタイムでバックアップをしたい。そこで、ここにあるファイルはDropBox等を用いてバックアップする。

たまにバックアップ

dataフォルダにあるファイルは、年に一度程度、外付けHDDに保存する。この外付けHDDは普段はPCにはつなげず、別の場所に保管しておく。 もちろん、NASとかRAIDとかを駆使して、workフォルダもdataフォルダも定期的に保存できればそれがいいが、そこまでしなくてもいいかと現状では思っている。

バックアップの手順

バックアップ時は以下の手順を取る。

ファイル整理

まず、tempフォルダとworkフォルダを整理する。 tempにあるファイルは、基本全て削除してもいいはずなので、ざっと確認したのちに削除する。 workフォルダにあるファイルは、dataフォルダに移動する。この際にカテゴリ分けも行う。

[Data]
 ├ [写真]
 ├ [Music]
 ├ [拾った画像]
 ├ [書籍]
 └ [ドキュメント]
     ├ [2022]
     ├ [2021]
     ├ [2020]
     ├ [2019]
     ├ [2018]
     ├ [2017]
     └ [2016]

こうしてtempフォルダ、workフォルダが空になり、必要なファイルがdataフォルダに移動した段階で、dataフォルダのバックアップを行う。

バックアップツール

僕はPPxのDirMirrorか、fastcopyを利用してバックアップを行っている。 カーソル下フォルダを反対窓にミラーリングする場合は、それぞれ以下のようになる。

  • PPx
*file DirMirror -dest:%2
  • fastcopy
%OB D:\bin\FastCopy\fcp.exe /cmd=sync /auto_close /bufsize=1024 /error_stop %#FCD /to=%2\

2023年1月27日金曜日

zoxide+nyagosでディレクトリ移動

某所で一時期話題になっていたzoxideを使ってみる。ppbだと標準出入力の扱いがややこしいので、nyagosを利用する。まずは

をインストールする。scoopとかchocolatey みたいなパッケージ管理ソフトを使うと、パスも勝手に通してくれて便利。

次に以下をPPxフォルダに保存。

jumppath.lua

hoge = nyagos.eval("zoxide query -i")
nyagos.exec(arg[1] .. "PPBW.EXE -c *execute C,*jumppath \"" .. hoge .. "\"")

以下を編集して取込。

KC_main = {
LOADEVENT ,*ifmatch "o:e,a:d",%1 %: %Obcd zoxide add "%1"
}
Mes0411	= {
EXEF	= 
}

以下を実行。

%Oq *run -noppb -pos:%*windowrect(,l),%*windowrect(,t) nyagos -f %0jumppath.lua %0

参考

追記

2023-04-22:書庫内のパスを登録しないようにした。

2023-05-06:登録パスに空白があってもパス変更ができるように修正。