web-dev-qa-db-ja.com

特定のタブでの素晴らしいWM自動起動プログラム

ArchLinuxでAwesome WM v3.5.1を実行していて、起動時に特定のタブでいくつかのプログラムを自動的に開きたい(「メイン」タブでターミナルを開く、「ウェブ」でブラウザを開くなど)または「dev」タブのテキストエディタとターミナル)。

rc.luaでルールを使用してみましたが、手動で起動したものではなく、起動時にのみプログラムを特定のタブに配置したいと思います。また、ウィンドウマネージャーのrestartボタンを使用しても、混乱することはありません。

これどうやってするの?

2
dan_s

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])
-- }}}
1
tom