添加
opacity_button(c),
e、 g.之前
awful.titlebar.widget.floatingbutton(c),
在您的配置中。在之前的某个地方,将以下内容添加到配置中:
local function opacity_button(c)
local SCALE = 100
local slider = wibox.widget {
--forced_width = 100,
bar_shape = gears.shape.rounded_rect,
bar_height = 1,
bar_color = beautiful.border_color,
--handle_color = beautiful.bg_normal,
handle_color = "#FFFFFF",
handle_shape = gears.shape.circle,
handle_border_color = beautiful.border_color,
handle_border_width = 1,
minimum = 0,
maximum = SCALE,
value = c.opacity * SCALE,
widget = wibox.widget.slider,
}
c:connect_signal("property::opacity", function()
slider.value = c.opacity * SCALE
end)
slider:connect_signal("property::value", function()
c.opacity = slider.value / SCALE
end)
-- Wrap other widgets around slider here if you want,
-- e.g. your stack widget and the textbox
local result = slider
return slider
end
我不知道你为什么用
widget::redraw_signal
信号而是使用
property::value
滑块信号。此外,如果客户端的不透明度通过一些外部手段(即在该小部件之外)发生变化,该小部件将更新滑块。
哦,还有:这将来自小部件的值缩放100,因为滑块小部件只生成整数值(至少在我的测试中是这样)。
请注意,此代码以与floatingbutton相同的方式将客户机对象传递给小部件:作为信号连接函数的upvalue。我不知道你是怎么发现的
widget::redraw_needed
,但它的第一个参数不是客户机。