summaryrefslogtreecommitdiff
path: root/src/web/libc/include
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-28 09:41:55 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:14 -0300
commitf5eaddb2cf28a9b72d5dd5b3b10502a316d4de85 (patch)
tree3d043946453c8da589ef17eef1ebc66f2d2c1b24 /src/web/libc/include
parent0ee8d748c028ad5257f95e15db38646aecd2851b (diff)
downloadpardes-f5eaddb2cf28a9b72d5dd5b3b10502a316d4de85.tar.gz
pardes-f5eaddb2cf28a9b72d5dd5b3b10502a316d4de85.zip
Split control messages by scope: the root ctl takes the session's builtins and reads the settings, a pane's ctl its own
Every builtin could only be clicked, or written to exec, and the settings could be read only as the Config window's prose. acme keeps window verbs on a window's ctl, and webfs and upas/fs keep session settings on a root ctl. Each builtin now declares its scope (scope = .session; settings are all session, the rest pane), read by the registry. The root /ctl takes session builtins and reads every setting in the words a write takes, so its read written back changes nothing (panel and scene effects now take on/off like the toggles, to make that true); a pane's ctl takes the pane's builtins beside get, lock and unlock. Writes are checked whole and refused in Plan 9's ctl words (unknown control message "X", wrong #args ...), which 9ns now maps to EINVAL (cloud9 re-pinned at a8c7a715). A builtin that would prompt for its argument fails the write instead, and a refusal is answered at once, not after the frame. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'src/web/libc/include')
0 files changed, 0 insertions, 0 deletions