From f65413f0287242fa63cfa030f6cc714e350ece61 Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Tue, 21 Apr 2026 01:24:40 +0100 Subject: fix(zprofile): export DISPLAY=:0 for XWayland before exec sway MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- dot_local/bin/executable_rqr | 4 ---- 1 file changed, 4 deletions(-) (limited to 'dot_local/bin/executable_rqr') 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 -- cgit v1.2.3-70-g09d2