私は3つの画面を持っています。 1つはURxvtとVIM用、もう1つはChromium、Firefox、Opera用、3つ目はChromiumの開発者ツール用です。以下は、この動作を作成するためにrc.luaで作成したルールです。すでにウィンドウを開いていて素晴らしいものを再起動した場合は機能しますが、Chromium内でCtrl + Shift + Iを押して開発者ツールウィンドウを起動すると、開発者ツールルールは適用されません。代わりに、他の新しいChromiumウィンドウと同じように扱われ、最初の画面に配置されます。 Chromiumルールをコメントアウトしても、素晴らしいものを再起動しない限り、開発者ツールウィンドウは設定したルールの影響を受けません。
awful.rules.rules = {
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = awful.client.focus.filter,
keys = clientkeys,
buttons = clientbuttons } },
{ rule = { class = "URxvt" },
properties = { tag = tags[2][1],
size_hints_honor = false } },
{ rule = { class = "Chromium" },
properties = { tag = tags[1][1] } },
{ rule = { class = "Firefox" },
properties = { tag = tags[1][1] } },
{ rule = { class = "Opera" },
properties = { tag = tags[1][1] } },
{ rule = { name = "Developer Tools" },
properties = { tag = tags[3][1] } },
}
名前の代わりにWindowsの役割をターゲットにすることで、この問題を回避することができました。また、同じブラウザールールにrule_anyを使用して、ルールをより簡潔にしました。
awful.rules.rules = {
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = awful.client.focus.filter,
keys = clientkeys,
buttons = clientbuttons } },
{ rule = { class = "URxvt" },
properties = { tag = tags[2][1],
size_hints_honor = false } },
{ rule_any = { class = { "Chromium-browser", "Firefox", "Opera" } },
properties = { tag = tags[1][1] } },
{ rule = { class = "Chromium-browser", role = "pop-up" },
properties = { tag = tags[3][1] } }
}