diff options
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin')
4 files changed, 0 insertions, 316 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml deleted file mode 100644 index aa38bc9..0000000 --- a/raveos-theme/hyprland/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-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml deleted file mode 100644 index 6142692..0000000 --- a/raveos-theme/hyprland/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-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/README.md b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/README.md deleted file mode 100644 index 9102dda..0000000 --- a/raveos-theme/hyprland/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-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/plugin.json b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/plugin.json deleted file mode 100644 index ef16d01..0000000 --- a/raveos-theme/hyprland/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" - ] -} |