ルールを使用したクライアントへの自動タグ割り当てはすでにありますが、特定のタグでクライアントを生成する必要がある場合があります。
たとえば、通常、次のルールを使用して、タグ2にブラウザ(dwb)を配置します。
awful.rules.rules = {
[...]
{ rule = { class = "Dwb" }, properties = { tag = tags[1][2] } },
}
しかし、デバッグセッション用にブラウザーを生成するときは、別のタグ(IDEと一緒に)でブラウザーを生成する必要があります。たとえば、タグ3とします。
コマンドラインからプログラムを起動して、そのクライアントがパラメーターとして指定されたタグで生成されるようにするにはどうすればよいですか?
関数を作成し、すばらしいクライアントツールを使用して使用できます。
まず、関数を作成し、それをrc.luaファイルに追加します。
function spawn(command, class, tag, test)
local test = test or "class"
local callback
callback = function(c)
if test == "class" then
if c.class == class then
awful.client.movetotag(tag, c)
client.disconnect_signal("manage", callback)
end
elseif test == "instance" then
if c.instance == class then
awful.client.movetotag(tag, c)
client.disconnect_signal("manage", callback)
end
elseif test == "name" then
if string.match(c.name, class) then
awful.client.movetotag(tag, c)
client.disconnect_signal("manage", callback)
end
end
end
client.connect_signal("manage", callback)
awful.util.spawn_with_Shell(command)
end
次に、すばらしいセッションを再開します(通常はCtrl + Super + rを使用)。
次に、ルールを作成しているかのように、移動するクライアント(ウィンドウ)を識別する方法を選択します。クラスごと、インスタンスごと、または名前ごとに実行できます。 xprop
を使用して、Windowsに関する情報を取得します。これも参照してください [〜#〜] faq [〜#〜] 。
最後に、簡単なbashスクリプトを作成します。
#!/usr/bin/env bash
cat <<EOF | awesome-client
spawn("/usr/bin/firefox", "Firefox", tags[1][1], "class")
EOF
必要な数のスポーンアクションを追加できます。作業するタスクに応じて、必要なすべてのプログラムを起動する複数の起動スクリプトを作成しました。
お役に立てれば。