1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【tmux/Agent開発】右クリックメニューを拡張して、直感的にペインの背景色とタイトルを変更する快適開発環境

1
Posted at

初めに

ターミナルマルチプレクサの定番である tmux ですが、標準のキーバインド(Prefix + 画面分割 など)をすべて暗記して使いこなすのは少しハードルが高いと感じることはありませんか?また、CodexやClaude Codeのエージェントを利用している場合、「特定のペインだけ一時的に目立たせたい」「ペインが多くなってどれが何を実行しているか分からなくなった」という問題もよく発生します。

今回は、現代のtmuxが持つ強力な右クリックメニュー機能(display-menu)を拡張し、Windowsのデスクトップのように右クリックから直感的に「ペインの背景色変更(目に優しいダークカラー4色)」と「個別ペインタイトルの管理(有効化・名称変更・クリア)」を行えるようにする設定をご紹介します。

内容

1. 実現できること

  • ペイン内を右クリックすると、カスタムメニューがカーソル位置にポップアップします。
  • 標準の「画面分割」「ペイン削除」の機能はそのまま保持。
  • 背景色変更: 白文字が見やすい絶妙なダークレッド、ダークグリーン、ダークグレー、ブラックにワンクリックで切り替え。
  • ペインタイトル管理: 設定順序の競合バグを完全に回避した「有効化」「名前変更」「削除」の3ステップ方式。

2. .tmux.conf の設定コード

以下の設定を、お使いの ~/.tmux.conf にそのまま貼り付けてください。

# ==========================================
# 1. 基本設定(マウス有効化と自動リネーム無効化)
# ==========================================
set -g mouse on
set -g allow-rename off

# ==========================================
# 2. カスタムカラーの定義(白文字が見やすい絶妙なダークトーン)
# ==========================================
%hidden my_red='#541212'    # 視認性の高いダーククリムゾン
%hidden my_green='#004d26'  # 目に優しいエメラルドダークグリーン
%hidden my_grey='#32363e'   # 境界のわかりやすいグラファイトグレー

# ==========================================
# 3. ペインタイトルのフォーマット(右寄せ・白背景に黒文字)
# ==========================================
set -g pane-border-format "#[align=right]#[fg=black,bg=white,bold] #{pane_title} "

# ==========================================
# 4. マウスの右クリックメニューの拡張
# ==========================================
bind-key -n MouseDown3Pane display-menu -t = -x M -y M \
  -T "#[fg=blue,bold] ペインオプション " \
  "水平分割 (Horizontal Split)" "h" "split-window -h" \
  "垂直分割 (Vertical Split)"   "v" "split-window -v" \
  "" \
  "1. ペインタイトルを有効化"   "e" "set -p pane-border-status top" \
  "2. ペインタイトルを変更"     "t" "command-prompt -p 'ペイン名を入力:' \"select-pane -T '%%'\"" \
  "3. ペインタイトルを削除"     "r" "select-pane -T '' \; set -p pane-border-status off" \
  "" \
  "ペインを上と入れ替え"         "u" "swap-pane -U" \
  "ペインを下と入れ替え"         "d" "swap-pane -D" \
  "マークしたペインと入れ替え"   "s" "swap-pane" \
  "" \
  "ペインを削除 (Kill)"         "X" "kill-pane" \
  "ペインを再起動 (Respawn)"     "R" "respawn-pane -k" \
  "ペインをマーク (Mark)"       "m" "select-pane -m" \
  "ペインを拡大/縮小 (Zoom)"    "z" "resize-pane -Z" \
  "" \
  "--- 背景色の変更 ---" "" "" \
  "  black"                    "1" "select-pane -t = -P bg=black" \
  "  my_red"                   "2" "select-pane -t = -P bg=$my_red" \
  "  my_green"                 "3" "select-pane -t = -P bg=$my_green" \
  "  my_gray"                  "4" "select-pane -t = -P bg=$my_grey" \
  "" \
  "  デフォルトに戻す"          "0" "select-pane -t = -P bg=default"

3. 設定の反映方法

設定ファイルを保存した後、tmux内のターミナルで以下のコマンドを実行して設定を即時反映させます。

tmux source-file ~/.tmux.conf

4. 実際の画面

マウスの右クリックメニュー

image.png

ペイン名が表示された画面

image.png

5. 使い方とこだわりポイント

💡 背景色の変更

メニュー下部の「my_red」や「my_green」を選ぶと、クリックしたペインの背景が瞬時に変わります。標準の原色(blue や green など)だと白文字が眩しすぎて目が疲れますが、今回定義した16進数のカスタムヘックスカラーは、可読性を保ちつつ画面の識別がはっきりできる暗さに調整しています。

💡 ペインタイトルの管理(3ステップの理由)

tmuxのメニュー内で「タイトルの有効化」と「名前入力プロンプト」を1つのコマンドで同時に実行しようとすると、評価順序の仕様上、初回入力時にカレントディレクトリのパスが強制表示されてしまうバグが発生します。
これを回避するため、あえてメニューを以下の3つに分離しました。

  1. 有効化 (e): 枠線を出す
  2. 変更 (t): プロンプトに名前を入れて確定(1回で確実に変わります)
  3. 削除 (r): 文字を消して枠線も非表示にする

実際の私のtmux.config設定は、以下で公開されています。
https://github.com/iptracej-education/dotfiles

終わり

tmuxはキーボード駆動にこだわりがちですが、マウスとメニュー(display-menu)を組み合わせることで、複雑なバインドを覚えることなくGUIのような快適さを手に入れることができます。

特にマルチモニターや大画面で多くのペインを開いて並行作業をする開発者にとって、視覚的にペインを整理できるこの設定は作業効率の大幅な向上に繋がるはずです。ぜひ好みのカラーにカスタマイズして、自分だけの快適なターミナル環境を構築してみてください!

Happy Hacking!!!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?