diff options
| author | Ophestra Umiker <cat@ophivana.moe> | 2024-10-10 12:44:08 +0900 |
|---|---|---|
| committer | Ophestra Umiker <cat@ophivana.moe> | 2024-10-10 12:44:08 +0900 |
| commit | 86cb5ac1dbd581078b10f5ec1eb723549c662a1b (patch) | |
| tree | 9198789d0a47ebeda49b4e000013cfbf009b1b45 /internal/app/share.display.go | |
| parent | 2220055e26bff8b426ebf086d09ba242e5180e76 (diff) | |
app: hardlink sockets to process-specific share local to XDG_RUNTIME_DIR
This avoids adding ACLs to the PulseAudio directory.
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
Diffstat (limited to 'internal/app/share.display.go')
| -rw-r--r-- | internal/app/share.display.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/internal/app/share.display.go b/internal/app/share.display.go index c1891876..9dbb6c3f 100644 --- a/internal/app/share.display.go +++ b/internal/app/share.display.go @@ -35,9 +35,11 @@ func (seal *appSeal) shareDisplay() error { if wd, ok := os.LookupEnv(waylandDisplay); !ok { return (*ErrDisplayEnv)(wrapError(ErrWayland, "WAYLAND_DISPLAY is not set")) } else { - // wayland socket path + // hardlink wayland socket wp := path.Join(seal.RuntimePath, wd) - seal.appendEnv(waylandDisplay, wp) + wpi := path.Join(seal.shareLocal, "wayland") + seal.sys.link(wp, wpi) + seal.appendEnv(waylandDisplay, wpi) // ensure Wayland socket ACL (e.g. `/run/user/%d/wayland-%d`) seal.sys.updatePerm(wp, acl.Read, acl.Write, acl.Execute) |
