summaryrefslogtreecommitdiff
path: root/launcher/components/SelectionState.qml
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-08-05 17:25:30 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-08-05 17:25:30 +0800
commitf9efa56caeeb5289d6b2314e50041a1b7055a3c8 (patch)
tree8a9e5b59f8690555ba8ad51f653db02d9483e2a7 /launcher/components/SelectionState.qml
parentf6b5ac3cfba03602fea9d8c30b13075514dbd131 (diff)
feat: add launcher support and image clipboard history utility
- Integrated a new Launcher component into the shell.qml for improved application launching. - Implemented an IPC handler to toggle the launcher visibility. - Added a new script (cliphist-img.sh) to manage image history from the clipboard. - Removed the outdated fuzzysort.js utility to streamline the codebase. - Refactored the Levenshtein distance algorithm for better performance and clarity.
Diffstat (limited to 'launcher/components/SelectionState.qml')
-rw-r--r--launcher/components/SelectionState.qml27
1 files changed, 27 insertions, 0 deletions
diff --git a/launcher/components/SelectionState.qml b/launcher/components/SelectionState.qml
new file mode 100644
index 0000000..00d2420
--- /dev/null
+++ b/launcher/components/SelectionState.qml
@@ -0,0 +1,27 @@
+pragma Singleton
+import Quickshell
+import QtQuick
+
+Singleton {
+ property Item selected: null
+ property string input: ""
+ property int cursorPosition: 0
+ property var priorities: []
+ property var widgets: []
+
+ // order them based on widgets(which came from order from config)
+ onPrioritiesChanged: {
+ // priorities = priorities.filter(item => item.priority === true); // bind loop
+ // dunno y ts works w/o triggering a binding loop but okay..
+ for (let i = 0; i < priorities.length; i++)
+ if (priorities[i].priority !== true)
+ priorities.splice(i, 1);
+
+ priorities.sort((a, b) => widgets.indexOf(a) - widgets.indexOf(b));
+ priorities.forEach((item, index) => {});
+ }
+
+ function clear() {
+ selected = null;
+ }
+}