@caoergou/windows-xp / index / XPHandle
Interface: XPHandle
Defined in: src/components/XPBridge.tsx:153
Imperative handle exposed via ref on <WindowsXP/> (#76, extended in #115): lets the host drive the desktop programmatically (demos, tests, scenario scripting). The five original top-level methods are kept for backward compatibility; new capabilities are grouped by domain.
Properties
appearance
> appearance: XPAppearanceApi
Defined in: src/components/XPBridge.tsx:184
Appearance control.
cancelSchedule
> cancelSchedule: (id) => void
Defined in: src/components/XPBridge.tsx:210
Cancel a pending schedule by id (#130).
Parameters
id
string
Returns
void
clock
> clock: Pick<XPClockApi, "now" | "set" | "advance" | "reset">
Defined in: src/components/XPBridge.tsx:190
Instance-local virtual system clock (#275).
closeWindow
> closeWindow: (id) => void
Defined in: src/components/XPBridge.tsx:174
Close a window by id.
Parameters
id
string
Returns
void
emit
> emit: (event) => void
Defined in: src/components/XPBridge.tsx:202
Inject an event onto the same bus onEvent and scenario triggers read.
Parameters
event
Returns
void
fs
> fs: XPFsApi
Defined in: src/components/XPBridge.tsx:180
Filesystem actuation.
getShareUrl
> getShareUrl: (windowId) => string | null
Defined in: src/components/XPBridge.tsx:172
Build a shareable permalink (?open=…) that reproduces windowId on a fresh load (#136). Returns null for component-only windows (no source path) or without a DOM.
Parameters
windowId
string
Returns
string | null
getSnapshot
> getSnapshot: () => XPSnapshot
Defined in: src/components/XPBridge.tsx:222
Capture the full desktop state as a portable, versioned snapshot (#117).
Returns
loadSnapshot
> loadSnapshot: (snapshot) => Promise<void>
Defined in: src/components/XPBridge.tsx:227
Replace this instance's state with a snapshot and reload to rehydrate. Throws XPSnapshotVersionError for a missing/too-new version.
Parameters
snapshot
Returns
Promise<void>
notify
> notify: (options) => string
Defined in: src/components/XPBridge.tsx:200
Pop an XP tray balloon notification (#118). Returns the notification id.
Parameters
options
Returns
string
openApp
> openApp: (appId, props?) => string | null
Defined in: src/components/XPBridge.tsx:155
Open a registered app by id, optionally passing component props.
Parameters
appId
string
props?
Record<string, unknown>
Returns
string | null
openExternal
> openExternal: (url, opts?) => void
Defined in: src/components/XPBridge.tsx:166
Follow a link out of the fiction to a real URL (#136). New tab by default; pass { newTab: false } to navigate the current tab. Emits link:external.
Parameters
url
string
opts?
newTab?
boolean
Returns
void
openFile
> openFile: (path) => string | null
Defined in: src/components/XPBridge.tsx:161
Open a filesystem node by absolute path (resolves the right app). This is a privileged host operation and does not show user password gates; use the desktop or Explorer when emulating user navigation.
Parameters
path
string[]
Returns
string | null
print
> print: object
Defined in: src/components/XPBridge.tsx:192
Data-driven virtual print spooler (#276).
addJob
> addJob: (job) => void
Parameters
job
Omit<PrintJob, "submittedAt"> & object
Returns
void
removeJob
> removeJob: (id) => void
Parameters
id
string
Returns
void
updateJob
> updateJob: (id, updates) => void
Parameters
id
string
updates
Partial<PrintJob>
Returns
void
qq
> qq: XPQQApi
Defined in: src/components/XPBridge.tsx:188
QQ Messenger actuation (#119).
reset
> reset: () => void
Defined in: src/components/XPBridge.tsx:178
Clear all persisted desktop state (localStorage + IndexedDB) and reload.
Returns
void
scenario
> scenario: XPScenarioApi
Defined in: src/components/XPBridge.tsx:220
Rehearsal / deterministic seek over the scenario's walkthrough (#207).
schedule
> schedule: (options) => string
Defined in: src/components/XPBridge.tsx:208
Schedule an event to fire after a delay or at a wall-clock deadline (#130). Pending schedules persist per instance and fire on next load if the deadline passed while the page was closed. Returns the schedule id.
Parameters
options
Returns
string
session
> session: XPSessionApi
Defined in: src/components/XPBridge.tsx:182
Session control.
showAlert
> showAlert: (title, message) => void
Defined in: src/components/XPBridge.tsx:176
Show an XP dialog.
Parameters
title
string
message
string
Returns
void
sound
> sound: object
Defined in: src/components/XPBridge.tsx:198
Play a named XP system sound.
play
> play: (name) => void
Parameters
name
string
Returns
void
startLesson
> startLesson: (lessonId, mode?) => boolean
Defined in: src/components/XPBridge.tsx:216
Start a guided lesson by id (#141) in try (default), do, or watch mode. Returns false if no lesson with that id was registered via the lessons prop. Emits lesson:* events; progress persists per instance.
Parameters
lessonId
string
mode?
Returns
boolean
stopLesson
> stopLesson: () => void
Defined in: src/components/XPBridge.tsx:218
Stop the running lesson and clear its saved progress (#141).
Returns
void
windows
> windows: XPWindowsApi
Defined in: src/components/XPBridge.tsx:186
Window introspection + control.