diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2025-08-14 16:15:32 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2025-08-14 16:15:32 +0800 |
| commit | e20c465cd276c2c80c253f1b4c201c8e56f1e980 (patch) | |
| tree | c30b3f36fc2049012cd2ae4de80d4945be800311 /services | |
| parent | 8b45c0c2506e54fccbdb83b423be627a7a43f56e (diff) | |
perf: delayed heavy processing
seems stupid but it actually allows the UI thread to get priority and
render first, giving a more smooth expereince
Diffstat (limited to 'services')
| -rw-r--r-- | services/Clip.qml | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/services/Clip.qml b/services/Clip.qml index 1bf78d0..b83c6d8 100644 --- a/services/Clip.qml +++ b/services/Clip.qml @@ -87,8 +87,15 @@ Searchable { running: true command: ["cliphist", "-preview-width", 9 ** 9, "-max-items", 9 ** 9, "list"] stdout: StdioCollector { + property bool pending: false onStreamFinished: () => { - _clipHist = this.text.split(/\r?\n/); + pending = true; + Qt.callLater(() => { + if (pending) { + pending = false; + _clipHist = this.text.split(/\r?\n/); + } + }); } } } @@ -98,8 +105,15 @@ Searchable { running: true command: ["sh", Quickshell.shellDir + "/utils/cliphist-img.sh"] stdout: StdioCollector { + property bool pending: false onStreamFinished: () => { - _clipImg = this.text.split(/\r?\n/); + pending = true; + Qt.callLater(() => { + if (pending) { + pending = false; + _clipImg = this.text.split(/\r?\n/); + } + }); } } } @@ -122,7 +136,6 @@ Searchable { stdout: SplitParser { onRead: line => { - console.log('h'); _update(); } } |
