Open1

wezterm メモ

プレミ社員プレミ社員

プライベートでWindows、お仕事でmacを使っているが、100%表示をした際のdpiが前者が96、後者が72になっていて異なるため同じフォントサイズでも描画される文字のサイズ感がかなり違う。
なのでwindow-forcus-chengedイベントで現在のdpiを取得し、フォントサイズの設定を上書きする。
https://wezfurlong.org/wezterm/config/lua/window-events/window-focus-changed.html

local wezterm = require('wezterm')

local dpi_change_num = 96
local dpi_change_font_size = 13

local prev_dpi = 0

wezterm.on('window-focus-changed', function(window, pane)
  -- 現在のdpiを取得
  local dpi = window:get_dimensions().dpi

  if dpi == prev_dpi then
    return
  end

  local overrides = window:get_config_overrides() or {}
  -- dpiが96以上の時はフォントサイズを13pxにする
  overrides.font_size = dpi >= dpi_change_num and dpi_change_font_size or nil
  window:set_config_overrides(overrides)

  prev_dpi = dpi
end)

return {
  font_size = 16,
}

参考:
https://coralpink.github.io/commentary/wezterm/dpi-detection.html