From a2b924d7e9492b978ad6dc33b6c1ffcb304b4bc5 Mon Sep 17 00:00:00 2001 From: Nippy Date: Sat, 9 May 2026 13:33:09 +0200 Subject: raveos update --- .../PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml | 97 ------------- .../PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml | 151 --------------------- .../PLUGINS/ExampleEmojiPlugin/README.md | 52 ------- .../PLUGINS/ExampleEmojiPlugin/plugin.json | 16 --- 4 files changed, 316 deletions(-) delete mode 100644 raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml delete mode 100644 raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml delete mode 100644 raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/README.md delete mode 100644 raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/plugin.json (limited to 'raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin') diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml deleted file mode 100644 index aa38bc9..0000000 --- a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml +++ /dev/null @@ -1,97 +0,0 @@ -import QtQuick -import qs.Common -import qs.Widgets -import qs.Modules.Plugins - -PluginSettings { - id: root - pluginId: "exampleEmojiPlugin" - - // Header section to explain what this plugin does - StyledText { - width: parent.width - text: "Emoji Cycler Settings" - font.pixelSize: Theme.fontSizeLarge - font.weight: Font.Bold - color: Theme.surfaceText - } - - StyledText { - width: parent.width - text: "Configure which emojis appear in your bar, how quickly they cycle, and how many show at once." - font.pixelSize: Theme.fontSizeSmall - color: Theme.surfaceVariantText - wrapMode: Text.WordWrap - } - - // Dropdown to select which emoji set to use - SelectionSetting { - settingKey: "emojiSet" - label: "Emoji Set" - description: "Choose which collection of emojis to cycle through" - options: [ - {label: "Happy & Sad", value: "happySad"}, - {label: "Hearts", value: "hearts"}, - {label: "Hand Gestures", value: "hands"}, - {label: "All Mixed", value: "mixed"} - ] - defaultValue: "happySad" - - // Update the actual emoji array when selection changes - onValueChanged: { - const sets = { - "happySad": ["๐Ÿ˜Š", "๐Ÿ˜ข", "๐Ÿ˜‚", "๐Ÿ˜ญ", "๐Ÿ˜", "๐Ÿ˜ก"], - "hearts": ["โค๏ธ", "๐Ÿงก", "๐Ÿ’›", "๐Ÿ’š", "๐Ÿ’™", "๐Ÿ’œ", "๐Ÿ–ค", "๐Ÿค"], - "hands": ["๐Ÿ‘", "๐Ÿ‘Ž", "๐Ÿ‘Š", "โœŒ๏ธ", "๐Ÿค˜", "๐Ÿ‘Œ", "โœ‹", "๐Ÿคš"], - "mixed": ["๐Ÿ˜Š", "โค๏ธ", "๐Ÿ‘", "๐ŸŽ‰", "๐Ÿ”ฅ", "โœจ", "๐ŸŒŸ", "๐Ÿ’ฏ"] - } - const newEmojis = sets[value] || sets["happySad"] - root.saveValue("emojis", newEmojis) - } - - Component.onCompleted: { - // Initialize the emojis array on first load - const currentSet = value || defaultValue - const sets = { - "happySad": ["๐Ÿ˜Š", "๐Ÿ˜ข", "๐Ÿ˜‚", "๐Ÿ˜ญ", "๐Ÿ˜", "๐Ÿ˜ก"], - "hearts": ["โค๏ธ", "๐Ÿงก", "๐Ÿ’›", "๐Ÿ’š", "๐Ÿ’™", "๐Ÿ’œ", "๐Ÿ–ค", "๐Ÿค"], - "hands": ["๐Ÿ‘", "๐Ÿ‘Ž", "๐Ÿ‘Š", "โœŒ๏ธ", "๐Ÿค˜", "๐Ÿ‘Œ", "โœ‹", "๐Ÿคš"], - "mixed": ["๐Ÿ˜Š", "โค๏ธ", "๐Ÿ‘", "๐ŸŽ‰", "๐Ÿ”ฅ", "โœจ", "๐ŸŒŸ", "๐Ÿ’ฏ"] - } - const emojis = sets[currentSet] || sets["happySad"] - root.saveValue("emojis", emojis) - } - } - - // Slider to control how fast emojis cycle (in milliseconds) - SliderSetting { - settingKey: "cycleInterval" - label: "Cycle Speed" - description: "How quickly emojis rotate (in seconds)" - defaultValue: 3000 - minimum: 500 - maximum: 10000 - unit: "ms" - leftIcon: "schedule" - } - - // Slider to control max emojis shown in the bar - SliderSetting { - settingKey: "maxBarEmojis" - label: "Max Bar Emojis" - description: "Maximum number of emojis to display in the bar at once" - defaultValue: 3 - minimum: 1 - maximum: 8 - unit: "" - rightIcon: "emoji_emotions" - } - - StyledText { - width: parent.width - text: "๐Ÿ’ก Tip: Click the emoji widget in your bar to open the emoji picker and copy any emoji to your clipboard!" - font.pixelSize: Theme.fontSizeSmall - color: Theme.surfaceVariantText - wrapMode: Text.WordWrap - } -} diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml deleted file mode 100644 index 6142692..0000000 --- a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml +++ /dev/null @@ -1,151 +0,0 @@ -import QtQuick -import Quickshell -import qs.Common -import qs.Services -import qs.Widgets -import qs.Modules.Plugins - -PluginComponent { - id: root - - layerNamespacePlugin: "emoji-cycler" - - property var enabledEmojis: pluginData.emojis || ["๐Ÿ˜Š", "๐Ÿ˜ข", "โค๏ธ"] - property int cycleInterval: pluginData.cycleInterval || 3000 - property int maxBarEmojis: pluginData.maxBarEmojis || 3 - - property int currentIndex: 0 - property var displayedEmojis: [] - - Timer { - interval: root.cycleInterval - running: true - repeat: true - onTriggered: { - if (root.enabledEmojis.length > 0) { - root.currentIndex = (root.currentIndex + 1) % root.enabledEmojis.length - root.updateDisplayedEmojis() - } - } - } - - function updateDisplayedEmojis() { - const maxToShow = Math.min(root.maxBarEmojis, root.enabledEmojis.length) - let emojis = [] - for (let i = 0; i < maxToShow; i++) { - const idx = (root.currentIndex + i) % root.enabledEmojis.length - emojis.push(root.enabledEmojis[idx]) - } - root.displayedEmojis = emojis - } - - Component.onCompleted: { - updateDisplayedEmojis() - } - - onEnabledEmojisChanged: updateDisplayedEmojis() - onMaxBarEmojisChanged: updateDisplayedEmojis() - - horizontalBarPill: Component { - Row { - id: emojiRow - spacing: Theme.spacingXS - - Repeater { - model: root.displayedEmojis - StyledText { - text: modelData - font.pixelSize: Theme.fontSizeLarge - } - } - } - } - - verticalBarPill: Component { - Column { - id: emojiColumn - spacing: Theme.spacingXS - - Repeater { - model: root.displayedEmojis - StyledText { - text: modelData - font.pixelSize: Theme.fontSizeMedium - anchors.horizontalCenter: parent.horizontalCenter - } - } - } - } - - popoutContent: Component { - PopoutComponent { - id: popoutColumn - - headerText: "Emoji Picker" - detailsText: "Click an emoji to copy it to clipboard" - showCloseButton: true - - property var allEmojis: [ - "๐Ÿ˜€", "๐Ÿ˜ƒ", "๐Ÿ˜„", "๐Ÿ˜", "๐Ÿ˜†", "๐Ÿ˜…", "๐Ÿคฃ", "๐Ÿ˜‚", "๐Ÿ™‚", "๐Ÿ™ƒ", - "๐Ÿ˜‰", "๐Ÿ˜Š", "๐Ÿ˜‡", "๐Ÿฅฐ", "๐Ÿ˜", "๐Ÿคฉ", "๐Ÿ˜˜", "๐Ÿ˜—", "๐Ÿ˜š", "๐Ÿ˜™", - "๐Ÿ˜‹", "๐Ÿ˜›", "๐Ÿ˜œ", "๐Ÿคช", "๐Ÿ˜", "๐Ÿค‘", "๐Ÿค—", "๐Ÿคญ", "๐Ÿคซ", "๐Ÿค”", - "๐Ÿค", "๐Ÿคจ", "๐Ÿ˜", "๐Ÿ˜‘", "๐Ÿ˜ถ", "๐Ÿ˜", "๐Ÿ˜’", "๐Ÿ™„", "๐Ÿ˜ฌ", "๐Ÿคฅ", - "๐Ÿ˜Œ", "๐Ÿ˜”", "๐Ÿ˜ช", "๐Ÿคค", "๐Ÿ˜ด", "๐Ÿ˜ท", "๐Ÿค’", "๐Ÿค•", "๐Ÿคข", "๐Ÿคฎ", - "๐Ÿคง", "๐Ÿฅต", "๐Ÿฅถ", "๐Ÿ˜ถโ€๐ŸŒซ๏ธ", "๐Ÿ˜ต", "๐Ÿ˜ตโ€๐Ÿ’ซ", "๐Ÿคฏ", "๐Ÿค ", "๐Ÿฅณ", "๐Ÿ˜Ž", - "๐Ÿค“", "๐Ÿง", "๐Ÿ˜•", "๐Ÿ˜Ÿ", "๐Ÿ™", "โ˜น๏ธ", "๐Ÿ˜ฎ", "๐Ÿ˜ฏ", "๐Ÿ˜ฒ", "๐Ÿ˜ณ", - "๐Ÿฅบ", "๐Ÿ˜ฆ", "๐Ÿ˜ง", "๐Ÿ˜จ", "๐Ÿ˜ฐ", "๐Ÿ˜ฅ", "๐Ÿ˜ข", "๐Ÿ˜ญ", "๐Ÿ˜ฑ", "๐Ÿ˜–", - "๐Ÿ˜ฃ", "๐Ÿ˜ž", "๐Ÿ˜“", "๐Ÿ˜ฉ", "๐Ÿ˜ซ", "๐Ÿฅฑ", "๐Ÿ˜ค", "๐Ÿ˜ก", "๐Ÿ˜ ", "๐Ÿคฌ", - "โค๏ธ", "๐Ÿงก", "๐Ÿ’›", "๐Ÿ’š", "๐Ÿ’™", "๐Ÿ’œ", "๐Ÿ–ค", "๐Ÿค", "๐ŸคŽ", "๐Ÿ’”", - "โค๏ธโ€๐Ÿ”ฅ", "โค๏ธโ€๐Ÿฉน", "๐Ÿ’•", "๐Ÿ’ž", "๐Ÿ’“", "๐Ÿ’—", "๐Ÿ’–", "๐Ÿ’˜", "๐Ÿ’", "๐Ÿ’Ÿ", - "๐Ÿ‘", "๐Ÿ‘Ž", "๐Ÿ‘Š", "โœŠ", "๐Ÿค›", "๐Ÿคœ", "๐Ÿคž", "โœŒ๏ธ", "๐ŸคŸ", "๐Ÿค˜", - "๐Ÿ‘Œ", "๐ŸคŒ", "๐Ÿค", "๐Ÿ‘ˆ", "๐Ÿ‘‰", "๐Ÿ‘†", "๐Ÿ‘‡", "โ˜๏ธ", "โœ‹", "๐Ÿคš" - ] - - Item { - width: parent.width - implicitHeight: root.popoutHeight - popoutColumn.headerHeight - popoutColumn.detailsHeight - Theme.spacingXL - - DankGridView { - id: emojiGrid - anchors.horizontalCenter: parent.horizontalCenter - width: Math.floor(parent.width / 50) * 50 - height: parent.height - clip: true - cellWidth: 50 - cellHeight: 50 - model: popoutColumn.allEmojis - - delegate: StyledRect { - width: 45 - height: 45 - radius: Theme.cornerRadius - color: emojiMouseArea.containsMouse ? Theme.surfaceContainerHighest : Theme.surfaceContainerHigh - border.width: 0 - - StyledText { - anchors.centerIn: parent - text: modelData - font.pixelSize: Theme.fontSizeXLarge - } - - MouseArea { - id: emojiMouseArea - anchors.fill: parent - hoverEnabled: true - cursorShape: Qt.PointingHandCursor - - onClicked: { - Quickshell.execDetached(["dms", "cl", "copy", modelData]) - ToastService.showInfo("Copied " + modelData + " to clipboard") - popoutColumn.closePopout() - } - } - } - } - } - } - } - - popoutWidth: 400 - popoutHeight: 500 -} diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/README.md b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/README.md deleted file mode 100644 index 9102dda..0000000 --- a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/README.md +++ /dev/null @@ -1,52 +0,0 @@ -# Emoji Cycler Plugin - -An example dms plugin that displays cycling emojis in your bar with an emoji picker popout. - -## Features - -- **Cycling Emojis**: Automatically rotates through your selected emoji set in the bar -- **Emoji Picker**: Click the widget to open a grid of 120+ emojis -- **Copy to Clipboard**: Click any emoji in the picker to copy it to clipboard -- **Customizable**: Choose emoji sets, cycle speed, and max emojis shown - -## Installation - -1. Copy this directory to `~/.config/DankMaterialShell/plugins/ExampleEmojiPlugin` -2. Open DMS Settings โ†’ Plugins -3. Click "Scan for Plugins" -4. Enable "Emoji Cycler" -5. Add `exampleEmojiPlugin` to your DankBar widget list - -## Settings - -### Emoji Set -Choose from different emoji collections: -- **Happy & Sad**: Mix of emotional faces -- **Hearts**: Various colored hearts -- **Hand Gestures**: Thumbs up, peace signs, etc. -- **All Mixed**: A bit of everything - -### Cycle Speed -Control how fast emojis rotate (500ms - 10000ms) - -### Max Bar Emojis -How many emojis to display at once (1-8) - -## Usage - -**In the bar**: Watch emojis cycle through automatically -**Click the widget**: Opens emoji picker with 120+ emojis -**Click any emoji**: Copies it to clipboard and shows toast - -## Example Code Highlights - -This plugin demonstrates: -- Using `PluginComponent` for bar integration -- `SelectionSetting`, `SliderSetting` for configuration -- Timer-based animation -- Popout content with grid layout -- External command execution (`Quickshell.execDetached`) -- Toast notifications (`ToastService.show`) -- Dynamic settings loading/saving - -Perfect template for creating your own DMS plugins! diff --git a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/plugin.json b/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/plugin.json deleted file mode 100644 index ef16d01..0000000 --- a/raveos-hyprland-theme/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/plugin.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "id": "exampleEmojiPlugin", - "name": "Emoji Cycler", - "description": "Display cycling emojis in your bar with a handy emoji picker popout", - "version": "1.0.0", - "author": "AvengeMedia", - "type": "widget", - "capabilities": ["emoji-search", "clipboard", "dankbar-widget"], - "component": "./EmojiWidget.qml", - "icon": "mood", - "settings": "./EmojiSettings.qml", - "permissions": [ - "settings_read", - "settings_write" - ] -} -- cgit v1.3