commit
0c909e8d31
|
@ -198,19 +198,25 @@ function layout.getname(_layout)
|
|||
return _layout.name
|
||||
end
|
||||
|
||||
local function arrange_prop_nf(obj)
|
||||
if not client.object.get_floating(obj) then
|
||||
layout.arrange(obj.screen)
|
||||
end
|
||||
end
|
||||
|
||||
local function arrange_prop(obj) layout.arrange(obj.screen) end
|
||||
|
||||
capi.client.connect_signal("property::size_hints_honor", arrange_prop)
|
||||
capi.client.connect_signal("property::size_hints_honor", arrange_prop_nf)
|
||||
capi.client.connect_signal("property::struts", arrange_prop)
|
||||
capi.client.connect_signal("property::minimized", arrange_prop)
|
||||
capi.client.connect_signal("property::sticky", arrange_prop)
|
||||
capi.client.connect_signal("property::fullscreen", arrange_prop)
|
||||
capi.client.connect_signal("property::maximized_horizontal", arrange_prop)
|
||||
capi.client.connect_signal("property::maximized_vertical", arrange_prop)
|
||||
capi.client.connect_signal("property::border_width", arrange_prop)
|
||||
capi.client.connect_signal("property::hidden", arrange_prop)
|
||||
capi.client.connect_signal("property::minimized", arrange_prop_nf)
|
||||
capi.client.connect_signal("property::sticky", arrange_prop_nf)
|
||||
capi.client.connect_signal("property::fullscreen", arrange_prop_nf)
|
||||
capi.client.connect_signal("property::maximized_horizontal", arrange_prop_nf)
|
||||
capi.client.connect_signal("property::maximized_vertical", arrange_prop_nf)
|
||||
capi.client.connect_signal("property::border_width", arrange_prop_nf)
|
||||
capi.client.connect_signal("property::hidden", arrange_prop_nf)
|
||||
capi.client.connect_signal("property::floating", arrange_prop)
|
||||
capi.client.connect_signal("property::geometry", arrange_prop)
|
||||
capi.client.connect_signal("property::geometry", arrange_prop_nf)
|
||||
capi.client.connect_signal("property::screen", function(c, old_screen)
|
||||
if old_screen then
|
||||
layout.arrange(old_screen)
|
||||
|
|
|
@ -218,16 +218,17 @@ function mouse.resize_handler(c, context, hints)
|
|||
if hints and context and context:find("mouse.*") then
|
||||
-- This handler only handle the floating clients. If the client is tiled,
|
||||
-- then it let the layouts handle it.
|
||||
local lay = c.screen.selected_tag.layout
|
||||
local t = c.screen.selected_tag
|
||||
local lay = t and t.layout or nil
|
||||
|
||||
if lay == layout.suit.floating or c.floating then
|
||||
if (lay and lay == layout.suit.floating) or c.floating then
|
||||
c:geometry {
|
||||
x = hints.x,
|
||||
y = hints.y,
|
||||
width = hints.width,
|
||||
height = hints.height,
|
||||
}
|
||||
elseif lay.resize_handler then
|
||||
elseif lay and lay.resize_handler then
|
||||
lay.resize_handler(c, context, hints)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue