민첩성에서 background_opacity 옵션을 전환합니다.

민첩성에서 background_opacity 옵션을 전환합니다.

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

관련 정보