From be8f3adf015c0cb02e520b8af455786caa78aa54 Mon Sep 17 00:00:00 2001 From: bbedward Date: Mon, 16 Feb 2026 17:36:49 -0500 Subject: [PATCH] core/screensaver: add methods to introspect XML --- .../server/freedesktop/screensaver.go | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/core/internal/server/freedesktop/screensaver.go b/core/internal/server/freedesktop/screensaver.go index 4aaf7755..a86111cb 100644 --- a/core/internal/server/freedesktop/screensaver.go +++ b/core/internal/server/freedesktop/screensaver.go @@ -52,11 +52,31 @@ func (m *Manager) initializeScreensaver() error { return nil } + screensaverIface := introspect.Interface{ + Name: dbusScreensaverInterface, + Methods: []introspect.Method{ + { + Name: "Inhibit", + Args: []introspect.Arg{ + {Name: "application_name", Type: "s", Direction: "in"}, + {Name: "reason_for_inhibit", Type: "s", Direction: "in"}, + {Name: "cookie", Type: "u", Direction: "out"}, + }, + }, + { + Name: "UnInhibit", + Args: []introspect.Arg{ + {Name: "cookie", Type: "u", Direction: "in"}, + }, + }, + }, + } + introNode := &introspect.Node{ Name: dbusScreensaverPath, Interfaces: []introspect.Interface{ introspect.IntrospectData, - {Name: dbusScreensaverInterface}, + screensaverIface, }, } if err := m.sessionConn.Export(introspect.NewIntrospectable(introNode), dbusScreensaverPath, "org.freedesktop.DBus.Introspectable"); err != nil { @@ -67,7 +87,7 @@ func (m *Manager) initializeScreensaver() error { Name: dbusScreensaverPath2, Interfaces: []introspect.Interface{ introspect.IntrospectData, - {Name: dbusScreensaverInterface}, + screensaverIface, }, } if err := m.sessionConn.Export(introspect.NewIntrospectable(introNode2), dbusScreensaverPath2, "org.freedesktop.DBus.Introspectable"); err != nil {