2023年6月7日水曜日

反対窓にカーソル下フォルダを連動表示

現在窓のカーソルに連動して、反対窓でカーソル下フォルダを表示するようにする。 つかさのほえほえ日記: サブディレクトリを連動表示からの変化は以下の通り。

  • コマンドを実行したPPcでのみ有効に
  • SELECTEVENTを使うことで、マウスでの選択も有効に

以下を編集して取込。

K_openbyotherwin    = {
ESC    ,*mapkey delete,K_openbyotherwin %: *linecust obow,KC_main:SELECTEVENT, %: *linemessage Open by other Window MODE END

以下を実行する。

*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

2023年5月9日火曜日

ハイライトモードを改良

つかさのほえほえ日記: ハイライトモードの使い勝手がいまいちだったので、改良した。大きな変更点は以下。

  • 00_LISTFILE.txtがディレクトリにある場合はハイライトを自動で再現
  • ハイライトエントリ上で[SPACE]でハイライト解除

まずは以下を編集して取込。

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

以下のコマンドを実行。

*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

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

  • [SPACE] カーソル位置のファイルをハイライト & [↓]
  • \[SPACE] カーソル位置のファイルをハイライト & [↓]
  • [数字] ハイライト色切り替え
  • ^[S] ハイライトを00_LISTFILE.txtに保存
  • [ESC] ハイライトモード終了

2023年4月28日金曜日

管理者権限のPPbを介してwifiをON/OFF

僕はasus t90chiという2in1PCを使っている。外で文章を打ち込む用途では、今でも最高の機種だと思っているのだが、一つだけ欠点があった。それは、チャタリングを起こしやすいこと。t90chi本体とキーボードをつなげているbluetoothが、wifiと干渉してチャタリングが起こしているらしい(多分)。文章を打ち込んでいる際、チャタリングを起こしてこおおおおおおおおおおおおおんなふうになるだけならまだしも、そのまま操作が効かなくなり、強制シャットダウンをするはめになることが多々ある。 これを解決するため、

  • 管理者権限のPPbをWindowsTerminalで起動し常駐
  • 管理者権限PPbを介してコマンドラインでwifiをオンオフ

できるようにする。どれだけ効果があるかは定かではない。

WindowsTerminalの設定

PPbのプロファイル作成

  • 名前をPPbに
  • コマンドラインにPPBW.EXEのパスを入力
  • 「このプロファイルを管理者として実行する」をオンに

スタートアップ

  • 既定のプロファイルをPPbに
  • 起動モードをフォーカスに

外観

  • 「ターミナルを最小化したときに通知領域で非表示にする」をオンに

やり方

  • WindowsTerminalを起動する。認証ダイアログが出るので許可する。
  • 以下のコマンドでwifiをオンオフする
netsh interface set interface "Wi-Fi" disable
netsh interface set interface "Wi-Fi" enabled

2023年4月6日木曜日

LIVA Z2 CMOSバッテリー交換

LIVA Z2を起動すると、「CMOS Settings Wrong」と言ってBIOS画面で止まるようになってしまった。CMOSバッテリーが切れてしまったらしい。起動のたびに時間を設定し直すのも面倒なので、LIVA Z2を分解して交換することにする。

必要なもの

  • ドライバー大小
  • ラジオペンチ
  • ピンセット
  • カッター
  • 両面テープ

ケースから取り出す

底部のネジをゆるめる。

下にスライドさせて外す。

中はこのようになっている。

2.5インチベイの取り外し

SSDの増設は、2.5インチベイに差し込むだけだ。

メモリ交換をするには、2.5インチベイを取り外す必要がある。 留具が引っかかっているだけなので、うまくずらして取り外そう。この際、基盤とつながっているコードが傷つかないように注意。

基盤からケーブル類を外す

メモリの増設や交換は、スロットに差し込むだけだ。

CMOSバッテリーを交換するには、さらに分解する必要がある。

まずは、真ん中にあるネジを外す。

次に、WiFiカードを取り外す。ネジを外して、スロットから引き抜こう。WiFiカードにつながってる二本の線は取れやすいので慎重に。取れた場合は、指で押し込めばつなげ直すことができる。

次に、2.5インチベイと基盤をつなげているコードを引き抜く。指でつかむのが難しい場合は、ピンセットを使うといい。

以上で、次のような状態になる。

ヒートシンクの取り外し

CMOSバッテリーは、この基盤の裏側、ヒートシンクの下にある。次は、ヒートシンクを取り外そう。

ヒートシンクとマザーボードを止めているのは、四箇所のプラスチックの留具だ。下から差し込むと、先が傘のように開いて固定する仕組みになっている。ラジオペンチで傘の先をつまんですぼめ、上から押し込むか、下から引っ張るかして取り外そう。

CMOSバッテリーの交換

基盤の裏面はこのようになっている。写真は既に取り外した状態だが、CMOSバッテリーはコネクタでつながっていて、電池は両面テープで固定されている。両面テープを外し、指でコネクタをつまんで取り外そう。

次に、新しく買ってきたCMOSバッテリーをコネクタに差し込み、両面テープで固定する。

注意点は、ケーブルに極性があること。プラスマイナスが逆だと動いてくれない。元からささっていたCMOSバッテリーと、買ってきたCMOSバッテリーを見比べ、ケーブルの色が逆になっている時は入れ替える必要がある。僕が買ったのは「TM CR2032 ケーブル2PINコネクタ付」という商品だったが、そのまま差し込んでも動かず、ケーブルを入れ替える必要があった。

コネクタの写真の箇所を、カッターかなにかで手前に少し曲げると、ケーブルを引き抜くことができる。引き抜いたら、左右を入れ替えて差し直そう。

CMOSバッテリーは5年くらいしたら切れてしまうようだ。ボタン電池をソケットに差し込むタイプのCMOSバッテリーも売っているようなので、後々のことを考えればそういうのを買う方がいいのかもしれない。

参考

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中央に移動する。

参考