summaryrefslogtreecommitdiff
path: root/examples/lua/simple-bar/widget/Bar.lua
diff options
context:
space:
mode:
authorAylur <[email protected]>2024-12-19 23:44:18 +0100
committerGitHub <[email protected]>2024-12-19 23:44:18 +0100
commitc34349ca44c4e43bf2c58b3e2e4f1f9e39358b53 (patch)
tree604bdece8e3fe3bd2a286ab1e8ef07dd8d90c37c /examples/lua/simple-bar/widget/Bar.lua
parent4f47b69946dd7127ba66e6333af4945afaba15de (diff)
parentc5664e2941b33609de0743a8475a40b24522a3dc (diff)
Merge pull request #68 from Aylur/feat/tray-gtk4
tray: gtk4 compatibility
Diffstat (limited to 'examples/lua/simple-bar/widget/Bar.lua')
-rw-r--r--examples/lua/simple-bar/widget/Bar.lua28
1 files changed, 8 insertions, 20 deletions
diff --git a/examples/lua/simple-bar/widget/Bar.lua b/examples/lua/simple-bar/widget/Bar.lua
index bf230bb..e7bd4ff 100644
--- a/examples/lua/simple-bar/widget/Bar.lua
+++ b/examples/lua/simple-bar/widget/Bar.lua
@@ -1,8 +1,6 @@
local astal = require("astal")
-local App = require("astal.gtk3.app")
local Widget = require("astal.gtk3.widget")
local Variable = astal.Variable
-local Gdk = astal.require("Gdk", "3.0")
local GLib = astal.require("GLib")
local bind = astal.bind
local Mpris = astal.require("AstalMpris")
@@ -17,26 +15,16 @@ local function SysTray()
local tray = Tray.get_default()
return Widget.Box({
+ class_name = "SysTray",
bind(tray, "items"):as(function(items)
return map(items, function(item)
- if item.icon_theme_path ~= nil then
- App:add_icons(item.icon_theme_path)
- end
-
- local menu = item:create_menu()
-
- return Widget.Button({
+ return Widget.MenuButton({
tooltip_markup = bind(item, "tooltip_markup"),
- on_destroy = function()
- if menu ~= nil then
- menu:destroy()
- end
- end,
- on_click_release = function(self)
- if menu ~= nil then
- menu:popup_at_widget(self, Gdk.Gravity.SOUTH, Gdk.Gravity.NORTH, nil)
- end
- end,
+ use_popover = false,
+ menu_model = bind(item, "menu-model"),
+ action_group = bind(item, "action-group"):as(function(ag)
+ return { "dbusmenu", ag }
+ end),
Widget.Icon({
g_icon = bind(item, "gicon"),
}),
@@ -189,10 +177,10 @@ return function(gdkmonitor)
}),
Widget.Box({
halign = "END",
+ SysTray(),
Wifi(),
AudioSlider(),
BatteryLevel(),
- SysTray(),
Time("%H:%M - %A %e."),
}),
}),