I3 WM bindsym 给出错误,但在终端中工作正常

I3 WM bindsym 给出错误,但在终端中工作正常

我的 i3 配置中有这样的内容来重新启动 picom:
bindsym $mod+Shift+P exec killall picom; sleep 0.2; picom

它在终端中工作正常,但是当我按下按键绑定时,它显示错误,它只是说您在这一行中有错误,但不告诉哪个错误。

答案1

https://i3wm.org/docs/userguide.html#exec并且,分号在 i3 中具有特殊含义:

有关 ; 的特殊含义的详细信息,请参阅 [command_chaining] (分号)和 , (逗号):它们在 i3 中将命令链接在一起,因此如果它们出现在命令中,则需要使用带引号的字符串(如 [exec_quoting] 中所示)。

可以使用 ; 链接命令(分号)

因此bindsym $mod+Shift+P exec killall picom; sleep 0.2; picom尝试将 $mod-shift-P 绑定到exec killall picom,然后是 i3 命令sleep 0.2,然后是 i3 命令picom。后两个不是 i3 命令。

我建议进入killall picom; sleep 0.2; picomshell 脚本,并使用 .bind 将 $mod-shift-P 绑定到该 shell 脚本bindsym $mod+Shift+P exec /path/to/script.sh

相关内容