import QtQuick import qs.config import qs.services SettingsPage { id: root title: "Screen Intelligence" lede: "Turn text and codes on screen into content you can use." Component.onCompleted: ScreenIntelligence.refresh() Timer { id: launchDelay interval: 180 onTriggered: Capture.openIntelligence() } SettingsCard { title: "Read anything on screen" subtitle: "Select a region, window, or display. It is recognized locally, with clean follow-up actions." SettingRow { icon: "󰗊" label: "Read screen text" detail: "Copy, search, translate, or open detected links" controlWidth: 160 divider: false SettingsButton { anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter text: "Start reading" tone: "accent" enabled: ScreenIntelligence.ocrReady && ScreenIntelligence.englishReady onClicked: { ShellState.closeSettings(); launchDelay.restart(); } } } } SettingsCard { title: "Capture preferences" subtitle: "Choose where captures go and how recordings are encoded." ChoiceRow { setting: "screenshotDir" } ChoiceRow { setting: "recordingDir" } ChoiceRow { setting: "recorderArgs"; divider: false } } SettingsCard { title: "Local recognition" subtitle: "The screen image stays in a local cache and is deleted when you dismiss the result." TextRow { label: "Text recognition" detail: "Tesseract with the English language model" value: ScreenIntelligence.ocrReady && ScreenIntelligence.englishReady ? "Ready" : "Needs install" } TextRow { label: "QR & barcodes" detail: "ZBar recognizes codes alongside ordinary text" value: ScreenIntelligence.codeReady ? "Ready" : "Needs install" } TextRow { label: "Privacy" detail: "Only Search, Translate, and Open send the selected result to another application or service" value: "Local first" divider: false } } SettingsCard { title: "Shortcut" TextRow { label: "Read a screen selection" detail: "Also available as Read in the Print-screen picker" value: "Super + Shift + S" controlWidth: 190 divider: ScreenIntelligence.ocrReady && ScreenIntelligence.codeReady && ScreenIntelligence.englishReady } TextRow { visible: !ScreenIntelligence.ocrReady || !ScreenIntelligence.codeReady || !ScreenIntelligence.englishReady label: "Install recognition engines" detail: "sudo dnf install -y tesseract zbar" value: "Required once" divider: false } } }