awesomerc: Use rules to set the default position instead of "manage"

This avoid a conflict when rules try to set overlapping geometry.
This commit is contained in:
Emmanuel Lepage Vallee 2016-04-16 05:51:25 -04:00
parent f5a27ab99b
commit 6bc99fe52f
1 changed files with 10 additions and 11 deletions

View File

@ -430,7 +430,10 @@ awful.rules.rules = {
focus = awful.client.focus.filter,
raise = true,
keys = clientkeys,
buttons = clientbuttons } },
buttons = clientbuttons,
placement = awful.placement.no_overlap+awful.placement.no_offscreen
}
},
-- Floating clients.
{ rule_any = {
@ -472,17 +475,13 @@ awful.rules.rules = {
-- {{{ Signals
-- Signal function to execute when a new client appears.
client.connect_signal("manage", function (c)
if not awesome.startup then
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
-- awful.client.setslave(c)
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
-- if not awesome.startup then awful.client.setslave(c) end
-- Put windows in a smart way, only if they do not set an initial position.
if not c.size_hints.user_position and not c.size_hints.program_position then
awful.placement.no_overlap(c)
awful.placement.no_offscreen(c)
end
elseif not c.size_hints.user_position and not c.size_hints.program_position then
if awesome.startup and
not c.size_hints.user_position
and not c.size_hints.program_position then
-- Prevent clients from being unreachable after screen count changes.
awful.placement.no_offscreen(c)
end