![特定选项卡中很棒的 WM 自动启动程序](https://linux22.com/image/1381469/%E7%89%B9%E5%AE%9A%E9%80%89%E9%A1%B9%E5%8D%A1%E4%B8%AD%E5%BE%88%E6%A3%92%E7%9A%84%20WM%20%E8%87%AA%E5%8A%A8%E5%90%AF%E5%8A%A8%E7%A8%8B%E5%BA%8F.png)
我在跑很棒的 WMArchLinux 上的 v3.5.1,我想在启动时在特定选项卡中自动打开一些程序(比如在“主”选项卡中打开一个终端,在“web”中打开一个浏览器,或者在“dev”选项卡中打开一个文本编辑器和一个终端)。
我尝试使用规则,但我想在启动时将程序放入特定选项卡中,而不是我手动启动的程序。而且当我使用窗口管理器的按钮rc.lua
时,它们不应该混乱。restart
我怎样才能做到这一点?
答案1
添加到 rc.lua 并尝试
我有多个显示器,无法将其设置为所需的标签,也许它可以在 1 个显示器上工作
function spawn_once(command, class, tag)
-- create move callback
local callback
callback = function(c)
if c.class == class then
awful.client.movetotag(tag, c)
client.remove_signal("manage", callback)
end
end
client.add_signal("manage", callback)
-- now check if not already running!
local findme = command
local firstspace = findme:find(" ")
if firstspace then
findme = findme:sub(0, firstspace-1)
end
-- finally run it
awful.util.spawn_with_shell("pgrep -u $USER -x " .. findme .. " > /dev/null || (" .. command .. ")")
end
-- use the spawn_once
spawn_once("subl", "Sublime_text", tags[1][2])
spawn_once("chromium", "Chromium", tags[1][3])
spawn_once("thunar", "Thunar", tags[1][4])
spawn_once("xchat", "Xchat", tags[1][5])
-- }}}