0.9와 1.0 사이의 값을 전환하는 키를 바인딩하고 싶고 background_opacity
즉시 Aactitty 터미널에 결과가 표시됩니다. 이 목적을 위한 key_bounds에는 작업이 없습니다.
활성화 했으므로 live_config_reload
가능한 접근 방식 중 하나는 파일을 변경하는 zsh 기능을 작성하는 것입니다 alacritty.yml
.
답변1
동일한 기능을 찾다가 이 질문을 접하고 직접 구현하게 되었습니다. 내 작업에 대한 데모를 포함시켰습니다.블로그.
완전성을 위해 여기에 단계를 포함하겠습니다.
~/bin/toggle_alacritty_opacity
#!/usr/bin/env bash
## If alacritty.yml does not exist, raise an alert
[[ ! -f ~/.config/alacritty/alacritty.yml ]] && \
notify-send "alacritty.yml does not exist" && exit 0
## Fetch background_opacity from alacritty.yml
opacity=$(awk '$1 == "background_opacity:" {print $2; exit}' \
~/.config/alacritty/alacritty.yml)
## Assign toggle opacity value
case $opacity in
1)
toggle_opacity=0.9
;;
*)
toggle_opacity=1
;;
esac
## Replace opacity value in alacritty.yml
sed -i -- "s/background_opacity: $opacity/background_opacity: $toggle_opacity/" \
~/.config/alacritty/alacritty.yml
터미널에서 실행하여 위 스크립트를 실행 가능하게 만듭니다.
chmod +x ~/bin/toggle_alacritty_opacity
~/.zshrc
또는 에 다음 줄이 있는지 확인하십시오 .~/.bashrc
## In order to use the executable scripts inside ~/bin directly
export PATH=$HOME/bin:$PATH
이제 toggle_alacritty_opacity
터미널에서 실행하면 alacritty의 불투명도가 전환됩니다.
보너스
i3 WM을 사용하는 경우 다음 줄을 추가하세요.~/.config/i3/config
## Toggling alacritty opacity in i3 (inside ~/bin)
bindsym $mod+Shift+a exec --no-startup-id toggle_alacritty_opacity
이제 alacritty의 불투명도를 전환하는 키 바인딩이 생겼습니다.
답변2
잘 작동합니다!
나는 이 스크립트를 나에게 맞게 약간 수정했습니다. 또한 전환할 수 있는 값이 두 개 밖에 없도록 몇 가지 사례를 추가했습니다.
이것은 내 왼쪽 창 관리자 [LeftWM] 구성에서 호출됩니다.
~/.config/leftwm/config.ron
keybind: [
...
(command: Execute, value: "~/bin/opacitytoggle", modifier: ["modkey", "Shift"], key: "a"),
...
],
~/bin/불투명도 전환
#!/usr/bin/env bash
## If alacritty.yml does not exist, raise an alert
[[ ! -f ~/.config/alacritty.yml ]] && \
notify-send "alacritty.yml does not exist" && exit 0
## Fetch background_opacity from alacritty.yml
opacity=$(awk '$1 == "opacity:" {print $2; exit}' \
~/.config/alacritty.yml)
## Assign toggle opacity value
case $opacity in
0.0)
toggle_opacity=0.55
;;
0.55)
toggle_opacity=0.70
;;
0.70)
toggle_opacity=0.85
;;
0.85)
toggle_opacity=1.0
;;
1.0)
toggle_opacity=0.0
;;
*)
toggle_opacity=1.0
;;
esac
## Replace opacity value in alacritty.yml
sed -i -- "s/opacity: $opacity/opacity: $toggle_opacity/" \
~/.config/alacritty.yml
답변3
다음을 사용하는 MacOS용 솔루션해머스푼iTerm2의 CMD
+ 키보드 단축키를 에뮬레이트합니다.U
이것을 당신의.hammerspoon/init.lua
hs.hotkey.bind({"cmd"}, "U", function()
alacritty_file_name = string.format("%s/.config/alacritty.yml", os.getenv("HOME"))
opaque = "opacity: 1"
transparent = "opacity: 0.9"
local file = io.open(alacritty_file_name)
local content = file:read "*a"
file:close()
if string.match(content, opaque) then
content = string.gsub(content, opaque, transparent)
else
content = string.gsub(content, transparent, opaque)
end
local fileedited = io.open(alacritty_file_name, "w")
fileedited:write(content)
fileedited:close()
end)
파일 의 올바른 위치를 반영하도록 라인 2를 조정하십시오 alacritty.yml
(스크립트는 로 가정함 ~/.config/alacritty.yml
).
alacritty.yml
또한 파일에 다음이 포함되어 있는지 확인하십시오.
windows:
opacity: 1