diff options
| author | Ophestra Umiker <cat@ophivana.moe> | 2024-10-11 04:18:15 +0900 |
|---|---|---|
| committer | Ophestra Umiker <cat@ophivana.moe> | 2024-10-11 04:18:15 +0900 |
| commit | 662f2a9d2cea3f462cf5b508b3719d4d7a722146 (patch) | |
| tree | b1b1deedeeb22c3d09e600f87496cba107cfc939 /internal/app/share.display.go | |
| parent | 3ddfd76cdf82475a3600f8e1c835bf3529ea6a31 (diff) | |
app: integrate bwrap into environment setup
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
Diffstat (limited to 'internal/app/share.display.go')
| -rw-r--r-- | internal/app/share.display.go | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/internal/app/share.display.go b/internal/app/share.display.go index 01ae00a9..da9f6eff 100644 --- a/internal/app/share.display.go +++ b/internal/app/share.display.go @@ -27,7 +27,7 @@ type ErrDisplayEnv BaseError func (seal *appSeal) shareDisplay() error { // pass $TERM to launcher if t, ok := os.LookupEnv(term); ok { - seal.appendEnv(term, t) + seal.sys.setEnv(term, t) } // set up wayland @@ -38,8 +38,10 @@ func (seal *appSeal) shareDisplay() error { // hardlink wayland socket wp := path.Join(seal.RuntimePath, wd) wpi := path.Join(seal.shareLocal, "wayland") + w := path.Join(seal.sys.runtime, "wayland-0") seal.sys.link(wp, wpi) - seal.appendEnv(waylandDisplay, wpi) + seal.sys.setEnv(waylandDisplay, w) + seal.sys.bind(wpi, w, true) // ensure Wayland socket ACL (e.g. `/run/user/%d/wayland-%d`) seal.sys.updatePermTag(state.EnableWayland, wp, acl.Read, acl.Write, acl.Execute) @@ -56,7 +58,8 @@ func (seal *appSeal) shareDisplay() error { return (*ErrDisplayEnv)(wrapError(ErrXDisplay, "DISPLAY is not set")) } else { seal.sys.changeHosts(seal.sys.Username) - seal.appendEnv(display, d) + seal.sys.setEnv(display, d) + seal.sys.bind("/tmp/.X11-unix", "/tmp/.X11-unix", true) } } |
