Share verified native Where Am I speech with Remote

This commit is contained in:
ak47 committed 2026-11-05 19:04:09 -05:00
1 parent ee3d91af23
commit 8631c5a601
15 files changed
+473 -12

No files matched your search

+20
View File
@@ -22,6 +22,26 @@ func (adapter *Adapter) ReadFocusedLine(ctx context.Context, focus ObjectID) (Do
return result.content, err
}
// ReadFocusedSnapshot captures presentation and privacy metadata together on
// the GLib owner. It neither moves focus nor changes the native caret.
func (adapter *Adapter) ReadFocusedSnapshot(ctx context.Context, focus ObjectID) (DocumentContent, error) {
result, err := adapter.documentOperation(ctx, treeCaptureRequest{reviewFocus: focus, readFocusedSnapshot: true})
return result.content, err
}
func (adapter *Adapter) read_native_focused_snapshot(ctx context.Context, focus ObjectID) (DocumentContent, error) {
if err := ctx.Err(); err != nil {
return DocumentContent{}, err
}
if !adapter.nativeFocusIs(focus) {
return DocumentContent{}, ErrStaleObject
}
source := adapter.nativeFocus[len(adapter.nativeFocus)-1].source
C.atspi_accessible_clear_cache_single(source)
snapshot := snapshotFromNativeWithCaret(source, true, false, false, false)
return DocumentContent{Snapshot: snapshot, SourceContext: native_focused_line_context(ctx, source)}, ctx.Err()
}
func (adapter *Adapter) read_native_focused_line(ctx context.Context, focus ObjectID) (content DocumentContent, err error) {
if err := ctx.Err(); err != nil {
return DocumentContent{}, err