我尝试启动应用程序而没有"等待光标",根据i3 userguide我应该使用exec的--no-statrup-id
选项,但它给了我"不可能& #34;错误。
$ exec --no-startup-id firefox
bash: exec: --: invalid option
exec: usage: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]
有人可以向我解释错误吗?在每本手册中,我发现人们使用此标记,但man exec
没有关于此功能的信息。
答案 0 :(得分:1)
i3 userguide 中编写的语法适用于您的 i3配置文件,如果您想在shell中运行它,请使用i3-msg
命令
i3-msg exec --no-startup-id firefox
在Bash manual中查找内置exec
:
除非另有说明,否则每个内置命令都记录为接受选项前面的' - ',接受' - '表示选项的结束。
编辑:
我可以启动firefox,输出返回0和 true
i3-msg: unrecognized option '--no-startup-id'
[{"success":true}]
我看一下i3 source,我找到了一些有趣的东西 parser-specs / config.spec :
# <exec|exec_always> [--no-startup-id] command
state EXEC:
no_startup_id = '--no-startup-id'
->
command = string
-> call cfg_exec($exectype, $no_startup_id, $command)
parser-specs / commands.spec :
# exec [--no-startup-id] <command>
state EXEC:
nosn = '--no-startup-id'
->
command = string
-> call cmd_exec($nosn, $command)
但是我没有足够的语法技能来进一步发展。
答案 1 :(得分:1)
只需使用引号使i3-msg不解析参数。
user ~ | MyDE i3-msg exec --no-startup-id /home/mbp/MyDE/xrandr/dock.sh
i3-msg: unrecognized option '--no-startup-id'
user ~ | MyDE i3-msg "exec --no-startup-id /home/mbp/MyDE/xrandr/dock.sh"
[{"success":true}]