shell: document which edits are live and block patch 0008
deploy.sh: name the hazard the composer already implements — a new file plus a manifest line is inert until the next deploy, while editing a file already in the manifest is live in the running shell immediately. Registration is the dangerous act, not creation. patches/README: 0008 swaps the message delegate to one that does not carry the vendor control row (regenerate, speak, re-synthesize, copy, edit, raw, delete). Applying it would remove all seven.
This commit is contained in:
parent
6d0f891d6e
commit
1951d2b69b
2 changed files with 32 additions and 0 deletions
|
|
@ -32,6 +32,29 @@ II="${QS}/ii"
|
|||
SV="${QS}/souveraine"
|
||||
TARGET_ARCH="${SOUVERAINE_TARGET_ARCH:-$(uname -m)}"
|
||||
|
||||
# ── Which edits are live, and which are inert ────────────────────────────
|
||||
# Our manifest entries are composed as SYMLINKS into this repo, so the repo IS
|
||||
# the running shell for every file listed below. quickshell reloads on write.
|
||||
# The consequence, and it is the thing to know before touching anything here:
|
||||
#
|
||||
# - Adding a NEW file + its MANIFEST line is INERT. The composed tree gains
|
||||
# nothing until the next deploy.sh run. Build whole modules this way.
|
||||
# - Editing a file ALREADY in the manifest is LIVE, immediately, in the
|
||||
# running shell — no deploy needed, no confirmation, no undo.
|
||||
#
|
||||
# So registration is the dangerous act, not creation. A QML file that fails to
|
||||
# compile takes its whole module with it (a QtObject root with no default
|
||||
# property failed all of qs.services once, 29ec9fe), and quickshell will not
|
||||
# restart a config that crashes within 10s of launch — the bar simply stays
|
||||
# gone. Restarting the shell also re-locks the session via PAM, so it costs
|
||||
# the human a password.
|
||||
#
|
||||
# Practice: write patches into surfaces/quickshell/patches/ and let the human
|
||||
# apply and reload on their own beat; edit in a detached git worktree, never in
|
||||
# this tree. TASK-72's AgentPaneHost makes this structural — a candidate pane
|
||||
# loads beside the active one and only swaps on its ready signal — after which
|
||||
# a bad edit leaves the working pane drawn instead of taking the surface down.
|
||||
#
|
||||
# Manifest: "<repo-relative> <target-relative-to-~/.config/quickshell>"
|
||||
MANIFEST="
|
||||
shell.qml souveraine/shell.qml
|
||||
|
|
|
|||
Loading…
Reference in a new issue