Finish the wonderland: System told truthfully, in eight tabs instead of ten
Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
@@ -141,6 +141,25 @@ ShellRoot {
|
||||
return SettingsBackup.handleRestoreOutput(output);
|
||||
}
|
||||
|
||||
// The two pure functions behind a display restore, exposed directly.
|
||||
// Everything else here is exercised through handleRestoreOutput, but
|
||||
// the colour half of a layout is invisible from there: a snapshot
|
||||
// whose colour fields were dropped restores geometry perfectly and
|
||||
// reports success, which is exactly why nothing caught it for as long
|
||||
// as it did.
|
||||
function layoutFor(storedJson: string): string {
|
||||
return JSON.stringify(
|
||||
SettingsBackup.layoutFromStoredDisplays(JSON.parse(storedJson)));
|
||||
}
|
||||
|
||||
// Both layouts in one object rather than two arguments: the IPC client
|
||||
// flattens a top-level JSON array into one argument per element, so a
|
||||
// pair of two-monitor layouts arrives as four arguments.
|
||||
function layoutsMatch(pairJson: string): bool {
|
||||
const pair = JSON.parse(pairJson);
|
||||
return SettingsBackup.layoutsEqual(pair.left, pair.right);
|
||||
}
|
||||
|
||||
function status(): string {
|
||||
return JSON.stringify({
|
||||
calls: root.calls,
|
||||
|
||||
Reference in New Issue
Block a user