summaryrefslogtreecommitdiff
path: root/services
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-08-14 16:15:32 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-08-14 16:15:32 +0800
commite20c465cd276c2c80c253f1b4c201c8e56f1e980 (patch)
treec30b3f36fc2049012cd2ae4de80d4945be800311 /services
parent8b45c0c2506e54fccbdb83b423be627a7a43f56e (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.qml19
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();
}
}