summaryrefslogtreecommitdiff
path: root/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin')
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiSettings.qml97
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/EmojiWidget.qml151
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/README.md52
-rw-r--r--raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/PLUGINS/ExampleEmojiPlugin/plugin.json16
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"
- ]
-}