awesome-wm:如何更改系统托盘形状

时间:2019-02-03 14:40:07

标签: lua awesome-wm

是否可以在AwesomeWM窗口管理器中将系统托盘形状更改为圆角矩形? 我已经在文档中搜索了“ wibox.widget.systray”类,但没有选择更改其形状的选项。 我试图将systray放到容器中并在其中设置形状,但这没用:

s.mysystray = wibox.widget.systray()
local systray_container = wibox.container.background(s.mysystray, beautiful.bg_systray, gears.shape.rounded_rect)
local systray_margin = wibox.container.margin(systray_container, 0, 0, 5, 5)
local systray = wibox.container.place(systray_margin, {
    halign = "center",
    fill_vertical = true,
})

我想用任务列表选择统一系统托盘,如下图: https://imgur.com/a/5m8RZNh

1 个答案:

答案 0 :(得分:2)

可以!为此,必须使用Awesome的“容器”模式并将其包装到wibox.container.background中。

-- the systray has its own internal background because of X11 limitations
beautiful.bg_systray = "#ff0000"
beautiful.systray_icon_spacing = 10

local my_round_systray = wibox.widget {
    {
        wibox.widget.systray(),
        left   = 10,
        top    = 2,
        bottom = 2,
        right  = 10,
        widget = wibox.container.margin,
    },
    bg         = "#ff0000",
    shape      = gears.shape.rounded_rect,
    shape_clip = true,
    widget     = wibox.container.background,
}

请注意,系统托盘小部件内的后台处理受到限制。它不能是渐变色或透明色。这是由于X11的限制。 Awesome没有内部合成管理器,而是依赖于诸如Compton之类的外部合成器。这样做的缺点之一是系统托盘。好的方面是,其他所有方面。同样,Qt和GTK应用程序都在不断降低对系统托盘后台的支持。该错误就在他们身边,如果不实施非标准的hacks,AwesomeWM不会 做到这一点。因此,您最终得到:

enter image description here