自分のLinux(X Window)環境ではハマったのでそれの紹介。Macでも設定したが得に難しいことはなかった。
前提
beepと度々出てくるがエイリアスでそれぞれの環境で次の設定を.zshenv
にしている
# Mac
alias beep="afplay /System/Library/Sounds/Submarine.aiff"
# Linux
alias beep="paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
Macでの設定
[bell]
command = { program = "osascript", args = ["-e", "beep"] }
Linuxでの設定
[bell]
command = { program = "/usr/local/bin/alacritty-bell", args = [] }
yamlに書いたスクリプトを自分で書いてインストール(以下の例では/usr/local/bin/
にしているがお好きなところで。不要になったらrmでOK)
# /usr/local/bin/alacritty-bell
#!/bin/sh
# 最初の 2 つの引数 "-e" "beep" を捨てて残りを無視
shift 2
exec paplay /usr/share/sounds/freedesktop/stereo/bell.oga
sudo install -m 755 alacritty-bell /usr/local/bin/alacritty-bell
# テストとして
printf '\a'
設定のポイント
以下のように設定しても実行時には鳴らない。
[bell]
command = { program = "paplay", args = ["/usr/share/sounds/freedesktop/stereo/bell.oga"] }
alacrittyのログをalacritty -vvv
で起動してprintf '\a'
を実行してみると次のように、-e beep
というオプションが追加されてしまっている。(今思ったがosascriptに渡したいargsをLinux環境でも渡されてることが原因?未検証です)
[75.645577126s] [DEBUG] [alacritty] Launched paplay with args ["-e", "beep", "/usr/share/sounds/freedesktop/stereo/bell.oga"]