CR: tmux-quantum OSS Refinement — Implementation

Implementation

Bug Fix: Wayland Clipboard in tmux

Root Cause: lib/core.conf line 31 included WAYLAND_DISPLAY in update-environment but omitted XDG_RUNTIME_DIR. Without XDG_RUNTIME_DIR (which points to /run/user/$UID/), wl-copy and wl-paste cannot locate the Wayland compositor socket. Additionally, DBUS_SESSION_BUS_ADDRESS was missing, which gopass needs for keyring/D-Bus access.

Fix: Added XDG_RUNTIME_DIR and DBUS_SESSION_BUS_ADDRESS to the update-environment directive in lib/core.conf. Added explanatory comment in lib/clipboard.conf documenting the dependency.

Live Workaround (no server restart): update-environment only takes effect for new sessions. Killing the tmux server was not an option — critical sessions were running. Instead, injected the missing variables into the running server:

tmux set-environment WAYLAND_DISPLAY "$WAYLAND_DISPLAY"
tmux set-environment XDG_RUNTIME_DIR "$XDG_RUNTIME_DIR"
tmux set-environment DBUS_SESSION_BUS_ADDRESS "$DBUS_SESSION_BUS_ADDRESS"

New panes created after this immediately inherited the variables. Existing panes retained their original (broken) environment — only new panes pick up set-environment changes. This is a reusable pattern for any update-environment fix applied to a live tmux server.

Verification: Confirmed all three variables present in new pane, then gopass show -c succeeded immediately.

Open-Source Readiness

Change Detail

LICENSE

Created MIT license file (README already declared MIT but had no file)

CONTRIBUTING.adoc

Distilled project rules into contributor guidelines: one domain per file, conflict checker, theme variables, doc sync, version guards

local.conf.example

Template for machine-specific bindings with generic project paths

local.conf

Created with actual ~/atelier paths (gitignored — personal use)

lib/sessions.conf

Extracted 6 personal ~/atelier navigation bindings to local.conf, replaced with comment pointing to local.conf.example

README.adoc

Updated install to git clone, added Session Templates and Local Overrides sections

docs/quickstart.adoc

Fixed F12 → F10 (Hyprland intercept), fixed binding count 150+ → 360+, updated install path

.gitignore

Added .claude/settings.local.json