ドーパミン中毒のガキ 専用、問答無用でターミナルを虹色にするやつ。
$ dpgk ls -la
$ dpgk vim main.go
$ dpgk --speed=0 htop
名前の由来は dpkg のパロディです。dpgkはドーパミン中毒のガキの略です。だから虹色になります。
dpgk [options] <command> [args...]| フラグ | デフォルト | 説明 |
|---|---|---|
--speed |
20 |
虹のアニメーション速度(Hz)。0で静止します。 |
--freq |
1.0 |
虹の周波数/広がり(0.1-10.0) |
--redraw |
0 |
静止画面の再描画アニメーション(Hz)。1-5推奨。TUIはちらつくかもしれません |
--version |
バージョン表示 |
# 基本的な使い方
dpgk ls -la
# スクロール出力も虹色
dpgk dmesg -w
# vim/htop も虹色
dpgk vim main.go
# アニメーションなし
dpgk --speed=0 htop
# 静止画面も呼吸する虹色(実験的)
dpgk --redraw=2 htop
# パイプのときは自動で素通り(虹色オフ)
echo hello | dpgk catGoがインストールされている環境であれば、ビルドやインストールなしで、以下のコマンドで直接実行できます。
go run github.com/shibadogcap/dpgk@latest --help
go run github.com/shibadogcap/dpgk@latest ls -lamise を使用している場合は、以下のコマンドでGitHubのリリースから直接インストールできます(Zipアセットからバイナリが自動抽出されます)。
mise use -g github:shibadogcap/dpgkaqua を使用している場合は、aqua.yaml と同じディレクトリに registry.yaml を作成し、ローカルレジストリとして登録することでインストールできます(Zipアセットからバイナリが自動抽出されます)。
aqua.yaml の設定例:
registries:
- name: local
type: local
path: registry.yaml
packages:
- name: shibadogcap/dpgk@v0.1.2
registry: localregistry.yaml の設定例:
packages:
- type: github_release
repo_owner: shibadogcap
repo_name: dpgk
asset: dpgk-{{.OS}}-{{.Arch}}.zip
files:
- name: dpgkReleases から各プラットフォームのバイナリをダウンロードし、パスの通った場所に配置してください。
git clone https://github.com/shibadogcap/dpgk.git
cd dpgk
go build -o dpgk .クロスコンパイル:
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o dpgk-linux .
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o dpgk-macos .
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o dpgk.exe .dpgk <command>
│
├── ptyx.NewConsole() ← ローカル端末を掌握
├── console.MakeRaw() ← Rawモードでキーを素通り
├── ptyx.Spawn(cmd, PTY) ← 子プロセスを擬似端末で起動
│
├── stdin ─────────────────→ PTY(キー入力そのまま)
├── PTY ───→ RainbowTransformer ───→ stdout(虹色)
├── resize ─────────────────→ PTY(端末リサイズ転送)
└── signal ─────────────────→ PTY(Ctrl+C 等を転送)
RainbowTransformer がANSIエスケープシーケンスをパース:
- SGRの色指定(fg/bg/truecolor)だけを剥がして虹色に置換
- カーソル移動、画面消去、alternate screen、スタイル属性(bold/italic等)は素通し
- カーソル位置を追跡して斜めグラデーションを計算
- 画面バッファを保持し、任意で定周期再描画(
--redraw)
- Go 1.24+(ビルド用)
- Linux / macOS / Windows(Windows は ConPTY)
ご協力ありがとうございます!