我的目标是能够按下组合键并在特定工作区(在 i3 中)中打开一个终端来执行命令。 (我已经在别名中使用了它,但我经常使用这个命令)
我希望我可以通过 i3 配置来做到这一点我知道您可以强制应用程序在特定工作区中打开,但我想要打开的只是一个普通终端,显然我不会在这个工作区中打开我的所有终端
这怎么可能?
答案1
许多终端模拟器都有一个选项来指定类的名称、实例或新创建的窗口的标题。这必须是一个唯一的名称。
for_window
i3 可以使用这些属性中的任何一个指令对任何窗口进行操作。
例如,要打开在工作区 6 上cal
使用类名执行的 Alacritty 终端myterm
并切换到它,请添加到您的配置中:
for_window [class="myterm"] move container to workspace 6
bindsym $mod+Control+6 exec "alacritty --class 'myterm,myterm' --hold -e cal"; workspace 6
使用 xterm:
bindsym $mod+Control+6 exec "xterm -class myterm -hold -e cal"; workspace 6
通常需要“保持”选项来防止窗口在执行命令后立即关闭。
检查特定终端仿真器的联机帮助页以获取相关选项。