Closed7

wezterm + tmuxの環境構築

HansyHansy

weztermで設定しておきたいことリスト

  • 背景の透過
  • vim-nightfly-colorsに合わせた色味へ変更
  • (tmuxが便利なので) タブ機能の無効化+タブバーの削除
  • 衝突するキーバインドの削除
    • tmuxと競合するものは基本的にいらない
    • これは見つかりしだい整理する。
  • alacrittyで設定してた一部キーバインド
    • 特に新しく設定したい内容がなかったので、今回はスルー
  • フォント
HansyHansy

簡単そうなやつから

vim-nightfly-colorsに合わせた色味へ変更

これは前に設定したことがあったので一番簡単。
20240127-113634-bbcac864のバージョンから、公式のコードに登録されたっぽいので、↓のコードを使うんじゃなくて、公式のconfigから呼び出す方がおすすめ。
色味の細かい修正をしたいなら、手動で設定しても良いかも。

コード
config.colors = {
	-- From vim night fly colors
	foreground = "#bdc1c6",
	background = "#011627",
	cursor_fg = "#080808",
	cursor_bg = "#9ca1aa",
	selection_fg = "#080808",
	selection_bg = "#b2ceee",
	ansi = {
		"#1d3b53", -- black
		"#fc514e", -- red
		"#a1cd5e", -- green
		"#e3d18a", -- yellow
		"#82aaff", -- blue
		"#c792ea", -- magenta
		"#7fdbca", -- cyan
		"#a1aab8", -- white
	},
	brights = {
		"#7c8f8f", -- black
		"#ff5874", -- red
		"#21c7a8", -- green
		"#ecc48d", -- yellow
		"#82aaff", -- blue
		"#ae81ff", -- magenta
		"#7fdbca", -- cyan
		"#d6deeb", -- white
	},
}

なぜ昔weztermを使わなくなったのかの理由がわかった...
neovimのコメントが白背景黒文字になるという最低の状態に落ちてしまうからっぽい。
治し方がわからねぇ...

治った!原因は二つで、

  • terminfo がなかった
  • TERMに適切な値が入ってなかった
    でした!

フォント

同上。ただ、macOS限定で動く可能性が非常に高いので、他OSの時には設定の修正が必要

コード
-- Font Config
config.font = wezterm.font_with_fallback({
	{ family = "FiraCode Nerd Font" },
	{ family = "Hiragino Kaku Gothic Pro" }, -- ヒラギノフォント
})

config.font_rules = {
	-- For Bold-but-not-italic text, use this relatively bold font, and override
	-- its color to a tomato-red color to make bold text really stand out.
	{
		intensity = "Bold",
		italic = false,
		font = wezterm.font_with_fallback({
			{ family = "FiraCode Nerd Font", weight = "Bold" },
			{ family = "Hiragino Kaku Gothic Pro", weight = "Bold" }, -- ヒラギノフォント
		}),
	},

	-- Bold-and-italic
	{
		intensity = "Bold",
		italic = true,
		font = wezterm.font_with_fallback({
			{ family = "FiraCode Nerd Font", weight = "Bold", style = "Normal" },
			{ family = "Hiragino Kaku Gothic Pro", weight = "Bold", style = "Normal" }, -- ヒラギノフォント
		}),
	},

	-- normal-intensity-and-italic
	{
		intensity = "Normal",
		italic = true,
		font = wezterm.font_with_fallback({
			{ family = "FiraCode Nerd Font Light", weight = "Light", style = "Normal" },
			{ family = "Hiragino Kaku Gothic Pro", weight = "Light", style = "Normal" }, -- ヒラギノフォント
		}),
	},

	-- half-intensity-and-italic (half-bright or dim); use a lighter weight font
	{
		intensity = "Half",
		italic = true,
		font = wezterm.font_with_fallback({
			{ family = "FiraCode Nerd Font Light", weight = "Light" },
			{ family = "Hiragino Kaku Gothic Pro", weight = "Light" }, -- ヒラギノフォント
		}),
	},

	-- half-intensity-and-not-italic
	{
		intensity = "Half",
		italic = false,
		font = wezterm.font_with_fallback({
			{ family = "FiraCode Nerd Font Light", weight = "Light" },
			{ family = "Hiragino Kaku Gothic Pro", weight = "Light" }, -- ヒラギノフォント
		}),
	},
}
HansyHansy

タブ機能の無効化 + タブバーの非表示

タブ機能自体の無効化は調べてないけど多分ないので、タブバーの非表示を実施。
タブ機能の無効化はキーバインドからタブ作成を外しておけば良いので、その時に実施。
間違って新しいタブが作られた時にわかるように、タブが複数の時は表示するようにしておく

-- Disable tab bar
config.hide_tab_bar_if_only_one_tab = true
HansyHansy

背景の透過

めっちゃ簡単だった。

-- Set window Opacity
config.window_background_opacity = 0.7
HansyHansy

ついでにRaycastから新規windowを生成できるようにプラグイン化した
何も難しくないので、コードだけ紹介

#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title Open WezTerm new window
# @raycast.mode silent

# Optional parameters:
# @raycast.icon /Applications/WezTerm.app/Contents/Resources/terminal.icns

# Documentation:
# @raycast.author Hansyo
# @raycast.authorURL https://github.com/Hansyo

wezterm start
HansyHansy

一通り終わったのでClose
Macなら、Home brew版のtmuxがsixelに対応するアプデが入りしだいみんな使えるようになるかと。
早く欲しい人は手元でビルドすると良いです!

このスクラップは2024/02/16にクローズされました