Fix the mirror layout
Issues involve:
- :layout() had the wrong signature and expected a cr argument that was left
from when this was still the :draw() function.
- horizontal and vertical reflection were mixed up (I guess it has always been
this way?)
- The return value should be a table of widget placements. Instead it was just a
single widget placement.
This is broken since commit 85ab3f045b
.
Fixes: https://github.com/awesomeWM/awesome/issues/718
Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
parent
a189f2b13f
commit
b40b69d379
|
@ -16,28 +16,24 @@ local matrix = require("gears.matrix")
|
||||||
local mirror = { mt = {} }
|
local mirror = { mt = {} }
|
||||||
|
|
||||||
--- Layout this layout
|
--- Layout this layout
|
||||||
function mirror:layout(context, cr, width, height)
|
function mirror:layout(_, width, height)
|
||||||
if not self.widget then return end
|
if not self.widget then return end
|
||||||
if not self.horizontal and not self.vertical then
|
|
||||||
base.draw_widget(context, cr, self.widget, 0, 0, width, height)
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
local m = matrix.identity
|
local m = matrix.identity
|
||||||
local t = { x = 0, y = 0 } -- translation
|
local t = { x = 0, y = 0 } -- translation
|
||||||
local s = { x = 1, y = 1 } -- scale
|
local s = { x = 1, y = 1 } -- scale
|
||||||
if self.horizontal then
|
if self.horizontal then
|
||||||
t.y = height
|
|
||||||
s.y = -1
|
|
||||||
end
|
|
||||||
if self.vertical then
|
|
||||||
t.x = width
|
t.x = width
|
||||||
s.x = -1
|
s.x = -1
|
||||||
end
|
end
|
||||||
|
if self.vertical then
|
||||||
|
t.y = height
|
||||||
|
s.y = -1
|
||||||
|
end
|
||||||
m = m:translate(t.x, t.y)
|
m = m:translate(t.x, t.y)
|
||||||
m = m:scale(s.x, s.y)
|
m = m:scale(s.x, s.y)
|
||||||
|
|
||||||
return base.place_widget_via_matrix(self.widget, m, width, height)
|
return { base.place_widget_via_matrix(self.widget, m, width, height) }
|
||||||
end
|
end
|
||||||
|
|
||||||
--- Fit this layout into the given area
|
--- Fit this layout into the given area
|
||||||
|
|
Loading…
Reference in New Issue