| 1 |
# System-wide sway drop-ins. |
| 2 |
# |
| 3 |
# The shipped config includes this directory and then |
| 4 |
# ~/.config/sway/config.d/*, so anything set here is the machine's default and |
| 5 |
# anything a user sets wins over it: sway merges every stanza that matches an |
| 6 |
# output, the later one taking a property both name. |
| 7 |
# |
| 8 |
# This file carries no directives. It is here so the include has something to |
| 9 |
# match — sway expands the glob with wordexp, which passes an unmatched pattern |
| 10 |
# through unchanged, leaving sway to log a failed open of a file literally named |
| 11 |
# `*` — and so the directory survives in git, which does not track empty ones. |
| 12 |
# |
| 13 |
# It used to carry 10-fw12.conf, `output eDP-1 scale 1.25`: the FW12's scale, |
| 14 |
# matched by a connector name every laptop panel uses, shipped to every machine |
| 15 |
# because nothing seeded the per-user file on a fresh install. The installer now |
| 16 |
# does, from the panel's own EDID (crates/alloy/src/display.rs, `detect_panel`), |
| 17 |
# so the machine's scale is written where its owner can change it rather than |
| 18 |
# into a root-owned file naming one laptop. |
| 19 |
|
| 20 |
# --------------------------------------------------------------------- |
| 21 |
# Xwayland off. Ruled by Max 2026-08-21. |
| 22 |
# |
| 23 |
# X11 has no isolation between clients: any X client can read every other |
| 24 |
# client's keystrokes, window contents and clipboard, because the protocol |
| 25 |
# was designed when that was the point. Running an X server inside a Wayland |
| 26 |
# session hands that model back to anything that asks for it, and an X11 |
| 27 |
# client is a common thing for a browser extension, an Electron app or a |
| 28 |
# random AppImage to be. |
| 29 |
# |
| 30 |
# WHAT BREAKS, plainly: Steam, most Electron applications, some |
| 31 |
# screen-sharing paths, older Java toolkits, and anything shipping an X11-only |
| 32 |
# binary. Wayland-native software is untouched. |
| 33 |
# |
| 34 |
# That breakage is the intent rather than a cost to be mitigated. Alloy is a |
| 35 |
# Wayland-only session (docs/STACK.md) and has been since the pivot; an |
| 36 |
# Electron app declining to run is the stack being honest about what it is. |
| 37 |
# |
| 38 |
# THE WAY BACK is this line. Delete it, or set `xwayland enable` in |
| 39 |
# ~/.config/sway/config.d/, and the next session has an X server again — a |
| 40 |
# user's file wins over this directory by the include order documented at the |
| 41 |
# top of this file. The package stays in the image precisely so that works; |
| 42 |
# removing it would make the escape hatch a rebuild. It is a few megabytes and |
| 43 |
# it buys a supported answer for the person who needs Steam. |
| 44 |
# |
| 45 |
# Rationale and the review this came out of: wiki `alloy-hardening-posture`. |
| 46 |
# --------------------------------------------------------------------- |
| 47 |
xwayland disable |
| 48 |
|