diff options
| author | 2026-04-21 01:24:40 +0100 | |
|---|---|---|
| committer | 2026-04-21 01:24:40 +0100 | |
| commit | f65413f0287242fa63cfa030f6cc714e350ece61 (patch) | |
| tree | de3037e5aa546a7438773fe05457396c10306684 | |
| parent | 21ba27be8423b5e3790cefd04306a2f287ffd247 (diff) | |
| download | dotfiles-f65413f0287242fa63cfa030f6cc714e350ece61.tar.gz dotfiles-f65413f0287242fa63cfa030f6cc714e350ece61.tar.bz2 dotfiles-f65413f0287242fa63cfa030f6cc714e350ece61.zip | |
fix(zprofile): export DISPLAY=:0 for XWayland before exec sway
Sway's XWayland is lazy — DISPLAY isn't set in sway's env until the
first X client connects, which means systemctl/dbus import-environment
runs too early and nothing downstream sees DISPLAY.
Setting DISPLAY=:0 in zprofile before 'exec sway' ensures sway itself
inherits it, and therefore so do all its child processes (terminals,
scripts, systemd user services via import-environment). XWayland will
spawn on demand when a client actually connects to :0.
Also drop the redundant fallback from rqr now that the session-wide
export covers it.
| -rw-r--r-- | dot_config/zsh/dot_zprofile | 4 | ||||
| -rwxr-xr-x | dot_local/bin/executable_rqr | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/dot_config/zsh/dot_zprofile b/dot_config/zsh/dot_zprofile index 32b9245..3a4af62 100644 --- a/dot_config/zsh/dot_zprofile +++ b/dot_config/zsh/dot_zprofile @@ -81,6 +81,10 @@ export INPUTRC="$XDG_CONFIG_HOME/sh/inputrc" # ── Wayland ─────────────────────────────────────────────────────────────────── export XDG_CURRENT_DESKTOP=sway export MOZ_ENABLE_WAYLAND=1 +# Point X clients at sway's (lazy) XWayland socket. XWayland spawns on demand +# when the first X client connects; setting DISPLAY unconditionally avoids +# "unable to open X display" errors from tools like zbarcam. +export DISPLAY="${DISPLAY:-:0}" # ── XDG cleanup: keep $HOME tidy ───────────────────────────────────────────── # https://wiki.archlinux.org/title/XDG_Base_Directory#Partial diff --git a/dot_local/bin/executable_rqr b/dot_local/bin/executable_rqr index f00f84c..335f55b 100755 --- a/dot_local/bin/executable_rqr +++ b/dot_local/bin/executable_rqr @@ -1,9 +1,5 @@ #!/usr/bin/env sh -# zbarcam opens an X11 preview window, so DISPLAY must reach XWayland. -# Fall back to :0 (sway's default XWayland display) if it's missing. -export DISPLAY="${DISPLAY:-:0}" - text="$(zbarcam -q -1 --raw)" printf '%s' "$text" | wl-copy |
