dotfiles/config/awesome/custom/rules.lua

91 lines
2.6 KiB
Lua

-- {{{ Modules
local awful = require("awful")
local beautiful = require("beautiful")
local bindings = require("custom.bindings")
-- }}}
-- {{{ Script
-- Rules to apply to new clients (through the "manage" signal).
awful.rules.rules = {
-- All clients will match this rule.
{ rule = { },
properties = { border_width = beautiful.border_width,
border_color = beautiful.border_normal,
focus = awful.client.focus.filter,
raise = true,
keys = bindings.client_keys,
buttons = bindings.client_buttons,
screen = awful.screen.preferred,
placement = awful.placement.no_overlap+awful.placement.no_offscreen
}
},
-- Floating clients.
{ rule_any = {
instance = {
"DTA", -- Firefox addon DownThemAll.
"copyq", -- Includes session name in class.
"pinentry",
},
class = {
"Arandr",
"Blueman-manager",
"Gpick",
"Kruler",
"MessageWin", -- kalarm.
"Sxiv",
"Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
"Wpa_gui",
"veromix",
"xtightvncviewer"},
-- Note that the name property shown in xprop might be set slightly after creation of the client
-- and the name shown there might not match defined rules here.
name = {
"Event Tester", -- xev.
},
role = {
"AlarmWindow", -- Thunderbird's calendar.
"ConfigManager", -- Thunderbird's about:config.
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
}
}, properties = { floating = true }},
-- Add titlebars to normal clients and dialogs
{ rule_any = {type = { "normal", "dialog" }
}, properties = { titlebars_enabled = false }
},
-- Make Work programs spanw at specific tags
{ rule_any = {class = { "Brave" }
}, properties = { tag = "1" }
},
{ rule_any = {class = { "WorkFirefox" }
}, properties = { tag = "1" }
},
{ rule_any = {class = { "WorkAlacritty" }
}, properties = { tag = "2" }
},
{ rule_any = {class = { "jetbrains-phpstorm" }
}, properties = { tag = "3" }
},
{ rule_any = {class = { "DBeaver" }
}, properties = { tag = "9" }
},
{ rule_any = {
class = { "DBeaver" },
}, properties = { tag = "9" }
},
{ rule_any = {class = { "Slack" }
}, properties = { tag = "0" }
},
}
-- }}}