aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-11-17 01:45:10 +0900
committerOphestra <cat@gensokyo.uk>2025-11-17 01:46:01 +0900
commit3afca2bd5b58645ad503bc8ef6dfa4f05d2e01e0 (patch)
tree4aff66389b0405e5e53fd73c9d434ab839824f74 /internal
parentb73a789dfe2b7361d9fce7d6755d14e44f6d9d57 (diff)
internal/wayland: expose WAYLAND_VERSION
This might be useful troubleshooting information. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal')
-rw-r--r--internal/outcome/outcome.go12
-rw-r--r--internal/wayland/wayland.go4
2 files changed, 16 insertions, 0 deletions
diff --git a/internal/outcome/outcome.go b/internal/outcome/outcome.go
index 48f85a4b..e2563550 100644
--- a/internal/outcome/outcome.go
+++ b/internal/outcome/outcome.go
@@ -11,10 +11,22 @@ import (
"hakurei.app/hst"
"hakurei.app/internal/acl"
"hakurei.app/internal/env"
+ "hakurei.app/internal/info"
"hakurei.app/internal/system"
+ "hakurei.app/internal/wayland"
"hakurei.app/message"
)
+// Info returns the address to a populated [hst.Info].
+//
+// This must not be called from within package outcome.
+func Info() *hst.Info {
+ hi := hst.Info{WaylandVersion: wayland.Version,
+ Version: info.Version(), User: new(Hsu).MustID(nil)}
+ env.CopyPaths().Copy(&hi.Paths, hi.User)
+ return &hi
+}
+
// envAllocSize is the initial size of the env map pre-allocated when the configured env map is nil.
// It should be large enough to fit all insertions by outcomeOp.toContainer.
const envAllocSize = 1 << 6
diff --git a/internal/wayland/wayland.go b/internal/wayland/wayland.go
index cc4f4e04..d0ec6cf6 100644
--- a/internal/wayland/wayland.go
+++ b/internal/wayland/wayland.go
@@ -9,6 +9,7 @@ package wayland
#cgo freebsd openbsd LDFLAGS: -lwayland-client
#include "wayland-client-helper.h"
+#include <wayland-version.h>
*/
import "C"
import (
@@ -17,6 +18,9 @@ import (
)
const (
+ // Version is the value of WAYLAND_VERSION.
+ Version = C.WAYLAND_VERSION
+
// Display contains the name of the server socket
// (https://gitlab.freedesktop.org/wayland/wayland/-/blob/1.23.1/src/wayland-client.c#L1147)
// which is concatenated with XDG_RUNTIME_DIR