diff options
| author | Nippy <nippy@rp1.hu> | 2026-05-08 19:50:49 +0200 |
|---|---|---|
| committer | Nippy <nippy@rp1.hu> | 2026-05-08 19:50:49 +0200 |
| commit | 3462bcc46ecf74f576ea4397f16492c16bd75b10 (patch) | |
| tree | c5ab7aef4498647e057bda8d49c11e5f9dda74c9 /raveos-hyprland-theme/theme-data/dms/Modules/ControlCenter/utils/widgets.js | |
| parent | 56616f693b4f263cbf0d47da43b67424efa6022d (diff) | |
| download | RaveOS-PKGBUILD-3462bcc46ecf74f576ea4397f16492c16bd75b10.tar.gz RaveOS-PKGBUILD-3462bcc46ecf74f576ea4397f16492c16bd75b10.zip | |
raveos update
Diffstat (limited to 'raveos-hyprland-theme/theme-data/dms/Modules/ControlCenter/utils/widgets.js')
| -rw-r--r-- | raveos-hyprland-theme/theme-data/dms/Modules/ControlCenter/utils/widgets.js | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/dms/Modules/ControlCenter/utils/widgets.js b/raveos-hyprland-theme/theme-data/dms/Modules/ControlCenter/utils/widgets.js new file mode 100644 index 0000000..3e11d88 --- /dev/null +++ b/raveos-hyprland-theme/theme-data/dms/Modules/ControlCenter/utils/widgets.js @@ -0,0 +1,90 @@ +function getWidgetForId(baseWidgetDefinitions, widgetId) { + return baseWidgetDefinitions.find(w => w.id === widgetId) +} + +function addWidget(widgetId) { + var widgets = SettingsData.controlCenterWidgets.slice() + var widget = { + "id": widgetId, + "enabled": true, + "width": 50 + } + + if (widgetId === "diskUsage") { + widget.instanceId = generateUniqueId() + widget.mountPath = "/" + } + + if (widgetId === "brightnessSlider") { + widget.instanceId = generateUniqueId() + widget.deviceName = "" + } + + widgets.push(widget) + SettingsData.set("controlCenterWidgets", widgets) +} + +function generateUniqueId() { + return Date.now().toString(36) + Math.random().toString(36).substr(2) +} + +function removeWidget(index) { + var widgets = SettingsData.controlCenterWidgets.slice() + if (index >= 0 && index < widgets.length) { + widgets.splice(index, 1) + SettingsData.set("controlCenterWidgets", widgets) + } +} + +function toggleWidgetSize(index) { + var widgets = SettingsData.controlCenterWidgets.slice() + if (index >= 0 && index < widgets.length) { + const currentWidth = widgets[index].width || 50 + const id = widgets[index].id || "" + + if (id === "wifi" || id === "bluetooth" || id === "audioOutput" || id === "audioInput") { + widgets[index].width = currentWidth <= 50 ? 100 : 50 + } else { + if (currentWidth <= 25) { + widgets[index].width = 50 + } else if (currentWidth <= 50) { + widgets[index].width = 100 + } else { + widgets[index].width = 25 + } + } + + SettingsData.set("controlCenterWidgets", widgets) + } +} + +function reorderWidgets(newOrder) { + SettingsData.set("controlCenterWidgets", newOrder) +} + +function moveWidget(fromIndex, toIndex) { + let widgets = [...(SettingsData.controlCenterWidgets || [])] + if (fromIndex >= 0 && fromIndex < widgets.length && toIndex >= 0 && toIndex < widgets.length) { + const movedWidget = widgets.splice(fromIndex, 1)[0] + widgets.splice(toIndex, 0, movedWidget) + SettingsData.set("controlCenterWidgets", widgets) + } +} + +function resetToDefault() { + const defaultWidgets = [ + {"id": "volumeSlider", "enabled": true, "width": 50}, + {"id": "brightnessSlider", "enabled": true, "width": 50}, + {"id": "wifi", "enabled": true, "width": 50}, + {"id": "bluetooth", "enabled": true, "width": 50}, + {"id": "audioOutput", "enabled": true, "width": 50}, + {"id": "audioInput", "enabled": true, "width": 50}, + {"id": "nightMode", "enabled": true, "width": 50}, + {"id": "darkMode", "enabled": true, "width": 50} + ] + SettingsData.set("controlCenterWidgets", defaultWidgets) +} + +function clearAll() { + SettingsData.set("controlCenterWidgets", []) +} |