summaryrefslogtreecommitdiff
path: root/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/LauncherExample/LauncherExampleLauncher.qml
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/LauncherExample/LauncherExampleLauncher.qml')
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/LauncherExample/LauncherExampleLauncher.qml140
1 files changed, 0 insertions, 140 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/LauncherExample/LauncherExampleLauncher.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/LauncherExample/LauncherExampleLauncher.qml
deleted file mode 100644
index 81040b6..0000000
--- a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/LauncherExample/LauncherExampleLauncher.qml
+++ /dev/null
@@ -1,140 +0,0 @@
-import QtQuick
-import Quickshell
-import qs.Services
-
-Item {
- id: root
-
- // Plugin properties
- property var pluginService: null
- property string trigger: "#"
-
- // Plugin interface signals
- signal itemsChanged()
-
- Component.onCompleted: {
- console.info("LauncherExample: Plugin loaded")
-
- // Load custom trigger from settings
- if (pluginService) {
- trigger = pluginService.loadPluginData("launcherExample", "trigger", "#")
- }
- }
-
- // Required function: Get items for launcher
- function getItems(query) {
- const baseItems = [
- {
- name: "Test Item 1",
- icon: "material:lightbulb",
- comment: "This is a test item that shows a toast notification",
- action: "toast:Test Item 1 executed!",
- categories: ["LauncherExample"]
- },
- {
- name: "Test Item 2",
- icon: "material:star",
- comment: "Another test item with different action",
- action: "toast:Test Item 2 clicked!",
- categories: ["LauncherExample"]
- },
- {
- name: "Test Item 3",
- icon: "material:favorite",
- comment: "Third test item for demonstration",
- action: "toast:Test Item 3 activated!",
- categories: ["LauncherExample"]
- },
- {
- name: "Unicode Icon Example",
- icon: "unicode:🚀",
- comment: "Demonstrates unicode/emoji icon support",
- action: "toast:Unicode icons work great!",
- categories: ["LauncherExample"]
- },
- {
- name: "Example Copy Action",
- icon: "material:content_copy",
- comment: "Demonstrates copying text to clipboard",
- action: "copy:This text was copied by the launcher plugin!",
- categories: ["LauncherExample"]
- },
- {
- name: "Example Script Action",
- icon: "material:terminal",
- comment: "Demonstrates running a simple command",
- action: "script:echo 'Hello from launcher plugin!'",
- categories: ["LauncherExample"]
- }
- ]
-
- if (!query || query.length === 0) {
- return baseItems
- }
-
- // Filter items based on query
- const lowerQuery = query.toLowerCase()
- return baseItems.filter(item => {
- return item.name.toLowerCase().includes(lowerQuery) ||
- item.comment.toLowerCase().includes(lowerQuery)
- })
- }
-
- // Required function: Execute item action
- function executeItem(item) {
- if (!item || !item.action) {
- console.warn("LauncherExample: Invalid item or action")
- return
- }
-
- console.log("LauncherExample: Executing item:", item.name, "with action:", item.action)
-
- const actionParts = item.action.split(":")
- const actionType = actionParts[0]
- const actionData = actionParts.slice(1).join(":")
-
- switch (actionType) {
- case "toast":
- showToast(actionData)
- break
- case "copy":
- copyToClipboard(actionData)
- break
- case "script":
- runScript(actionData)
- break
- default:
- console.warn("LauncherExample: Unknown action type:", actionType)
- showToast("Unknown action: " + actionType)
- }
- }
-
- // Helper functions for different action types
- function showToast(message) {
- if (typeof ToastService !== "undefined") {
- ToastService.showInfo("LauncherExample", message)
- } else {
- console.log("LauncherExample Toast:", message)
- }
- }
-
- function copyToClipboard(text) {
- Quickshell.execDetached(["dms", "cl", "copy", text])
- showToast("Copied to clipboard: " + text)
- }
-
- function runScript(command) {
- console.log("LauncherExample: Would run script:", command)
- showToast("Script executed: " + command)
-
- // In a real plugin, you might create a Process component here
- // For demo purposes, we just show what would happen
- }
-
- // Watch for trigger changes
- onTriggerChanged: {
- if (pluginService) {
- pluginService.savePluginData("launcherExample", "trigger", trigger)
- }
- }
-}