awesome-wm でアプリを指定タグで起動させるために調べた
指定したタグで起動させるには、下記のように rc.lua に記載すればよい。 以下は、tag1 に Terminator、tag2 にGoogle Chrome、… という風にレイアウトされる。
awful.rules.rules = {
{ rule = { class = "Terminator" },
properties = { screen = 1, tag = "1" } },
{ rule = { class = "Google-chrome" },
properties = { screen = 1, tag = "2" } },
{ rule = { class = "Atom" },
properties = { screen = 1, tag = "3" } },
{ rule = { class = "Franz" },
properties = { screen = 1, tag = "4" } },
}
で、ここで class に指定する名前が何かわからない。これを知るためには、GitHub にある awesome の 90-FAQ.md にあるように xprop を使う。
yaourt xorg-xprop
等でインストールし、下記のコマンドを打ってclass名を知りたいアプリのウインドウをクリックすると、コンソールに以下のように出力されるので、この WM_CLASS を利用する。
$ xprop WM_CLASS WM_NAME
WM_CLASS(STRING) = "google-chrome", "Google-chrome"
WM_NAME(UTF8_STRING) = "awesome/90-FAQ.md at master · awesomeWM/awesome - Google Chrome"
起動時に上記のlayoutにアプリを配置させるためには、予め起動時にこれらを起動させておく必要がある。 私は以下のようなものを書いて起動させている。ArchWiki の awesome にある Auto プログラム を参考にしている。 English のページはやり方が変わっているので、そちらのほうがよいのかもしれない。
function run_once(prg)
awful.util.spawn_with_shell("pgrep -u $USER -x " .. prg .. " || (" .. prg .. ")")
end
do
local cmds =
{
"atom",
"franz-bin",
"terminator",
"google-chrome-stable",
}
for _,i in pairs(cmds) do
run_once(i)
end
end
毎回 Win + R 入力して、かつ、アプリ名入力して Enter、配置のために Win + Shift + 番号 打つの面倒だったからすっきりした。