我的 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; picom
shell 脚本,并使用 .bind 将 $mod-shift-P 绑定到该 shell 脚本bindsym $mod+Shift+P exec /path/to/script.sh
。