用 WezTerm 的 Escape Sequence 來開啟網頁
之前在 用 iTerm2 的 Escape Sequence 來開啟網頁 裡要解決的問題,在換到 WezTerm 之後一樣要再處理一次, WezTerm 雖然不像 iTerm 可以用 OSC 1337 直接 OpenURL ,但可以用 OSC 1337 來 SetUserVar
,並且會觸發 user-var-changed
1 事件。
所以只要接下來只要自己處理好打開連結的部份就好了:
wezterm.on(
'user-var-changed',
function(window, pane, name, value)
if name == 'open-url' then
wezterm.run_child_process { 'open', value }
end
end
)
相對應的 wezterm-open-url.sh
(可以參考 get_user_vars ):
#!/bin/bash
set -e
set -u
[ -z "${1-}" ] && echo "Usage: $0 <URL>" && exit 1
url="$1"
[[ $url != http* ]] && url="https://$url"
base64_url=$(echo -n "$url" | base64)
if [[ -z "${TMUX-}" ]] ; then
printf "\e]1337;SetUserVar=open-url=%s\x07" "$base64_url"
else
# <https://github.com/tmux/tmux/wiki/FAQ#what-is-the-passthrough-escape-sequence-and-how-do-i-use-it>
# Note that you ALSO need to add "set -g allow-passthrough on" to your tmux.conf
printf "\ePtmux;\e\e]1337;SetUserVar=open-url=%s\x07\e\\" "$base64_url"
fi
♥ Support Me