我正在使用 suckless 的 st 简单终端。我在启动时使用 运行 picom picom --backend glx
,终端是透明的。我喜欢终端一直透明,直到我尝试使用 Neovim,我觉得在编辑文件时看到桌面会分散注意力。有没有什么方法可以仅在 Neovim 打开时禁用这种透明度?
我尝试过用谷歌搜索,但只能找到关闭整个窗口透明度的方法,但这没有帮助,因为它不仅在 Neovim 打开时将其关闭。
我正在使用 suckless 的 st 简单终端。我在启动时使用 运行 picom picom --backend glx
,终端是透明的。我喜欢终端一直透明,直到我尝试使用 Neovim,我觉得在编辑文件时看到桌面会分散注意力。有没有什么方法可以仅在 Neovim 打开时禁用这种透明度?
我尝试过用谷歌搜索,但只能找到关闭整个窗口透明度的方法,但这没有帮助,因为它不仅在 Neovim 打开时将其关闭。
这些东西的配置在 st 中是编译时静态的。
所以,不,这是不可能的
st
(而且告诉 picom 您不想让哪个窗口透明的解决方法会非常复杂)。您正在寻找一个功能齐全的终端仿真器,而不是一个宣称目标是将所有颜色处理复杂性排除在终端仿真器之外的终端仿真器。说实话,我还是会选择
alacritty
(它是为 debian 和 fedora 打包的,所以可能也适用于大多数其他 Linux 发行版),而不是st
。在 neovim 启动脚本中,您只需运行外部命令并在 quit 钩子中相同,但使用
window.opacity=0.5
(或任何你的“默认”不透明度)。(这些钩子的处理方式在设置 neovim 的不同方式之间有所不同,所以我不会在这里提出建议。Astronvim 有一个“简单”的 autocmd lua,你需要在其中将一个添加vim.fn.jobstart('alacritty msg config window.opacity=1')
到正确的字典键。我发现它非常复杂。)或者,你也可以在
.zshrc
or中添加简单的 shell 函数.bashrc
(当然,取决于你使用什么),例如并使用快捷键
e
启动您最喜欢的编辑器;