diff --git a/lib/awful/rules.lua b/lib/awful/rules.lua index c99459269..91201d72c 100644 --- a/lib/awful/rules.lua +++ b/lib/awful/rules.lua @@ -261,7 +261,7 @@ rules.delayed_properties = {} local force_ignore = { titlebars_enabled=true, focus=true, screen=true, x=true, y=true, width=true, height=true, geometry=true,placement=true, - border_width=true, + border_width=true,floating=true } function rules.high_priority_properties.tag(c, value) @@ -379,6 +379,13 @@ function rules.execute(c, props, callbacks) props.border_width(c, props) or props.border_width end + -- Geometry will only work if floating is true, otherwise the "saved" + -- geometry will be restored. + if props.floating then + c.floating = type(props.floating) == "function" and props.floating(c,props) + or props.floating + end + -- Before requesting a tag, make sure the screen is right if props.screen then c.screen = type(props.screen) == "function" and screen[props.screen(c,props)]