Skip to content

Forward WAYLAND_DISPLAY environment variable so clipboard works inside tmux#4800

Open
joaoptpsa wants to merge 3 commits intobasecamp:devfrom
joaoptpsa:forward-wayland-x-display-vars
Open

Forward WAYLAND_DISPLAY environment variable so clipboard works inside tmux#4800
joaoptpsa wants to merge 3 commits intobasecamp:devfrom
joaoptpsa:forward-wayland-x-display-vars

Conversation

@joaoptpsa
Copy link

@joaoptpsa joaoptpsa commented Feb 28, 2026

Problem

tmux's default update-environment list doesn't include WAYLAND_DISPLAY causing wl-copy and wl-paste to fail.

Check defaults with:

tmux -Lclean -f /dev/null new-session -d \; show-options -g update-environment \; kill-server

Fix

set -ag update-environment "WAYLAND_DISPLAY"

See tmux(1)


NB: XDG_SESSION_TYPE might be useful for other applications.


Sorry for the small commit spam!— First time contributor and First time doing this from CLI with Claude.

Let me know if you want me to open a separate clean PR.

Copilot AI review requested due to automatic review settings February 28, 2026 09:38
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates tmux’s attach-time environment propagation so panes see current display/session variables after reattaching, restoring clipboard integration in Wayland/X11 setups.

Changes:

  • Append WAYLAND_DISPLAY, DISPLAY, XDG_SESSION_TYPE, and DBUS_SESSION_BUS_ADDRESS to tmux update-environment so they refresh on client attach.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings February 28, 2026 09:48
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@joaoptpsa joaoptpsa changed the title Forward Wayland/X display variables so clipboard works after reattach Forward Wayland display variable so clipboard works inside tmux Feb 28, 2026
@joaoptpsa joaoptpsa changed the title Forward Wayland display variable so clipboard works inside tmux Forward WAYLAND_DISPLAY environment variable so clipboard works inside tmux Feb 28, 2026
@joaoptpsa joaoptpsa marked this pull request as ready for review February 28, 2026 09:59
joaoptpsa and others added 3 commits February 28, 2026 10:03
When tmux starts its server, it captures the environment at launch time.
Attaching later from a new login leaves WAYLAND_DISPLAY/DISPLAY stale
inside panes, causing wl-copy, wl-paste, and xclip to fail silently.

set -ag update-environment tells tmux to refresh these variables on every
client attach, so clipboard tools always find the correct socket.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
DISPLAY is already in tmux's compiled-in defaults. Only add the three
variables that are genuinely missing: WAYLAND_DISPLAY, XDG_SESSION_TYPE,
and DBUS_SESSION_BUS_ADDRESS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
DISPLAY is in tmux's compiled-in defaults. wl-copy/wl-paste use
WAYLAND_DISPLAY directly so XDG_SESSION_TYPE and DBUS_SESSION_BUS_ADDRESS
are not needed for clipboard support.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@joaoptpsa joaoptpsa force-pushed the forward-wayland-x-display-vars branch from 4962f77 to 1102616 Compare February 28, 2026 10:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants